“求職信”病毒/蠕蟲行為深入分析
描述:
程序名稱:Worm.wantjob.57345 “求職信”
程序類型:病毒/蠕蟲
利用漏洞:MIME漏洞
(http://www.microsoft.com/technet/security/bulletin/ms01-020.asp)
病毒行為:自我復(fù)制,通過email傳播,通過網(wǎng)絡(luò)共享傳播,感染可執(zhí)行文件(包括屏保),
破壞本地文件
受影響的系統(tǒng):所有32位Windows版本。
詳細(xì)描述(基于Win2K平臺):
該程序具有罕見的雙程序結(jié)構(gòu),分為蠕蟲部分(網(wǎng)絡(luò)傳播)和病毒部分(感染文件,破壞文件)。
兩者在代碼上是獨(dú)立的兩部分,可能也是分開編寫的。兩者的結(jié)合方式非常有趣,作者先是寫好蠕蟲
部分,然后將病毒部分的二進(jìn)制碼在特定位置加進(jìn)蠕蟲部分,得到最終的病毒/蠕蟲程序。
完整的wantjob第一次運(yùn)行時(shí)只執(zhí)行蠕蟲部分代碼,具體如下:
1、把自身拷貝至“\WINNT\System32\krn132.exe”,并設(shè)置系統(tǒng)、隱藏、只讀屬性。
(在Windows 2000下同時(shí)設(shè)置了系統(tǒng)和隱藏屬性的文件在資源管理器中是不可見的,即使選擇了
“顯示所有文件和文件夾”。取消選擇“隱藏受保護(hù)的操作系統(tǒng)文件(推薦)”后則是可見的。)
2、把“\WINNT\System32\krn132.exe”注冊為“Krn132”服務(wù),并設(shè)置為開機(jī)時(shí)自動運(yùn)行。
3、在internet臨時(shí)文件夾中讀取所有"htm","html"文件并從中提取email地址,此蠕蟲利用和Nimda
一樣利用了MIME漏洞把自身加到郵件中,發(fā)送到所有獲得的地址。
郵件主題隨即設(shè)為下列之一:
“Hi”“Hello”“How are you?”“Can you help me?”“We want peace”
“Where will you go?”“Congratulations!!!”“Don't Cry”“Look at the pretty”
“Some advice on your shortcoming”“Free XXX Pictures”“A free hot porn site”
“Why don't you reply to me?”“How about have dinner with me together?”
“Never kiss a stranger”
內(nèi)容為空,但編碼中有一段注釋:
4、搜索網(wǎng)上鄰居,發(fā)現(xiàn)可寫的共享目錄會隨機(jī)生成一個(gè)文件名,并將病毒自身進(jìn)行加密,用該文件名
將病毒復(fù)制過去。文件名的生成規(guī)則:
第一部分隨機(jī)生成的名字為字母或數(shù)字,最后補(bǔ)一個(gè)“.”,
第二部分在Htm、Doc、Jpg、Bmp、Xls、Cpp、Html、Mpg、Mpeg中選擇一個(gè)。
第三部分補(bǔ)上exe作為擴(kuò)展名。
5、krn132.exe每啟動一次就會在目錄:“%Temp%”和“\WINNT\Temp\”中創(chuàng)建一個(gè)自身的副本,
文件名是以K打頭的,形如“k871.exe”、“k2.exe”或“ka.exe”。
完整的wantjob第一次運(yùn)行時(shí)還會設(shè)置病毒在下次開機(jī)時(shí)執(zhí)行病毒部分,具體如下:
6、、改變部分編碼后拷貝至“\WINNT\System32\Wqk.dll”,并設(shè)置系統(tǒng)、隱藏、只讀屬性。
7、、在注冊表中寫入以下鍵值
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows]
"AppInit_DLLs"="Wqk.dll"
把Wqk.dll注冊為系統(tǒng)啟動時(shí)必須加載的模塊。下次開機(jī)時(shí),病毒部分以動態(tài)鏈接庫形式被加載,
存在于所有系統(tǒng)進(jìn)程中。因?yàn)闆]有自己的PID,所以在任務(wù)管理器中也看不見,也不能被終止。
這是黑客常用的一種隱藏backdoor的方法,微軟知識庫Q134655和Q125680詳細(xì)論述了這一問題。
下次開機(jī)時(shí),Wqk.dll被加載,wantjob以病毒方式運(yùn)行:
1、遍歷硬盤,尋找PE文件,并感染之。
2、檢查本地的時(shí)間,如果時(shí)間為1月13日,則馬上啟動26個(gè)破壞線程,用內(nèi)存中的數(shù)據(jù)覆蓋硬盤上的
所有文件。
3、Wqk.dll每啟動一次就會在目錄:“\WINNT\System32\”中創(chuàng)建一個(gè)自身的副本,
文件名為“Wqk.dll”再加一個(gè)數(shù)字,形如“Wqk.dll6”、“Wqk.dll23”。
無論以什么方式運(yùn)行,wantjob都會進(jìn)行一些自我保護(hù)的措施:
1、檢查進(jìn)程,如果發(fā)現(xiàn)一些殺毒軟件在(AVP、NAV、NOD、Macfee等)在運(yùn)行,則將該軟件的進(jìn)程
終止。
2、不斷向注冊表中寫入
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows]
"AppInit_DLLs"="Wqk.dll"
既使手工去掉了這個(gè)鍵值,馬上就會重新被寫入。
以上提到的都是wantjob在Win2K下的情況,在WinNT下的情況也大體類似。而在Win9X下就略有不
同,主要是:
1、由于Win9X不存在“服務(wù)”所以wantjob不注冊“Krn132”服務(wù)。而是在注冊表
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]
寫入"krn132"="C:\WINDOWS\SYSTEM\krn132.exe"
2、系統(tǒng)文件夾下沒有“Wqk.dll”,而代以Wqk.exe,并在注冊表
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]
寫入"Wqk.exe"="C:\WINDOWS\SYSTEM\Wqk.exe"
解決方案:
在Win9X下最好開機(jī)進(jìn)入DOS模式,在DOS下殺毒。然后再清除相關(guān)注冊表鍵值。
由于wantjob的特殊性,目前的所有反病毒軟件都不可能在Win2K下完全清除之,因?yàn)閃qk.dll總在
任何程序運(yùn)行之前加載在內(nèi)存中,又無法刪除注冊表相關(guān)鍵值,所以需要按照以下步驟進(jìn)行:
1、結(jié)束所有krn132.exe進(jìn)程。
2、刪除“\WINNT\System32\krn132.exe”及上文提到的臨時(shí)文件夾中的所有副本。
3、刪除或禁用“Krn132”服務(wù)。
4、在注冊表[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]中
添加以下鍵值:
@="cmd /c "attrib -s -h -r \WINNT\System32\Wqk.dll"&"del \WINNT\System32\Wqk.dll""
(系統(tǒng)啟動時(shí),這個(gè)鍵值是優(yōu)先于上面提到的“AppInit_DLLs”載入的)然后重啟系統(tǒng),運(yùn)行反病
毒軟件查殺整個(gè)硬盤。
或者:
用支持NTFS的干凈軟盤啟動系統(tǒng),或以Windows 2000安裝光盤啟動系統(tǒng),選擇修復(fù)Windows 2000
安裝的選項(xiàng),最后啟動“故障恢復(fù)控制臺”。刪除Wqk.dll。用可以從控制臺啟動的反病毒軟件查殺
整個(gè)硬盤。(在此之前請聯(lián)系反病毒軟件廠商,升級最新的病毒特征庫)
5、正常啟動系統(tǒng),刪除相關(guān)注冊表鍵值。
只要可能,強(qiáng)烈建議格式化硬盤后重裝系統(tǒng),或用備份系統(tǒng)恢復(fù)。
預(yù)防措施:
1、針對MIME漏洞:打開IE的“工具-->internet選項(xiàng)-->安全-->自定義級別-->文件下載”選“禁用”。
還可以安裝IE的Service Pack 2,或者升級到IE6。
2、恰當(dāng)?shù)卦O(shè)置共享目錄權(quán)限及口令。
3、不要打開可疑郵件,尤其是不要以HTML方式打開。
常見問題:
1、wantjob用什么語言編寫?
因?yàn)槌绦驎ψ陨磉M(jìn)行重新編碼,所以原始程序并無明顯特征,但其病毒部分代碼是完整的,分離后
可以看出是用MS Visual C++ v6.0編譯的,結(jié)合程序大小判斷,可能采用了C++/ASM混合編程的方式。
2、如何知道自己是否已感染wantjob?
主要是檢查有無可疑文件,具體詳見上文。
3、加載在內(nèi)存中的Wqk.dll真的無法察覺嗎?
Wqk.dll加載到內(nèi)存中后,系統(tǒng)反應(yīng)會明顯遲緩,硬盤無故轉(zhuǎn)動。
使用sysinternals.com的一個(gè)工具listdlls.exe可以察看系統(tǒng)加載的模塊,使用如下格式命令:
“l(fā)istdlls -d ”
可知系統(tǒng)當(dāng)前是否加載了Wqk.dll
4、我用一些反編譯工具分析wantjob,為什么失敗了?
wantjob不是直接由編譯鏈接工具產(chǎn)生,而是經(jīng)過了手工編碼,所以一些工具會出錯(cuò)??梢栽囈幌?
W32dasm。
5、我用W32dasm成功的反編譯了wantjob,但為什么很多字符串看上去很怪?
wantjob對一些字符串進(jìn)行了簡單的單表代換編碼,如F->C,L->T,K->S等。像“rwky64”其實(shí)就
是“base64”
6、wantjob和Nimda、Sircam相比,那個(gè)危害更大?
顯然,wantjob的傳播速度沒有Nimda快,但肯定會比Sircam快。它能感染文件,且能破壞文件,
危害應(yīng)該不會比Nimda小多少,造成經(jīng)濟(jì)損失可能會比Nimda更大
相關(guān)文章
新手學(xué)習(xí)之局域網(wǎng)中代理設(shè)置
新手學(xué)習(xí)之局域網(wǎng)中代理設(shè)置...2006-11-11
高手進(jìn)階 巧改設(shè)置強(qiáng)化3389入侵
高手進(jìn)階 巧改設(shè)置強(qiáng)化3389入侵...2006-11-11

