本次課程為大家介紹的是我們病毒分析師在日常工作中經(jīng)常使用的一些工具以及快速分析的技巧,。一般來(lái)說(shuō),,在不寫分析報(bào)告以及不做高級(jí)查殺研究的情況下,病毒分析師并不需要對(duì)樣本進(jìn)行深入分析,,只要判斷樣本黑白,、進(jìn)行歸類并提取特征即可。這里我會(huì)將這一系列完整的流程展現(xiàn)給大家,。
由于我們?cè)谌粘5姆治鲋幸鎸?duì)大量的樣本文件,,并且還需要對(duì)這些文件進(jìn)行復(fù)制、刪除以及目錄的創(chuàng)建等操作,,因此需要一款文件管理工具來(lái)輔助我們的工作,,這里我所使用的是Total Commander:
主界面中有兩個(gè)窗格,,便于文件的復(fù)制等操作,使用Tab鍵可實(shí)現(xiàn)兩個(gè)窗格之間的切換,。界面下方還有一些快捷鍵的說(shuō)明,。比如F3是查看文件,F(xiàn)5是復(fù)制文件,,F(xiàn)7是創(chuàng)建目錄等,。
文件的查看與分析工具使用的是Hiew,可以在Total Commander的Configuration下的Options里面找到Edit/View,,將External Viewer設(shè)置為我們的Hiew的路徑即可,,這樣我們以后只要使用F3這個(gè)快捷鍵,就可以用Hiew實(shí)現(xiàn)對(duì)樣本的查看了:
起初Hiew默認(rèn)的是以文本的形式打開(kāi)的,,我們也可以通過(guò)回車鍵進(jìn)行切換,,比如切換到十六進(jìn)制模式或者反匯編模式等,用于不同情況的分析工作,。Hiew的下方也有一些快捷鍵的說(shuō)明,,來(lái)便于我們的分析工作。我們之所以要使用Hiew這款工具,,是因?yàn)樗∏煽焖?,特別是當(dāng)目標(biāo)文件比較大的時(shí)候,我們用Hiew可以實(shí)現(xiàn)瞬間將文件打開(kāi),。這款軟件的優(yōu)勢(shì),,也會(huì)在接下來(lái)的分析中,有所體現(xiàn),。
本次課程為大家準(zhǔn)備了八個(gè)樣本,是我們分析師幾乎每天都會(huì)遇到的樣本類型,。這些樣本看似很簡(jiǎn)單,,但是往往能夠有效躲避殺軟的查殺,因此是值得我們進(jìn)行深入研究的,。
1,、0cddd8c2084adb75689b5855a70cc4a8
利用Hiew打開(kāi)后,首先從前幾個(gè)字符可以知道這是一個(gè)Powershell程序,,由后面的Hidden可知它會(huì)以隱藏的形式運(yùn)行,,接著分析可以發(fā)現(xiàn),它又在某網(wǎng)站執(zhí)行了下載操作,,并且將下載下來(lái)的exe文件保存在了臨時(shí)文件夾,,并將其后綴修改成了pif類型,之后再執(zhí)行這個(gè)文件,?!半[藏執(zhí)行”,、“下載并修改文件后綴”等,都屬于非??梢傻牟僮?,正常程序是不會(huì)這么做的,因此基本可以確定說(shuō)它就是一個(gè)惡意程序了,。當(dāng)然了,,為了謹(jǐn)慎起見(jiàn),還應(yīng)該分析這里出現(xiàn)的網(wǎng)站所對(duì)應(yīng)的下載下來(lái)的程序,,如果確定下載的程序是惡意的,,那么不單單要拉黑這個(gè)原始的執(zhí)行下載的文件,還應(yīng)該將該網(wǎng)站以及下載下來(lái)的文件拉黑才可以,,這才是完整的分析流程,。
接下來(lái)我們可以給這個(gè)文件歸類,我所采用的是四段命名法,。第一段是這個(gè)惡意程序的類型,,我們發(fā)現(xiàn)它是一個(gè)下載者程序,所以可以起名為Trojan-Downloader,。第二段是這個(gè)程序的類型,,它屬于Powershell。第三段是這個(gè)程序的家族名稱,,這里起名為Agent即可,。第四段是這個(gè)程序的編號(hào),我習(xí)慣以字母進(jìn)行排序表示,,由于這是第一個(gè)樣本,,因此編號(hào)為a。于是,,完整的名稱是:Trojan-Downloader. Powershell. Agent.a,。于是這個(gè)樣本就分析并歸類完成了。
2,、 44dcace0cfa9c0f6be1965841bc11410
首先由變量聲明符號(hào)var就可以知道它是一個(gè)JavaScript腳本,,接下來(lái)在第三行可以發(fā)現(xiàn),這里出現(xiàn)了一個(gè)網(wǎng)址,,但是奇怪的是,,這個(gè)網(wǎng)址里面的http、com以及exe等幾個(gè)字符都被尖角號(hào)給隔開(kāi)了,,包括第四行也有類似的情況,,而這種寫法在正常的程序里面是不可能出現(xiàn)的,所以就可以直接將這個(gè)程序判定為有問(wèn)題的程序了,。
同樣的,,為了謹(jǐn)慎起見(jiàn),,還應(yīng)該將這個(gè)網(wǎng)址對(duì)應(yīng)的程序下載下來(lái)分析,如果也是惡意程序,,那么網(wǎng)址和該程序都是要拉黑的,。但是到目前這一步,我們就可以直接給這個(gè)程序歸類了,。依據(jù)之前講過(guò)的歸類原則,,這里將其命名為Trojan-Downloader. JS. Agent.a。
如果想要提取傳統(tǒng)的特征,,那么可以在http,、com或者exe的位置進(jìn)行提取,因?yàn)檎5某绦虿豢赡軐⑦@些字符分開(kāi)來(lái)寫,。
3,、 84f1fa3c698915b91257706d1e4e3f0e
首先由echo off就可以知道它是一個(gè)BAT即批處理程序。接下來(lái)可以發(fā)現(xiàn),,程序?qū)懙煤軄y,,根本看不出它要干什么,這也是惡意程序常用的混淆手段,,因此就可以直接把它判定為是惡意的了,。如果要提特征的話,那么提在這些亂碼的位置也就可以了,,正常的程序里面是不會(huì)出現(xiàn)這些的,。于是可以將這個(gè)樣本歸類并命名為:Trojan.BAT.Agent.a。
4,、9b2293323610ccb2af33f977cb21f45c
類似于上一個(gè)樣本,,這個(gè)樣本的代碼同樣沒(méi)有以明文的形式呈現(xiàn),因此可以直接將其判定為是惡意的,,將其歸類并命名為:Trojan.JS.Agent.a,。
5、b5b98837ede4701a98f1467ab53160fb
這個(gè)樣本的代碼就非常清晰了,,由其語(yǔ)句可以知道,當(dāng)這個(gè)程序執(zhí)行后,,如果用戶想要訪問(wèn)google或者bing,,那么就會(huì)直接重定向到127.0.0.1這個(gè)地址了,也就是會(huì)阻止用戶的正常訪問(wèn),,因此就可以直接把它判定為是惡意的了,。將其歸類并命名為:Trojan.JS.Redirector.a。
6,、bc70dba947cd5df9fd750353da3faed7
首先由最初的dim就可以知道它是一個(gè)VBScript腳本文件,,由于它的代碼寫得很亂,,同樣地,也可以直接把它拉黑了,,將其歸類并命名為:Trojan.VBS.Agent.a,。
7、dbfcc7ffadee586e24f8247387b10d6e
首先由var可知它是一個(gè)JavaScript文件,,接下來(lái)由return后面的編碼形式(ASCII碼)以及后面的一些亂碼可知,,它也是一個(gè)有問(wèn)題的程序,因此可以將其歸類并命名為:Trojan.JS.Agent.b,。特征提取在亂碼的位置即可,。
8、dee2decebaf53fead3714cfa6e862378
類似于上一個(gè)樣本,,這個(gè)樣本的代碼同樣寫得很不規(guī)整,,所以可以直接將其拉黑??梢詫⑵錃w類并命名為:Trojan.JS.Agent.c,。
通過(guò)本次課程的學(xué)習(xí),相信大家已經(jīng)掌握了常見(jiàn)的腳本類惡意程序的快速判斷技巧以及特征的提取方式,。從某種意義上來(lái)說(shuō),,只要我們看到目標(biāo)樣本的代碼寫得非常晦澀難懂,,那么它十有八九是惡意程序了,。因?yàn)檫@是惡意程序經(jīng)常使用的躲避殺軟查殺的混淆方式。事實(shí)上,,利用傳統(tǒng)的特征碼查殺的方式來(lái)對(duì)抗這類腳本木馬的效果并不好,,因此必須要使用諸如啟發(fā)或者機(jī)器學(xué)習(xí)的方式來(lái)對(duì)抗這一批樣本。這些高級(jí)技巧我會(huì)在未來(lái)的高級(jí)篇里面為大家講解,。