溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

vbs腳本病毒的示例分析

發(fā)布時(shí)間:2021-09-03 09:44:13 來(lái)源:億速云 閱讀:174 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章給大家分享的是有關(guān)vbs腳本病毒的示例分析的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

一、前言

病毒課老師丟給我們一份加密過(guò)的vbs腳本病毒的代碼去嘗試分析,這里把分析過(guò)程發(fā)出來(lái),供大家參考

二、目錄

整個(gè)分析過(guò)程可以分為以下幾個(gè)部分:

0x00 準(zhǔn)備工作
0x01 解密部分
0x02 功能分析

三、分析過(guò)程

0x00 準(zhǔn)備工作

windows xp的虛擬機(jī)(在自己的windows下也可以做)

vbs的一些基本語(yǔ)法

0x01 解密部分

右擊病毒文件然后編輯打開(kāi)或者是直接把其后綴修改成txt直接打開(kāi)都行,可以看到一大段密文,并調(diào)用了一個(gè)函數(shù)deCrypt。暫時(shí)只看到這些,那么接著往下看吧。

vbs腳本病毒的示例分析

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

vbs腳本病毒的示例分析

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

vbs腳本病毒的示例分析

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

vbs腳本病毒的示例分析

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

vbs腳本病毒的示例分析

0x02 功能分析

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

vbs腳本病毒的示例分析

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

vbs腳本病毒的示例分析

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

這里先是調(diào)用了instance函數(shù)。

vbs腳本病毒的示例分析

1.instance函數(shù)

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

vbs腳本病毒的示例分析

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

2.install過(guò)程

在install中,又調(diào)用了upstart,再進(jìn)去看看。

vbs腳本病毒的示例分析

2.1 upstart過(guò)程

這里通過(guò)注冊(cè)表將病毒腳本設(shè)置成開(kāi)機(jī)自啟動(dòng)。

vbs腳本病毒的示例分析

然后從upstart過(guò)程出來(lái)繼續(xù)看看install剩下的代碼,有點(diǎn)多,直接把功能告訴大家。

掃描所有的驅(qū)動(dòng),如果類型號(hào)是1,會(huì)有所動(dòng)作,為1時(shí)代表可移動(dòng)設(shè)備,這是想感染優(yōu)盤之類的可移動(dòng)設(shè)備。它將腳本拷貝到可移動(dòng)設(shè)備的根目錄下,然后設(shè)置文件屬性,2為隱藏文件,可讀寫,4為系統(tǒng)文件,可讀寫。

然后獲取可移動(dò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)擊該快捷方式后會(huì)先啟動(dòng)那個(gè)腳本病毒,然后再啟動(dòng)真正的文件,之后退出cmd。

然后對(duì)根目錄下的文件夾作同樣的操作。至此,對(duì)子程序install的分析到此結(jié)束,接下來(lái)分析函數(shù)程序post。

vbs腳本病毒的示例分析

3.post函數(shù)

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

vbs腳本病毒的示例分析

3.1 information函數(shù)

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

vbs腳本病毒的示例分析

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

4.對(duì)各種命令的解析執(zhí)行

4.1 execute命令

這里直接執(zhí)行接收到的命令

vbs腳本病毒的示例分析

4.2 update命令

這里是從服務(wù)器上獲取數(shù)據(jù)來(lái)更新病毒

vbs腳本病毒的示例分析

4.3 uninstall命令

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

vbs腳本病毒的示例分析

4.4 send命令

調(diào)用download過(guò)程從服務(wù)器下載文件

vbs腳本病毒的示例分析

4.5 site-send命令

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

vbs腳本病毒的示例分析

4.6 recv命令

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

vbs腳本病毒的示例分析

4.7 enum-driver、enum-faf、enum-process命令

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

vbs腳本病毒的示例分析

4.8 cmd-shell命令

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

vbs腳本病毒的示例分析

4.9 delete命令

調(diào)用過(guò)程deletefaf刪除指定的文件或文件夾

vbs腳本病毒的示例分析

4.10 exit-process命令

調(diào)用exitprocess來(lái)結(jié)束指定的進(jìn)程

vbs腳本病毒的示例分析

4.11 sleep命令

設(shè)置腳本的睡眠時(shí)間

vbs腳本病毒的示例分析

到此對(duì)所有的命令都解析完畢了,在執(zhí)行了相應(yīng)的命令后,病毒會(huì)睡眠指定的時(shí)間,再繼續(xù)從服務(wù)器獲取命令。

四、總結(jié)

這里對(duì)之前的分析進(jìn)行下總結(jié)吧,總結(jié)通過(guò)這次分析所學(xué):

1.先是對(duì)base64編碼的學(xué)習(xí),實(shí)際分析中不需要知道實(shí)現(xiàn)細(xì)節(jié),至少要會(huì)用吧。

2.vbs的學(xué)習(xí)。

3.通過(guò)設(shè)置注冊(cè)表來(lái)設(shè)置指定程序的自啟動(dòng)。

4.基本的調(diào)試能力,對(duì)于晦澀難懂的代碼部分,把結(jié)果輸出來(lái)會(huì)理解得更快。

然后在試驗(yàn)中還對(duì)病毒進(jìn)行了清楚,我的方法是直接截取一段密文然后進(jìn)行搜索,包含該字段的vbs文件就給刪掉,這樣注冊(cè)表是沒(méi)有修改過(guò)來(lái)的,不過(guò)要自啟動(dòng)的文件已經(jīng)被刪掉了,所以沒(méi)關(guān)系。還有一種方法是把病毒中uninstall模塊拿出來(lái),單獨(dú)調(diào)用,把所有修改都恢復(fù)。

然后,這次可以看到該病毒通過(guò)vbs實(shí)現(xiàn)了與服務(wù)器進(jìn)行通信、修改文件系統(tǒng)、修改注冊(cè)表等等的操作。使用其他的語(yǔ)言同樣可以實(shí)現(xiàn),自己覺(jué)得可能是因?yàn)榇蟛糠謜indows都有vbs的解釋器,易于傳播,并且vbs易學(xué),病毒作者選用他來(lái)編寫??傊煌恼Z(yǔ)言都有自己的特點(diǎn)吧,關(guān)鍵要看其優(yōu)點(diǎn)是否和自己的需求相契合吧。

感謝各位的閱讀!關(guān)于“vbs腳本病毒的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

vbs
AI