一、前言
病毒課老師丟給我們一份加密過的vbs腳本病毒的代碼去嘗試分析,這里把分析過程發(fā)出來,供大家參考,如果發(fā)現(xiàn)文中有什么錯誤或者是有啥建議,可以直接留言給我,謝謝!
二、目錄
整個(gè)分析過程可以分為以下幾個(gè)部分:
0x00 準(zhǔn)備工作
0x01 解密部分
0x02 功能分析
三、分析過程
0x00 準(zhǔn)備工作
windows xp的虛擬機(jī)(在自己的windows下也可以做)
vbs的一些基本語法
0x01 解密部分
右擊病毒文件然后編輯打開或者是直接把其后綴修改成txt直接打開都行,可以看到一大段密文,并調(diào)用了一個(gè)函數(shù)deCrypt。暫時(shí)只看到這些,那么接著往下看吧。

拖到代碼底部,發(fā)現(xiàn)有deCrypt了一次,也就是經(jīng)過了兩次加密,這里把執(zhí)行部分注釋掉,然后將解密的結(jié)果輸出到文本文件中去。另外,可以看到是用base64進(jìn)行的加密的。

現(xiàn)在來看看解碼后的結(jié)果。發(fā)現(xiàn)依舊是不可閱讀的代碼,那就繼續(xù)看看他是怎么處理的吧。

這里可以看到是將之前的字符串按“|dz|”劃分,然后得到的是ascii碼,將這些ascii碼對應(yīng)的字符拼接起來就好了,就得到了結(jié)果。同樣的套路將解密結(jié)果輸出到文件中去再繼續(xù)分析。

然后這次得到的結(jié)果是真正的病毒代碼了。接下來對他的功能進(jìn)行分析。

0x02 功能分析
從頭開始看吧。顯示一些配置信息,包括了服務(wù)器的域名??梢圆榈椒?wù)器是美國的,嘗試ping了下,ping不通,可能是服務(wù)器作了設(shè)置不讓人ping、也可能是服務(wù)器已經(jīng)不用了、也有可能是我國的防火長城直接墻掉了。。。

然后是一些之后要用到的變量,這里不作過多的解釋。

之后就是code start的部分了。然后由于里面調(diào)用了各種函數(shù),所以這里按執(zhí)行的順序給調(diào)用的函數(shù)編號,以便閱讀,不然會感覺很凌亂的。
這里先是調(diào)用了instance函數(shù)。

1.instance函數(shù)
給之前的一個(gè)參數(shù)usbspreading賦值,并對注冊表進(jìn)行寫操作

在執(zhí)行完了instance函數(shù)后,會進(jìn)入一個(gè)while true的死循環(huán),不斷從服務(wù)器讀取命令,然后執(zhí)行。在進(jìn)入while里面后,先是調(diào)用install過程。
2.install過程
在install中,又調(diào)用了upstart,再進(jìn)去看看。

2.1 upstart過程
這里通過注冊表將病毒腳本設(shè)置成開機(jī)自啟動。

然后從upstart過程出來繼續(xù)看看install剩下的代碼,有點(diǎn)多,直接把功能告訴大家。
掃描所有的驅(qū)動,如果類型號是1,會有所動作,為1時(shí)代表可移動設(shè)備,這是想感染優(yōu)盤之類的可移動設(shè)備。它將腳本拷貝到可移動設(shè)備的根目錄下,然后設(shè)置文件屬性,2為隱藏文件,可讀寫,4為系統(tǒng)文件,可讀寫。
然后獲取可移動設(shè)備根目錄所有的文件,如果不是lnk文件, 將其設(shè)置為隱藏的系統(tǒng)文件,可讀寫。然后創(chuàng)建相應(yīng)的快捷方式,其指向的程序是cmd.exe,其參數(shù)是"/c start " replace(installname," ", chrw(34) " " chrw(34)) "start " replace(file.name," ", chrw(34) " " chrw(34)) "exit",意思是點(diǎn)擊該快捷方式后會先啟動那個(gè)腳本病毒,然后再啟動真正的文件,之后退出cmd。
然后對根目錄下的文件夾作同樣的操作。至此,對子程序install的分析到此結(jié)束,接下來分析函數(shù)程序post。

3.post函數(shù)
可以看到post的功能是發(fā)送被感染機(jī)器的相關(guān)信息到服務(wù)器并從服務(wù)器獲取病毒制作者的命令數(shù)據(jù)。在里面有調(diào)用了函數(shù)information以獲取被感染機(jī)的相關(guān)信息,再看下它是怎么實(shí)現(xiàn)的。

3.1 information函數(shù)
information函數(shù)用來獲取硬盤序列號、系統(tǒng)相關(guān)信息和電腦上安裝的安全軟件。

