今天開始要來介紹一些真實病毒所產生的封包範例,而我們要介紹的是來自DEEPEND RESEARCH DATA這個網站的資料(網址:http://data.deependresearch.org/ ),如果我的記憶沒有錯誤,這個網站的資料是一位美國的媽媽在維護的,上面提供了非常多病毒的樣本跟病毒所產生的封包檔案,並整理在一個Google表格中(網址:https://docs.google.com/spreadsheet/pub?key=0AmZaq9VEa4DMdFo3RWZEb1U1UEF1cDlFN1JCV2dUSHc&single=true&gid=0&output=html ,有可能會有變動,請依官網公布為主),如果要研究病毒的話是非常好的資源,但可能是擔心有人取得資料後會做不法使用,所以檔案都是有加密的,我自己是之前因為需要做相關研究所以已經有跟站長取得密碼,而如果也有需要的朋友,請自行寄E-mail詢問站長密碼喔。
今天先來介紹一個叫做「Alina POS v5.6」的病毒所產生的流量,這是一個針對POS系統進行感染的病毒,並是在2013/08/11被紀錄到該網站的。
首先把封包檔案下載後打開,接著來看看我們可以從封包中看出什麼吧。
首先,直接把檔案拉到最下方,發現這個檔案總共有120個封包,而且從第1個封包到最後一個封包之間的總長為1797秒,約為半小時。
接著我們觀察這個封包裡面有幾個腳色存在,從功能列的Statistics>Endpoint,可以發現只有3個IP存在,如下圖,而其中兩個172.16開頭的IP因為是保留IP,所以遭感染的電腦及遭感染電腦所在網域的Gateway,而剩下的91開頭的IP就是C&C Server或傳送接收指令惡意的設備IP。
接著看看封包吧,120個封包數量不算多,如果想要的話也可以一個一個看過去,不過我們先大致瀏覽一下封包列表,可以發現整個封包都是持續的在做HTTP的三方交握,既然這樣我們就下個「http」的過濾指令,來看看能不能發現什麼特別的地方吧。
從上圖可以看到,遭感染的設備每隔一陣子就會對位於91這個IP的網站發出POST請求,並似乎會把什麼資料送到該網站/adobe/version_check.php的頁面上,而發出request後,也會收到來自該網站的reply。在這邊我們可以推測攻擊者是想把惡意連線偽裝成adobe用來向原廠連線,並偵測安裝在本機上的adobe產品需不需要更新的封包。
我們把每次發出POST連線的時間記錄下來,發現遭感染電腦固定每約隔240秒就會發出一次Request,這次因為封包比較少所以直接用看得比較快,但如果封包數量比較多,良心建議大家可以使用tshark來把想要的資料取出,速度會快得多喔。
那隨便點下其中一個POST的封包看看吧HTTP Header吧,在這邊馬上就可以發現有一個欄位很奇怪,就是User-Agent的欄位,如下圖紅框處,一般來說,User-Agent這個欄位會顯示的是發出這個request的軟體類型及版本編號,例如我自己使用Chrome來上網時,我的User-Agent會長成「Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36」,這並不會是一個準確的值,也不能確保使用者用的就是這個版本的瀏覽器,但我們可以肯定的是,這個欄位絕對不會是如下圖紅框處「Alina v5.3」這種值出現,那這代表什麼意思呢?代表這個封包很可能不是由使用者利用瀏覽器瀏覽網頁所產生的HTTP request,而是由程式產生的HTTP request,但正常來說HTTP request並不應該由程式產生,所以要是看到這個欄位內容有問題,幾乎可以肯定這封包需要好好檢查一下了。
不過User-Agent這個欄位其實非常容易偽造,如果這個欄位看似正常也不代表這個封包就一定是正常的喔。
接著我們可以看到這些封包都有傳送檔案出去的行為,如下圖Media Type欄位所示,但因為顯示的類型是「application/octet-stream」,而所有可以被執行的檔案都可以被泛指為這種格式,所以在這邊我們其實看不出傳送的檔案是什麼類型的檔案。
在封包上按右鍵Follw>TCP Stream,就可以看到request和reply的內容,首先可以發現request的內容似乎是經過加密或是須以特定程式才能夠打開,所以在這邊還是看不出來傳送的內容到底是什麼,而我們也可以發現每次request傳送出去的內容都不一樣,但reply回來的內容都是差不多的,如下圖紅框處。
在這邊我們可以推測遭感染的電腦會定期把電腦裡的資訊傳到外面去,或是傳送某種資訊給攻擊者,以竊取資料或是告知攻擊者這台電腦還活著且在掌握中。
另外還是得再講一下,這個封包是因為被設計成單純要記錄病毒所產生的惡意連線,所以內容沒有其他雜訊存在,我們可以很輕易地就發現連線異常的地方,但如果是一般使用者電腦的話封包就會比這個來的複雜得多,也需要更仔細才能發現其中異常的地方。
今天的分析就到這邊啦,如果有任何想要補充或是指正的地方都歡迎告訴我喔!