4、上述删除操作完成后,再全盘搜索一次,会发现刚刚删除的lpk.dll病毒文件又出现了,真是“阴魂不散”。很明显系统中还存在残余病毒体不断释放lpk.dll文件,还需要进一步检查将其彻底清除。通过XueTr检查系统当前服务,发现一个很可疑的服务,对应的映像文件kkwgks.exe无数字签名。
图9:再次检查系统服务,可发现这个服务对应的文件没有数字签名。
查看kkwgks.exe文件属性发现该文件创建时间与lpk.dll一致,且文件大小与Temp目录下的hrlXX.tmp文件相同,十分可疑,直接将其删除。
图10:具体查看该程序,可发现该文件为病毒。
5、删除kkwgks.exe文件即结束了病毒服务,还需要执行上面步骤1-3的删除操作,把再次释放的lpk.dll等文件全部清除,然后重启电脑再全盘搜索检查一遍,原来的病毒文件都不复存在了。
lpk.dll病毒行为分析
经过了上面的手动处理过程后,可以逆向思维简单分析一下病毒行为如下。
1、病毒运行后会把自己拷贝到系统system32目录下以随机数命名(就是上面的kkwgks.exe),并创建一个名为Nationalgnf的服务。
2、新的服务启动后,利用特殊手段让病毒映像替换svchost.exe,进程中看到的还是svchost.exe,似乎没有什么异样,但此时病毒已经将自己隐藏在svchost.exe里运行,病毒在这里完成的功能包括:
(1)、完成病毒所有的后门任务;
(2)、在系统system32目录下生成hraXX.dll(XX是生成的随机名);
(3)、在系统临时文件目录下不断释放hrlXX.tmp文件(XX是生成的随机名),这里的hrlXX.tmp文件其实是system32下kkwgks.exe文件的备份,非常危险,作用是恢复system32下被删除的exe病毒文件;
(4)、在存在可执行文件的目录下生成假的lpk.dll,属性为隐藏,当同目录下的exe运行时会自动加载,激活病毒。
因为系统本身也是存在lpk.dll文件的,不过该文件并非是隐藏文件,而lpk.dll病毒却是隐藏的,这就给我们提供了一个有效的辨别方法。