病毒名:Worm.Pabug.ck
大小:38,132 字节
MD5:2391109c40ccb0f982b86af86cfbc900
加壳方式:FSG2.0
编写语言:Delphi
传播方式:通过移动介质或网页恶意脚本传播
经虚拟机中运行,与脱壳后OD分析结合,其行为如下:
文件创建:
X:OSO.exe
X指非系统盘符
%systemroot%是环境变量,对于装在C盘的Windows XP系统,默认路径为C:WINDOWS文件夹,以下以此假设进行分析。
创建进程:
使用net stop命令,结束可能存在的杀毒软件服务
调用sc.exe,
config [对应服务] start=disabled
禁用这些服务
被结束和禁用的服务包括:
haredaccess(此即系统自带防火墙——笔者注)
KVWSC
KVSrvXP
RsRavMon
RsCCenter
其中,在结束瑞星服务的过程中,由于瑞星会弹出提示,病毒作了相应处理:
用FindWindowA函数,捕捉标题为"瑞星提示"的窗口
用FindWindowExA函数,找到其中“是( Y)”的按钮
用SendMessageA函数向系统发送信息,相当于按下此按钮
禁止或结束以下进程运行,包括但不限于:
PFW.exe
KVOL.exe
KVFW.exe
TBMon.exe
CCAPP.exe
EGHOST.exe
KRegEx.exe
VPTray.exe
RAVMON.exe
KavPFW.exe
SHSTAT.exe
RavTask.exe
MAILMON.exe
MCAGENT.exe
KAVPLUS.exe
RavMonD.exe
KVMonXP.exe
RfwMain.exe
KWATCHUI.exe
MCVSESCN.exe
MSKAGENT.exe
KVCenter.kxp
RAVTIMER.exe
RRfwMain.exe
FireTray.exe
UpdaterUI.exe
KVSrvXp_1.exe
RavService.exe
创建noruns.reg,并导入注册表,之后删除此文件。导入内容:
[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer]
"NoDriveTypeAutoRun"=dword:b5
改变驱动器的autorun方式(在我的虚拟机里没有实现)
修改注册表,创建启动项(后来在SREng日志中可见的项目):
mpnxyl C:WINDOWSsystem32gfosdg.exe [N/A]
gfosdg C:WINDOWSsystem32severe.exe [N/A]
hell Explorer.exe C:WINDOWSsystem32driversconime.exe [N/A]
为预防瑞星注册表监控提示,故伎重施:
用FindWindowA函数捕捉标题为“瑞星注册表监控提示”的窗口
用mouse_event控制鼠标自动选择允许修改。
访问注册表
[HKEY_LOCAL_MACHINEsoftwaremicrosoftwindowscurrentversionexploreradvancedfolderhiddenshowall]
CheckedValue键
破坏显示隐藏文件的功能(这一点在我的虚拟机中没有实现,可能是被TINY或SSM默认阻止了)
然而,做了这么多工作除去杀毒软件之后,作者似乎觉得还不保险,他终于使出了“杀手锏”:
在注册表
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Options]
创建以安全软件程序名为名的子项
子项中创建子键
"Debugger"="C:\WINDOWS\system32\drivers\mpnxyl.exe"
使得这些程序在被双击运行时,均会转为运行病毒文件mpnxyl.exe
形如:
autoruns的日志中可以清楚地看到这些项目,以及遭到这种手法“蹂躏”的程序:
+ kabaload.exe c:windowssystem32driversmpnxyl.exe
+ KRegEx.exe c:windowssystem32driversmpnxyl.exe
+ KVMonXP.kxp c:windowssystem32driversmpnxyl.exe
+ KvXP.kxp c:windowssystem32driversmpnxyl.exe
+ MagicSet.exe c:windowssystem32driversmpnxyl.exe
+ PFW.exe c:windowssystem32driversmpnxyl.exe
+ PFWLiveUpdate.exe c:windowssystem32driversmpnxyl.exe
+ QQDoctor.exe c:windowssystem32driversmpnxyl.exe
+ RavMon.exe c:windowssystem32driversmpnxyl.exe
+ SREng.EXE c:windowssystem32driversmpnxyl.exe
+ WoptiClean.exe c:windowssystem32driversmpnxyl.exe
删除卡卡助手的dll文件kakatool.dll(的确这么做了,虚拟机运行的结果和程序代码里的内容相映证)
为了堵死中毒者的“后路”,又采取了另一种卑劣的手法
修改hosts文件,屏蔽杀毒软件厂商的网站,卡卡社区“有幸”成为被屏蔽的其中一员:
这是后来用SREng看到的结果,在程序代码里也有相应内容:
另外:
hx1.bat内容:
改日期?不过在虚拟机里没有实现
autorun.inf的内容:
open=OSO.exe
hellexecute=OSO.exe
hellAutocommand=OSO.exe
如果你要从右键菜单来判别,很不幸,右键菜单完全看不出异常,无论你是双击还是右键,同样会激活病毒!
TINY还记录到,病毒关闭系统还原服务后再打开。这恐怕会导致丢失还原点的结果。
至此这个十分恶劣的病毒的行为分析告一段落,下面介绍清除方法(上面内容看得头晕的会员们,直接看清除方法即可)
清除方法归结为一句话:“夹缝中求生”
IceSword.exe、SREng.exe均被禁,但只需将文件改名,照样可以运行
autoruns.exe则不在被禁的行列
其他的被禁程序,一步步解禁
具体过程:
结束进程:
没有发现此病毒禁用任务管理器。也可以用其他工具如procexp等
用autoruns删除以下项目(建议用autoruns,一是没被禁,二是一目了然,注意先选Options-Hide Microsoft Entries):
这样包括IceSword、SREng、注册表编辑器和系统配置实用程序在内的部分程序不再被禁止
删除或修改启动项:
以用SREng为例
在“启动项目”-“注册表”中删除:
双击以下项目,把“值”中Explorer.exe后面的内容删除
删除文件:
由于非系统盘即便右键打开也会有危险,应该采用其他方法,推荐用IceSword或WINRAR来做
删除:
X:OSO.exe
系统修复与清理:
在注册表展开
建议将原CheckedValue键删除,再新建正常的键值:
"CheckedValue"=dword:00000001
NoDriveTypeAutoRun键的值,是否要改,要改为什么,视乎各人所需,一般默认为91(十六进制的)
此键的含义,请搜索网上资料,在此不再赘述
HOSTS文件的清理
可以用记事本打开%systemroot%system32driversetchosts,清除被病毒加入的内容
也可以用SREng在“系统修复”-“HOSTS文件”中点“重置”,然后点“保存”
最后修复一下服务被破坏的杀毒软件。
小结:
从拿到样本到方法写完,历时整整五小时。之所以要说得如此详细,是因为这个病毒相当的典型,尤其是它对付安全软件的几种方法。右键菜单没变化,也是比较“隐蔽”而且给清除带来麻烦的一个特征。对付这个病毒,也要在“知己知彼”的基础上,灵活运用方法和工具。