样本文件014.exe
1、病毒文件014.exe释放驱动文件pcihdd2.sys于%systemroot%\system32\drivers\目录下
2、注册服务iCafeUpdate加载该驱动。
3、释放病毒文件TIMPlatform.exe于System32目录下,自删除014.exe
4、TIMPlatform.exe和pcihdd2.sys相配合,覆盖写入userinit.exe和ctfmon.exe
5、随后将驱动pcihdd2.sys删除
6、病毒文件TIMPlatform.exe释放驱动ati32srv.sys于%systemroot%\system32\drivers\目录下
7、注册服务ATI2HDDSRV并加载该驱动
8、通过驱动结束以下安全软件的进程
avp.com
avp.exe
runiep.exe
PFW.exe
FYFireWall.exe
rfwmain.exe
rfwsrv.exe
KAVPF.exe
KPFW32.exe
nod32kui.exe
……
9、创建线程对安全软件进行映像劫持,在注册表HKEY_LOCAL_MACHINE\\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options新建以安全软件可执行文件名为键名的子项,设定值为” Debugger" = "ntsd -d”
10、TIMPlatform.exe释放winsrv32.dll于System32目录下
11、winsrv32.dll注入iexplorer.exe,并破坏杀毒软件,将下列文件改名为tmp%d.tmp
ieprot.dll
safemon.dll
antispy.dll
UrlGuard.dll
KvTrust.dll
最后,通过IE从下列地址下载病毒
http://wb.zuiyige.com/web.txt
http://a.zuiyige.com/weba.txt
http://b.zuiyige.com/webb.txt
样本pcihdd2.sys
1、创建设备\\Device\\DISKPROTECT
2、创建符号链接\\DosDevices\\DISKPROTECT
3、注册_DRIVER_
OBJECT.IrpCreateDispatch、_DRIVER_
OBJECT.IrpCloseDispatch、_DRIVER_
OBJECT.IrpDeviceControlDispatch、_DRIVER_
OBJECT.DriverUnload;
其中_DRIVER_
OBJECT.IrpCreateDispatch、_DRIVER_
OBJECT.IrpCloseDispatch及_DRIVER_
OBJECT.DriverUnload未发现明显异常;
4、_DRIVER_
OBJECT.IrpDeviceControlDispatch
接收以下命令:
0x222000h:根据参数内容初始化IRP,并调用IofCallDriver实现写文件操作,
IofCallDriver的Device
Object为"\\GLOBAL??\\PhysicalDrive%d";具体的IRP静态获取比较复杂,猜测是跟写磁盘数据相关的。
0x222004h:未有可疑代码;
0x222008h:未有可疑代码;
0x22200ch:获得\Device\Harddisk0\DR0设备对象;
样本TIMPlatform.exe
1、CreateMutex:CNXZ_PRO_2008;
2、比较当前进程是否为userinit.exe,是则WinExec执行Explorer.exe;
3、释放并加载驱动%system32\\drivers\\ati32srv.sys,ServiceName为ATI2HDDSRV,加载完成后删除驱动文件;
4、创建线程结束以下安全软件的进程:
avp.com
avp.exe
runiep.exe
PFW.exe
FYFireWall.exe
rfwmain.exe
rfwsrv.exe
KAVPF.exe
KPFW32.exe
nod32kui.exe
nod32.exe
Navapsvc.exe
Navapw32.exe
avconsol.exe
webscanx.exe
NPFMntor.exe
vsstat.exe
KPfwSvc.exe
Ras.exe
RavMonD.exe
mmsk.exe
WoptiClean.exe
QQKav.exe
QQDoctor.exe
EGHOST.exe
360Safe.exe
iparmo.exe
adam.exe
IceSword.exe
360rpt.exe
360tray.exe
AgentSvr.exe
AppSvc32.exe
autoruns.exe
avgrssvc.exe
AvMonitor.exe
CCenter.exe
ccSvcHst.exe
FileDsty.exe
FTCleanerShell.exe
HijackThis.exe
Iparmor.exe
isPwdSvc.exe
kabaload.exe
KaScrScn.SCR
KASMain.exe
KASTask.exe
KAVDX.exe
KAVPFW.exe
KAVSetup.exe
KAVStart.exe
KISLnchr.exe
KMailMon.exe
KMFilter.exe
KPFW32.exe
KPFW32X.exe
KPFWSvc.exe
KRegEx.exe
KRepair.com
KsLoader.exe
KVCenter.kxp
KvDetect.exe
KvfwMcl.exe
KVMonXP.kxp
KVMonXP_1.kxp
kvol.exe
kvolself.exe
KvReport.kxp
KVScan.kxp
KVSrvXP.exe
KVStub.kxp
kvupload.exe
kvwsc.exe
KvXP.kxp
KvXP_1.kxp
KWatch.exe
KWatch9x.exe
KWatchX.exe
MagicSet.exe
mcconsol.exe
mmqczj.exe
KAV32.exe
nod32krn.exe
PFWLiveUpdate.exe
QHSET.exe
RavMonD.exe
RavStub.exe
RegClean.exe
rfwcfg.exe
RfwMain.exe
rfwsrv.exe
RsAgent.exe
Rsaupd.exe
safelive.exe
scan32.exe
shcfg32.exe
SmartUp.exe
SREng.EXE
symlcsvc.exe
SysSafe.exe
TrojanDetector.exe
Trojanwall.exe
TrojDie.kxp
UIHost.exe
UmxAgent.exe
UmxAttachment.exe
UmxCfg.exe
UmxFwHlp.exe
UmxPol.exe
UpLive.exe
procexp.exe
OllyDBG.EXE
OllyICE.EXE
rfwstub.exe
RegTool.exe
rfwProxy.exe
RawCopy.exe
CCenter.exe
结束进程的方法为:
1)、向符号链接为\\\\.\\HPDISK的驱动设备发送命令0x228004h,然后使用TerminateProcess结束进程;
2)、向符号链接为\\\\.\\HPDISK的驱动设备发送命令0x228008h;
3)、向符号链接为\\\\.\\HPDISK的驱动设备发送命令0x22800Ch;
4)、向符号链接为\\\\.\\HPDISK的驱动设备发送命令0x228010h;
5)、向符号链接为\\\\.\\HPDISK的驱动设备发送命令0x228014h;
5、创建线程进行映像劫持:
映像劫持列表同4,方法为:
向HKEY_LOCAL_MACHINE\\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
"Debugger" = "ntsd -d"
6、写文件%system32%\winsrv32.dll,并调用这个dll的导出函数
ENProcess("TAIL_ANTI");
Sleep(0x2710);
HDDGuard();
ENProcess(""TAIL_JQG"");
样本ati32srv.sys:
1、创建设备\\Device\\HPDISK
2、创建符号链接\\DosDevices\\HPDISK
3、注册_DRIVER_
OBJECT.IrpDeviceControlDispatch,各命令的作用:
0x228004h:patch CrackMe.sys模块RVA为0x3074的地方,内容为0;附:CrackMe.sys为金山看雪论坛试题保护单一Process ID的驱动;
0x228008h:call CrackMe.sys模块RVA为0x1810的地方,作用是恢复ZwOpenProcess的SSDT hook;
0x22800Ch:使用NtOpenProcess查询进程 + ZwTerminateProcess结束进程;
0x228010h:使用PsLookupProcessByProcessId + ObOpen
ObjectByPointer查询进程 + ZwTerminateProcess结束进程;
0x228014h:向目标线程插入内核态APC,调用ZwTerminateProcess结束进程;
PsLookupThreadByThreadId + ObReference
ObjectByPointer查询线程,KeInitializeApc + KeInsertQueueApc插入APC,内核态APC通过调用ZwTerminateProcess(-1,0)结束进程;
样本winsrv32.dll:
1、DllEntryPoint:
1)、CreateMutex:CNXZ_PRO_2008;
2)、如果进程为非iexplore.exe,则return;
3)、如果参数为TAIL_JQG,执行对模块中对应下列文件的改名为tmp%d.temp:
ieprot.dll
rising
safemon.dll
360
antispy.dll
360
UrlGuard.dll
江民
KvTrust.dll
江民
否则执行从下列地址获取信息并下载执行病毒:
http://wb.zuiyige.com/web.txthttp://a.zuiyige.com/weba.txt
http://b.zuiyige.com/webb.txt
2、导出函数ENProcess:
执行%SystemRoot%:\Program Files\Internet Explorer\iexplore.exe Arg_0;
综合上述的exe,得知此处执行
%SystemRoot%:\Program Files\Internet Explorer\iexplore.exe TAIL_ANTI、
%SystemRoot%:\Program Files\Internet Explorer\iexplore.exe TAIL_JQG
3、导出函数HDDGuard:
挂钩WH_GETMESSAGE;
结合TIMPlatform.exe的调用方式,首先起iexplore.exe,参数为TAIL_ANTI,
挂钩,即注入iexplore.exe,
再起一个iexplore.exe,参数为TAIL_JQG;
这样两个不同的iexplore.exe分别执行上面提到的安全软件的文件改名以及下载执行病毒。
转自:http://www.newjian.com/zuixinbingdu/2008/0302/2624.html
[用户系统信息]Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MAXTHON 2.0)