发新话题
打印

3721/雅虎助手类病毒的技术亮点和解决方案

3721/雅虎助手类病毒的技术亮点和解决方案

引用:
  

3721/雅虎助手类病毒的技术亮点和解决方案



(首届)中天杯网络安全知识大赛------3721/雅虎助手类病毒的技术亮点和解决方案

在安装了这个病毒后,在注册表中多处生成最为邪恶的CnsMinKP键值,同时在系统盘的windows/system32/drivers目录下生成CnsMinKP.sys文件,噩梦由此开始。 由于win2k/xp在启动的时候(包括安全模式)默认会自动运行windows/system32/drivers下面的所有驱动程序,于是CnsMinKP.sys被加载,而这个驱动的作用之一,就是保证windows/ Downloaded Program Files目录下的Cnshook.dll和CnsMin.dll以及其自身不被删除;Cnshook.dll的作用则是提供中文实名功能,CnsMin.dll作用在于使其驻留在ie进程内的时候。CnsMin为了保证自己的优先级最高,用了一个定时器函数反复安装钩子,因此造成系统性能下降,在测试的那台机器上,使得性能大概下降了20%左右。而且由于hook强行挂接的原因,当用户使用断点调试程序的时候将会导致频繁出错,这一点与早期版本的cih导致winzip操作和无法关机类似。
该病毒虽然自带一个所谓的“卸载程序”,但事实上核心部分的程序/注册表键值依然没有删除。而且该病毒更是利用各种技术手段,具有极其强大的反删除特性。 windows系统启机(包括安全模式下)便会加载windows/system32/drivers下的CnsMinKP.sys,该驱动该驱动程序过滤了对其自身及相关重要文件和注册表的删除操作。每当试图删除3721的关键文件和注册表项时,直接返回一个TRUE,使Windows认为删除已经成功,但文件和注册表实际上还是在那里。
技术亮点
不得不承认,3721这个病毒插件可称我作为网管以来面对的最难清除的病毒。近几年来病毒有几次质的突破:cih感染可升级的bios、红色代码打开windows的共享扩大战果、meliza让我们见识了什么是看得到源程序的病毒、mssqlserver蠕虫让我们留意到计算机病毒能攻击的不光是节点还有网络设备、冲击波病毒让我们认识到大量使用同一种操作系统时在出现安全漏洞时的可怕、美女图片病毒让我们知道了将欺骗艺术与软件漏洞结合的威力、而这次3721病毒首次展现了病毒强大的反删除特性,可说是在windows环境下无法杀除的病毒。虽然这是个良性病毒,对系统并没有破坏特性,但依据病毒的发展史,可以预见,这种几近完美的反删除技术将很快被其他病毒所利用,很快将被其他病毒所利用。届时结合网络传播,局网感染带强大反删除功能的病毒或许会让目前windows平台下的杀毒软件遭遇到最大的考验。而这次经历,也让我意识到微软的windows操作系统在人性化、美观化、傻瓜化的背后的危机。作为it同行,我个人对3721病毒作者所使用的种种技术表示钦佩,但新型病毒的潘多拉魔盒,已经被他们打开: 在目前已知的病毒历史上,之前只有几种病毒利用过windows nt下的system32/drivers 下的程序会被自动加载的特性来进行传播,但那些病毒本身编写地不够完善,会导致windows nt系统频繁蓝屏死机,象3721插件病毒这样完美地加载、驻留其他进程,只消耗主机资源,监测注册表及关键文件不导致系统出错的病毒,国内外尚属首次,在技术上比以前那些病毒更为成熟; 由于drivers目录下的CnsMinKP.sys启机必定加载,而欲不加载它,只有在windows启动后,进注册表改写相应的CnsMinKP键值或者删除该文件。
亮点1:但由于CnsMinKP.sys过滤了对其自身及相关重要文件和注册表的删除操作。每当试图删除3721的关键文件和注册表项时,直接返回一个TRUE,使Windows认为删除已经成功,但文件和注册表实际上还是在那里。使得注册表无法修改/文件无法被删除,让我们传统的杀除病毒和木马的对策无法进行。
   亮点2:驻留ie进程,并自动升级,保证了该病毒有极强大的生命力,想来新的杀除方法一出现,该病毒就会立即升级。Windows上虽然还有mozilla等其他浏览器,但由于微软的捆绑策略和兼容性上的考虑,绝大多数用户一般只安装有ie。上网查资料用ie,寻找杀除3721资料的时候也用ie,如此一来,3721抢在用户前面将自身升级到最新版本以防止被杀除的可能性大大增加,更加增添了杀除该病毒的难度。或许在本文发出后,病毒将会在最短时间内进行一次升级。
亮点3:该病毒极具欺骗性:该插件在win98下也能使用,但使用其自带的卸载程序则可比较完美地卸载,而在win2k/xp平台下卸载程序则几乎没用。由此可以看出病毒编写者对社会工程学极其精通:当一个人有一只表时他知道时间;而当他有两只表时则无从判断时间。当在论坛/bbs上win2k/xp的用户提到此病毒无法删除的时候,其他win2k/xp用户会表示赞同,而win98用户则会表示其不存在任何问题属于正常程序的反对意见。两方意见的对立,影响了旁观者的判断。

