科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道3721的危害及删除方法

3721的危害及删除方法

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

很多人上网的时候总会发现经常会跳出一个3721的安装窗口,很多人还为此想出了很多方法屏蔽它,可3721公司还是一次次的挑战网民的忍耐力和承受能力。
  • 评论
  • 分享微博
  • 分享邮件

  很多人上网的时候总会发现经常会跳出一个3721的安装窗口,很多人还为此想出了很多方法屏蔽它,可3721公司还是一次次的挑战网民的忍耐力和承受能力。不断在技术上进行改进,以达到使网民无法屏蔽该公司网络实名客户端的目的。面对网民愤怒的谴责和自发的屏蔽行动,3721公司显然是准备不惜一切代价与这些在其眼里是“刁民”的网友战斗到底。

  近日,我们再次发现,3721公司进一步改进了他们的“反”屏蔽技术。通过该方法,即使用户选择了卸载该客户端,网络实名的客户端也将“永久”的驻留在用户的计算机系统中。除非用户重新安装其计算机系统,否则,无法手动清除该程序。 在用户浏览网页时,弹出的安装窗口,既没有使用协议,也没有明示程序的发布公司,存在严重的欺诈行为。同时,该程序并不会在用户的计算机中建立“合法”的程序安装目录,而且用户通过一般手段,无法在自己的计算机系统中找到被安装的程序,这无疑严重危害了用户的计算机安全。 对于3721这样的行为,一些法律也专家认为,3721公司已经严重违反了中华人民共和国国务院于1997年颁布实施的《计算机信息网络国际联网安全保护管理办法》中的相关条款,以及《中华人民共和国消费者保护法》的相关内容。 在此,我们仅代表那些深受3721网络实名“病毒”之苦的用户,谴责3721公司这种毫无商业道德的行为。并且,希望国家有关部门,认真对待该事件,规范市场秩序,创造良好的市场环境。 新闻来源:木子工作室 cnbeta.com的成员gLaiVe提供这次3721所使用新“技术”的说明: 1、在设备驱动层加了保护,而且是boot时立即启动,即使在安全模式时也会启动。这个设备的名字叫做cnsminkp,驱动程序位于windows\system32\drivers\cnsminkp.sys。 2、cnsminkp.sys 一旦加载,无法用命令方式卸载这个驱动程序,即 net stop cnsminkp 也是无法停止这个驱动的。cnsminkp.sys 的文件日期是2004-02-15,是前几天才release出来的。 3、这个驱动不停地检测cnsminkp.sys 是否存在,cnsmin.dll是否存在,如果不存在,立即会重建这两个文件,并且不停检测service 和software 下面的注册表,确保cnsminkp这个服务的参数保持和它设置的一致,如果被改动,立即会恢复成原来的样子。另外,还确保在注册表run子键下始终存在cnsmin.dll,以达到开机立即运行的目的。 4、这种死皮赖脸的方式,是决心要在内存和硬盘上驻留cnsminkp.sys 和cnsmin.dll,使系统性能迅速下降。

  简单研究了一下3721的机制,写在这里,作为心得笔记吧。大部分收获都来自

  Softice + 反汇编,不一定适用于某些版本。

  1. CnsMin.dll的驻留方式

  3721的核心文件:CnsMin.dll

  通常存在于\Downloaded Program Files下。

  通过注册表Run键值加载:Rundll32 \CnsMin.dll, Rundll32

  CnsMin.dll提供了一个函数Rundll32供Rundll32.exe调用

  但这个函数只是调用一个真正的驻留函数Rundll32Main()。

  Rundll32Main()伪代码:

  void Rundll32Main()

  {

  hMutex = CreateMutex("CNSMINMUTEX");

  if(ERROR_ALREADY_EXISTS)

  {

  CloseHandle(hMutex);

  exit;

  }

  if(IsWindowsNT()) {

  SetProcessSecurityInfo();

  }

  else {

  RegisterProcessAsService();

  }

  CheckVersion();

  // CnsMinKP.sys/vxd 内核驱动程序,保护3721关键文件和注册表项不被删除

  ContactWithCnsMinKPDriver();

  // 关键的hook,负责将CnsMin.dll注入其他进程空间

  InstallCBTHook();

  // 关键的hook,负责将CnsMin.dll注入其他进程空间

  InstallCallWndProcHook();

  // CnsMinIO.dll 负责IE地址栏下方的提示

  InitCnsMinIO();

  // 一些注册表信息

  InitRegistry();

  // 保护CnsMin.dll的钩子不被卸载或抢先

  InstallGuardTimer();

  CreateMsgWindow();

  // Message loop

  while (true)

  {

  GetMessage(&msg);

  TranslateMessage(&msg);

  DispatchMessage(&msg);

  }

  }

  CnsMin主要是通过WH_CBT和WH_CALLWNDPROC两个全局钩子注入IE进程空间的。注入

  IE后,又安装了WH_KEYBOARD,WH_DEBUG等钩子。其中对3721实现其“实名转换”

  有用的是WH_KEYBOARD。这是一个本地钩子。

  CnsMin为了保证自己的优先级最高,用了一个定时器函数反复安装钩子,无疑会造成

  系统性能的下降。

  我曾经尝试过自己安装一个WH_DEBUG钩子阻止3721钩子的调用,确实起到了效果,

  立即可以使3721失效。但这种方法3721仍然驻留IE进程内,属于指标不治本的方法。

  强制结束Rundll32进程,可以暂时卸载3721的驻留代码。但CnsMin.dll通过COM注册已经

  嵌入IE组件中,重新启动IE后,该进程又会重新启动。

  2. 3721的防删除手段

  文件系统驱动:CnsMinKP*.sys 针对NT/2000/XP有不同版本(98下面是CnsMinKP.vxd)

  通常存在于\drivers\目录。

  驱动程序,由Windows启动时加载。

  该驱动程序过滤了对文件和注册表的删除操作。试图删除3721的关键文件和注册表项时,

  直接返回一个TRUE,使Windows认为删除已经成功,但文件和注册表实际上还是在那里。

  该驱动程序还有一个黑名单(保存在某个外部文件中),阻止Windows读取其他3721的

  竞争对手的插件文件。

  目前还没有找到停止该驱动的方法。

  删除方法:在Windows启动前(例如,98下面退出到DOS)删除CnsMinKP*.sys文件。

  注意:3721具有自恢复能力。某些关键文件被删除后,其它模块会试图从3721网站重新

  下载。所以彻底删除前需要断开网络连接。

  3. 针对目前版本的删除步骤:

  a) 运行3721自己提供的删除程序。可以删掉大部分的文件。

  b) 从DOS启动,删除残存文件,如CnsMin.dll,CnsMinKP*.*等

  可能的目录:Downloaded Program Files目录,Program Files\3721目录,drivers目录

  c) 启动Windows,进入桌面时Windows会报告一些模块找不到的错误,不用理会,删除

  注册表中3721的值。

  可能的位置:HKEY_CURRENT_USER: Software\3721

  HKEY_LOCAL_MACHINE: Windows\CurrentVersion\Run

  SYSTEM\CurrentControlSet

  另外还零散的藏了一些,用关键字查找。

  另一方法:

  启动时按F8,进入安全模式,复制windows\system32\drivers 目录为drivers1,删除drivers1目录中的 cnsminkp.sys, 然后 点开始 --> 运行,输入cmd,回车,进入drivers目录,

  cd\

  cd windows\system32\drivers

  ren drivers drivers2

  ren drivers1 drivers

  为了保险起见,删掉drivers2 目录

  重启,ok.

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章