分析报告来源:毒霸反病毒中心病毒分析师
阅读难度系统:较高
样本文件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的DeviceObject为"\\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 + ObOpenObjectByPointer查询进程 + ZwTerminateProcess结束进程; 0x228014h:向目标线程插入内核态APC,调用ZwTerminateProcess结束进程;
PsLookupThreadByThreadId + ObReferenceObjectByPointer查询线程,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分别执行上面提到的安全软件的文件改名以及下载执行病毒。 |