ok.exe,UPX加壳,似乎是汇编所写,加了很多花指令。
是一个机器狗式的病毒。
主要行为:
1.提SE_DEBUG权限
2.利用ZwQuerySystemInformation(SystemModuleInformation)得到内核模块列表,找到第一个内核模块的文件名和基址。
利用LoadLibraryExA将此文件加载,通过遍历其重定位表,找到代码中填充SSDT的命令,从而得到原始的SSDT表
3.将drivers/atapi.sys读入内存,搜索其INIT段代码,找到DriverEntry中填充IRP处理例程的代码,得到原始的处理例程地址。
4.改系统年份为2000年。
5.解码自身携带的一个sys蓝本(在内存中),将以上两步获得的数据填入其数据段相应位置,并重新校验,使其成为一个可运行的sys。
在C盘下生成一个随机文件名(这个随机文件名是以一定方式得到的)的.dat文件,将此sys内容写入,用创建驱动服务的方式加载,通过这个sys来穿还原。
6.使用toolhlp32的API来遍历进程,如找到以下进程:
ravmon.exe,ravmond.exe,ccenter.exe,360safebox.exe,360tray.exe,safeboxtray.exe,kavstart.exe,kissvc.exe,CCSVCHST.EXE
则结束其进程,结束的方法有直接OpenProcess后TerminateProcess,还有遍历其线程,并对所有线程使用ZwOpenThread后ZwTerminateThread(为避免杀毒软件对这两个API的Ring3级HOOK,病毒自带这两个API的原代码并直接调用,其系统服务号由得到_PEB.OSMinorVersion后针对2000/XP/2003各自硬编码)。
7.解码自身携带的一个exe文件内容,使用第一代机器狗的方法,穿还原写入explorer.exe。
8.创建iexplore.exe进程,向其中注入远程线程以下载木马。
9.最后生成批处理,删除自身。
sys的工作:
这部分比较深了,一时也没有全部搞懂。
主要是利用IoRegisterDriverReinitialization,将自身一个函数注册为系统驱动初始化时的一个回调函数。
在这个回调函数中:
1.修改"\Device\Harddisk0"来穿还原
2.修改还原"\Driver\atapi"的IRP处理例程。
3.尝试用ObReferenceObjectByName来得到"\Driver\ProtectedC"的Object指针,如成功则再进一步尝试得到"\Driver\Disk"的Object指针,如成功则修改其IRP处理例程,把所有处理例程指针都指向原IRP_MJ_CLOSE的处理例程。这样做的目的是废掉这个驱动的功能,使之不能正确地响应其他如IRP_MJ_DEVICE_CONTROL的操作。
4.还原所有SSDT项
5.通过内核ZwAccessCheckAndAuditAlarm函数中调用KiSystemService的代码,从而定位KiSystemService函数的地址
从KiSystemService函数开头开始,暴力搜索内核代码(好XX啊……),搜到KiFastCallEntry函数中的以下代码:
8b1c87 mov ebx,dword ptr [edi+eax*4]
将其后面的五个字节还原成原样。
这个举动应该是为了还原某个安全软件对这五个字节的inline hook,至于是哪个安全软件就不得而知了。
6.尝试用ObReferenceObjectByName来得到"\Driver\SafeDog"的Object指针。如成功:
把IoGetDeviceObjectPointer函数开头的五个字节进行还原,还原对此函数的inline hook。
同时把DbgPrint函数头5个字节改成jmp,进行inline hook,跳进自身函数里,这时有针对调用者的判断而采取不同的措施,应该是针对这个驱动的,但是我没这个驱动样本,所以不知道这样做有什么效果。
被注入进iexplore.exe的代码的行为:
创建一个新线程,将wawa.xst2.cn/4256.txt下载到temp文件夹下的4256.txt,并按照其中所列的病毒URL列表下载病毒并WinExec运行。
4256.txt内容:
dx.swstt.cn/ok.exe
dx.swstt.cn/arp.exe
dx.swstt.cn/down/ms.exe
dx.swstt.cn/down/tl.exe
dx.swstt.cn/down/my.exe
dx.swstt.cn/down/mh.exe
dx.swstt.cn/down/cs.exe
dx.swstt.cn/down/cq.exe
dx.swstt.cn/down/zx.exe
dx.swstt.cn/down/jr.exe
dx.swstt.cn/down/hx.exe
dx.swstt.cn/down/wd.exe
dx.swstt.cn/down/zy.exe
dx.swstt.cn/down/dh2.exe
dx.swstt.cn/down/q3.exe
dx.swstt.cn/down/mxd.exe
dx.swstt.cn/down/wl.exe
dx.swstt.cn/down/jh.exe
dx.swstt.cn/down/dy.exe
dx.swstt.cn/down/dh3.exe
girls.xst2.cn/count.asp
最后一个似乎是流量统计。