瑞星卡卡安全论坛技术交流区反病毒/反流氓软件论坛 【分享】机器狗病毒的详细技术分析

1   1  /  1  页   跳转

【分享】机器狗病毒的详细技术分析

【分享】机器狗病毒的详细技术分析

样本文件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分别执行上面提到的安全软件的文件改名以及下载执行病毒。
转自:http://www.newjian.com/zuixinbingdu/2008/0302/2624.html


[用户系统信息]Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MAXTHON 2.0)
最后编辑2008-03-04 14:25:30.013000000
分享到:
gototop
 

LZ原创??如果是,拜服了,相当强的分析
gototop
 

貌似金山的人分析的,转帖请注明
gototop
 

引用:
【左眼球的贴子】貌似金山的人分析的,转帖请注明
………………

人家說是【分享】......
gototop
 
1   1  /  1  页   跳转
页面顶部
Powered by Discuz!NT