
在這里我會(huì)簡(jiǎn)單的先容病毒樣本的獲取與分析方法。
個(gè)人如何獲取病毒樣本呢?
對(duì)于我們個(gè)人用戶來(lái)說(shuō),當(dāng)然沒(méi)有反病毒公司截獲病毒的那種條件。不過(guò),要找一些病毒樣本來(lái)分析也不是一件難事情。
我們可以設(shè)置自己的蜜罐。
首先要預(yù)備一個(gè)虛擬機(jī),在虛擬機(jī)里面安裝win2k+sp1,再安裝iis6.0和sql server2000,能打開(kāi)的服務(wù)都打開(kāi),最好再安裝nav(防止重復(fù)獲得已知的病毒樣本),并安裝isa防火墻來(lái)監(jiān)控網(wǎng)絡(luò)流,在用snifferxp來(lái)做地層包的截獲,最后安裝文件變化記錄器(主要用于crc32校驗(yàn)比較以判定文件是否發(fā)生變化,我們僅監(jiān)視幾種病毒經(jīng)常感染的文件類型就可以了)。在用虛擬機(jī)的快照功能備份虛擬機(jī)中的系統(tǒng)。
這樣我們就預(yù)備好了自己的diy型蜜罐,現(xiàn)在到hotmail注冊(cè)一個(gè)e-mail,然后加進(jìn)多個(gè)國(guó)外的新聞組等熱鬧的地方,這樣就會(huì)有更多的機(jī)會(huì)得當(dāng)樣本。接下來(lái)就是等待了,經(jīng)常查看信箱的郵件,等到snifferxp監(jiān)視出現(xiàn)流量異?;騨av被封閉或失效,此時(shí)應(yīng)該多打開(kāi)幾次一些programfiles目錄下的程序以保證病毒的感染,一般來(lái)說(shuō)ipc$和iis進(jìn)來(lái)的病毒或者懦蟲會(huì)開(kāi)一些新的進(jìn)程,我們可以用ctrl+alt+del把他們查出來(lái),知道那些文件--復(fù)制到保存樣本的介質(zhì)上~~然后把文件變化器中發(fā)現(xiàn)的文件拷貝出來(lái),這樣就得到疑似樣本了。
vbs腳本病毒樣本的提取
當(dāng)獲得了vbs腳本病毒樣本后,其提取方法是比較簡(jiǎn)單的。對(duì)于獲取的vbs腳本病毒樣本,我們可以直接用文本編輯器打開(kāi)樣本文件查看其中的原代碼。對(duì)于有加密的病毒,樣本提取的工作實(shí)在到這里就已經(jīng)結(jié)束了。
一次性加/解密的病毒樣本
這樣的病毒比較普遍,但是弱點(diǎn)也比較明顯。由于他們是對(duì)加密病毒代碼一次性解密后直接運(yùn)行的,我們便可以在其解密之后、執(zhí)行之前將病毒代碼提取出來(lái),或者干脆刪除其代碼,寫進(jìn)我們自己的病毒提取代碼。
這里我以大家比較熟悉的“新歡樂(lè)時(shí)光”為例子,說(shuō)明這種方法提出的方法。
感染這個(gè)病毒后,會(huì)發(fā)現(xiàn)在每個(gè)目錄下都有兩個(gè)隱躲文件: desktop.ini folder.htt
用ultraedit打開(kāi) folder.htt ,會(huì)發(fā)現(xiàn)這個(gè)文件總共才93行,第一行為<body>,幾行注釋后,以<html>開(kāi)始,</html>結(jié)束,很顯然這是一個(gè)htm格式的文件(folder.htt摸板就是采用了樣式表和html標(biāo)記).
第87行到91行的語(yǔ)句如下:
--------------------
87:<script language=vbscript>
88:exestring="afifkseboa)eqiiqbtq)s^pqbtq)aadobapfdj)>mlibl^gbp).......省略太長(zhǎng)了
89:execute("dimkeyarr(3),thistext"&vbcrlf&"keyarr(0)=3"&vbcrlf&"keyarr(1)=3"&vbcrlf&"keyarr(2)=3"&vbcrlf&"keyarr(3)=4"&vbcrlf&"fori=1 tolen(exestring)"&vbcrlf&"tempnum=asc(mid(exestring,i,1))"&vbcrlf&"iftempnum=18then"&vbcrlf&"tempnum=34"&vbcrlf&"endif"&vbcrlf&"tempchar=chr(tempnum+keyarr(imod4))"&vbcrlf&"iftempchar=chr(28)then"&vbcrlf&"tempchar=vbcr"&vbcrlf&"elseiftempchar=chr(29)then"&vbcrlf&"tempchar=vblf"&vbcrlf&"endif"&vbcrlf&"thistext=thistext&tempchar"&vbcrlf&"next")
90:execute(thistext)
91:</script>
--------------------
第87和91行這里就不解釋了,第88行是一個(gè)字符串的賦值,很明顯這是被加密過(guò)的病毒代碼??纯?9行最后的一段代碼thistext=thistext&tempchar,再加上下面那一行,我們肯定能夠猜出thistext里面放的就是病毒解密后的代碼,第90行是執(zhí)行剛才thistext中的那段代碼
現(xiàn)在我們知道thistext字符串變量中存放的就是病毒代碼。那么下一步該怎么辦呢?很簡(jiǎn)單,我們只要在病毒代碼解密后,將thistext的內(nèi)容輸出到一個(gè)文本文件中就可以了。由于上面幾行是vbscript,于是用以下方法創(chuàng)建一個(gè).vbs文件。
首先將第88,89兩行拷貝到剛才建立的.vbs文件,然后在下面輸進(jìn)一行創(chuàng)建文件和將thistext寫進(jìn)文件vbs代碼,整個(gè)文件所示:
-----
exestring="afi... '第88行的代碼,這里省略了
execute("dim keyar.. '第89行代碼,這里省略了
set fso=createobject("scripting.filesystemobject")
set bingdu=fso.createtextfile("resource.log",true)
'創(chuàng)建一個(gè)新文件用來(lái)存放解密后的病毒代碼
bingdu.writeline(thistext)
-----
然后保存文件,運(yùn)行它你就會(huì)發(fā)現(xiàn) resource.log里面就是病毒的原代碼了。
愛(ài)華網(wǎng)本文地址 » http://www.klfzs.com/a/25101011/79467.html
愛(ài)華網(wǎng)