2病毒查杀方案
方案1:当初见此病毒的时候,感觉不过如此,普通木马而已。依照老规矩,先把注册表里相关键值删除,再把病毒文件一删,然后重新启动机器,等待万事ok。启机一看,注册表完全没改过来,该删除的文件也都在。
结局:病毒胜。
方案2:换了一台机器,下了个卸载帮助工具,以方便监视注册表/文件的改变。我下的是Ashampoo UnInstaller Suite这个软件,能监视注册表/文件/重要配置文件。Ok,再次安装3721插件,把对注册表的改变/文件的改变都记录下来。(值得注意,因为注册表run和runonce的键是下次启动的时候生效的,因此在重新启动后,还要对比一下文件/注册表的改变才能得到确切结果)。然后对比记录,把3721添加的键全部记下来,添加的文件也记录下来。之后我计划是用安全模式启动,删除文件和注册表,所以写了一个save.reg文件来删除注册表里的相关键值,写了一个save.bat来删除相关文件,放到c盘根目录下。重新启动机器,进入安全模式下,我先用regedit /s save.reg 导入注册表,然后用save.bat删除相关文件。重新启动机器,却发现文件依然存在,注册表也没有修改成功。通常对付木马/病毒的方式全然无效,令我产生如临大敌之感。
结局:病毒胜。
方案3:重新启动机器,这次我采用手工的方式删除文件。发现了问题——对system32/drivers目录下的CnsMinKP.sys,WINDOWS\Downloaded Program Files 目录下的Cnshook.dll和CnsMin.dll都“无法删除”。这样说可能有点不妥当,准确地说法是——删除之后没有任何错误报告,但文件依然存在。于是上网用google找找线索——在绿盟科技找到了一则文章(名字及url见前文),于是明白了这一切都是CnsMinKP.sys这东西搞得鬼。那么,只要能开机不加载它不就行了??但试了一下2k和xp的安全方式下都是要加载system32/drivers下的驱动,而如果想要取消加载,则需要修改注册表,但由于在加载了CnsMinKP.sys后修改注册表相关值无效,导致无法遏制CnsMinKP.sys这个程序的加载。当然,有软驱的朋友可以利用软盘启动的方式来删除该文件,但如果跟天缘一样用的是软驱坏掉的机器怎么办呢?记得绿盟上的文章所说的是——“目前无法破解”。在这一步上,我也尝试了各种方法。
我尝试着改这几个文件的文件名,结果没成功;
我尝试着用重定向来取代该文件,如dir * > CnsMinKP.sys ,结果不成功; 我尝试着用copy con <文件名> 的方式来覆盖这几个文件,结果发现三个文件中Cnshook.dll可以用这样的方法覆盖成功,但是在覆盖CnsMinKP.sys和CnsMin.dll的时候,居然提示“文件未找到”!?熟悉copy con用法的朋友都该了解,无论是文件是否存在,都应该是可以创建/提示覆盖的,但居然出来这么一个提示,看来CnsMinKP.sys着实把系统都骗过了,强!!跟它拼到这里的时候,回想到了在dos下用debug直接写磁盘的时代了,或许用它才能搞定吧?
仔细一想,win2k/xp下似乎没有了debug程序了,而或许问题解决起来也不是那么复杂。再又尝试了几种方法后,终于得到了启示:既然文件不允许操作,那么我操作目录如何?
我先把windows\system32\drivers目录复制一份,取名为drivers1,并将其中的CnsMinKP.sys删除(注意,因为是drivers1中的,所以可以被成功地真正删除掉);
重新启动机器,到安全模式下;
用drivers1目录替代原来的drviers目录
cd windows\system32
ren drivers drivers2
ren drivers1 drivers
之后重新启动机器,然后进到windows后先把drivers2目录删除了,然后慢慢收拾残余文件和清理注册表吧。
结局:病毒败。
(虽然是成功地删除了它,但是感觉赢得好险,如果该病毒加一个禁止上级文件改名的功能那么就真的没折了,为了预防类似的情形,最后还是找到了彻底一点的办法,见下)
方案4:不识庐山真面目,只因身在此山中。跳出windows本身,简单点,使用光盘操作系统,比如window pe 引导,进入系统后杀死它。
肯定病毒败。
方案5:使用icesword1.20,直接到system32/driver下面删除CnsMinKP.sys。重启电脑后CnsMinKP.sys不复存在。
结局:病毒败。但是以后的病毒升级版屏蔽了icesword1.20,那岂不又是没有辙。
方案6:把驱动程序从windows 核心级ring 0中踢出来。听说vista就已经做到了这一点。期待windows xp 的sp3能够提供这样的功能修正,要不易后日子微软的windows用户怎么过,杀毒软件的日子怎么过。
结局:期待微软。
I love This Game......

TOP

TOP

发新话题