現(xiàn)在從post函數(shù)中執(zhí)行完出來,得到服務(wù)器的命令。然后就是對命令的解析執(zhí)行,接下來是一個(gè)vbs中switch...case...的結(jié)構(gòu),來對不同的命令解析執(zhí)行。
4.對各種命令的解析執(zhí)行
4.1 execute命令
這里直接執(zhí)行接收到的命令

4.2 update命令
這里是從服務(wù)器上獲取數(shù)據(jù)來更新病毒

4.3 uninstall命令
調(diào)用uninstall過程來將病毒之前對注冊表作的修改恢復(fù),并將之前復(fù)制到其他幾個(gè)目錄下的病毒腳本刪除。

4.4 send命令
調(diào)用download過程從服務(wù)器下載文件

4.5 site-send命令
這個(gè)調(diào)用sitedownloader過程,同樣從服務(wù)器上下載東西,不過這個(gè)下載的貌似是網(wǎng)站源碼之類的。。。

4.6 recv命令
調(diào)用upload函數(shù),上傳指定的文件。

4.7 enum-driver、enum-faf、enum-process命令
分別調(diào)用相應(yīng)的函數(shù),以獲取枚舉所有的驅(qū)動器相關(guān)信息、指定目錄下的所有文件和文件夾以及系統(tǒng)的所有進(jìn)程

4.8 cmd-shell命令
這里調(diào)用cmdshell函數(shù)執(zhí)行接收的到cmd命令,并將命令結(jié)果獲取傳回服務(wù)器。

4.9 delete命令
調(diào)用過程deletefaf刪除指定的文件或文件夾

4.10 exit-process命令
調(diào)用exitprocess來結(jié)束指定的進(jìn)程

4.11 sleep命令
設(shè)置腳本的睡眠時(shí)間

到此對所有的命令都解析完畢了,在執(zhí)行了相應(yīng)的命令后,病毒會睡眠指定的時(shí)間,再繼續(xù)從服務(wù)器獲取命令。
四、總結(jié)
這里對之前的分析進(jìn)行下總結(jié)吧,總結(jié)通過這次分析所學(xué):
1.先是對base64編碼的學(xué)習(xí),實(shí)際分析中不需要知道實(shí)現(xiàn)細(xì)節(jié),至少要會用吧。
2.vbs的學(xué)習(xí)。
3.通過設(shè)置注冊表來設(shè)置指定程序的自啟動。
4.基本的調(diào)試能力,對于晦澀難懂的代碼部分,把結(jié)果輸出來會理解得更快。
然后在試驗(yàn)中還對病毒進(jìn)行了清楚,我的方法是直接截取一段密文然后進(jìn)行搜索,包含該字段的vbs文件就給刪掉,這樣注冊表是沒有修改過來的,不過要自啟動的文件已經(jīng)被刪掉了,所以沒關(guān)系。還有一種方法是把病毒中uninstall模塊拿出來,單獨(dú)調(diào)用,把所有修改都恢復(fù)。
然后,這次可以看到該病毒通過vbs實(shí)現(xiàn)了與服務(wù)器進(jìn)行通信、修改文件系統(tǒng)、修改注冊表等等的操作。使用其他的語言同樣可以實(shí)現(xiàn),自己覺得可能是因?yàn)榇蟛糠謜indows都有vbs的解釋器,易于傳播,并且vbs易學(xué),病毒作者選用他來編寫??傊煌恼Z言都有自己的特點(diǎn)吧,關(guān)鍵要看其優(yōu)點(diǎn)是否和自己的需求相契合吧。
以上所述是小編給大家介紹的對一個(gè)vbs腳本病毒的病毒原理分析,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
您可能感興趣的文章:- linux服務(wù)器被植入ddgs、qW3xT.2挖礦病毒的處理實(shí)戰(zhàn)記錄
- 通過批處理關(guān)閉135 137 445等端口的實(shí)現(xiàn)代碼(勒索病毒)
- php網(wǎng)頁病毒清除類
- VC實(shí)現(xiàn)的病毒專殺工具完整實(shí)例
- 利用DOS命令來對抗U盤病毒保護(hù)U盤數(shù)據(jù)
- 自制殺u盤病毒的批處理代碼
- c病毒程序原理分析(防范病毒 c語言小病毒示例)
- 解析:清除SQL被注入惡意病毒代碼的語句
- Autorun 病毒清除工具bat代碼
- VBS.Runauto腳本病毒分析篇
- 一段病毒常用的VBS代碼
- 記事本U盤病毒 Notepad.exe查殺方法
- 美女游戲病毒iwbkvd.exe查殺方法
- 批處理 Autorun 病毒清除工具
- Rootkit病毒的解決辦法