关于logo_.exe, rundl132.exe, RichDLL.dll病毒
前不久,不幸又中了病毒,许多exe文件的图标都变成exe文件原始的图标了。从症状上来看,应该是Viking的变种,但是360, kaka, Norton都无法处理,网上的专杀程序也没有用,无奈只好手动找办法。
症状:
1)半数以上exe文件的图标都变成原始exe图标;
2)进程中出现logo_.exe, rundl132.exe,都在\system32下;用Icesword看模块,explorer.exe中加载了RichDLL.dll模块,在\Windows下;
3)进程中有时出现cmd.exe, conime.exe;
4)\temp下有时可以找到.bat文件,内容如下(以Nero为例):
:try1
Del "C:\Program Files\Ahead\Nero\nero.exe"
if exist "C:\Program Files\Ahead\Nero\nero.exe" goto try1
ren "C:\Program Files\Ahead\Nero\nero.exe.exe" "nero.exe"
if exist "C:\Program Files\Ahead\Nero\nero.exe.exe" goto try2
"C:\Program Files\Ahead\Nero\nero.exe"
:try2
del "C:\DOCUME~1\USER_C~1\LOCALS~1\Temp\$$aC.bat"
分析1:
起初以为是某个独立文件的病毒,但是后来才醒悟到这是个直接感染文件的病毒。大致原理猜测如下。
原理:
1)原始病毒侵入,运行,以进程监视exe程序的运行并感染;
2)每当一个被感染的exe文件(假设为a.exe)运行时,执行以下操作:
3)释放独立的病毒文件(即上面的三个文件)到指定位置,将释放出的病毒文件加到a.exe的文件头上,保存为a.exe.exe;
4)运行或加载病毒,并在\temp下创建一个bat文件,内容如上。大致作用为:删除a.exe,将a.exe.exe重命名为a.exe,运行a.exe,删除a.exe;
5)在注册表的启动项目中,添加项;
6)据我猜测,病毒进程本身也是用这种方法感染其他正常文件的。
分析2:
正是因为病毒被加到了其他程序的文件头上,所以图标才会消失。
我尝试了网上给出的一个方法,把logo_.exe, rundl132.exe, RichDLL.dll, cmd.exe, conime.exe都替换为空只读文件,这样运行受感染文件时,会自动创建一个健康文件a.exe.exe。由于bat无法运行,需手动结束进程a.exe,把原来的文件删除,把a.exe.exe改为a.exe即可。
但是这样的工作量实在太大,后来把cmd.exe, conime.exe还原后,居然有意想不到的效果,也就是说,bat文件运行后,把被感染的文件删除了,留下了一个健康的文件。于是解决方案就变成了以下这样。
方法:
1)终止掉logo_.exe, rundl132.exe, 用Icesword等卸载掉explorer.exe里的RichDLL.dll模块(或者结束掉explorer.exe在新建进程,这方法我没试过)
2)删除%systemroot%\system32\logo_.exe, %systemroot%\system32\rundl132.exe, %systemroot%\Richdll.dll
3)在以上被删除的文件位置,新建相同的空文件,属性改为只读。
4)清除病毒启动项,清除%systemroot%\_desktop.ini;
5)放心地运行被感染的exe文件(从图标可以大致看出是否被感染),你得到的便是健康的程序。只有当你确定所有的文件都恢复时,才能删除上面的三个文件;
总结:
1)这是利用了病毒原理中的疏漏,让病毒自己杀死自己,起到以毒攻毒的效果;
2)360安全卫士只能查杀释放出的病毒,对于被感染的文件无能为力,而且连360, Norton自己也被感染了;
3)Icesword似乎有特殊的保护机制,虽然被感染,但是运行以后又恢复正常;
4)该病毒似乎会导致任务栏的系统托盘崩溃;
5)如果该病毒释放的文件是随机命名的话,以上方法就行不通了,但是日积月累会有一大堆垃圾无人清扫。