一、導(dǎo)語(yǔ)
本周Wannacry勒索病毒肆虐全球,由于病毒利用了Windows系統(tǒng)的網(wǎng)絡(luò)服務(wù)(SMB)漏洞,具有主動(dòng)傳播的特性,在全球范圍內(nèi)已經(jīng)對(duì)多家醫(yī)院、服務(wù)機(jī)構(gòu)、學(xué)校等進(jìn)行了勒索攻擊。用戶(hù)一旦中招,電腦中的文檔就會(huì)全部被高強(qiáng)度的加密算法所加密,原始文件相應(yīng)的會(huì)被刪除。由于攻擊者使用了Tor匿名網(wǎng)絡(luò)和比特幣交易等技術(shù)方法,鑒于溝通的不確定性,即使繳納贖金,也無(wú)法保證可以解密,導(dǎo)致解密之日遙遙無(wú)期。
本文將會(huì)深挖Wannacry勒索軟件背后的匿名網(wǎng)絡(luò),從網(wǎng)絡(luò)分析層面揭露該病毒的狡猾伎倆。
二、整體概況
Wannacry 病毒首先會(huì)將自身注冊(cè)成為系統(tǒng)服務(wù),然后釋放攻擊程序,該程序利用微軟MS17-010漏洞[3] 進(jìn)行傳播,傳播過(guò)程無(wú)需人工參與,這也是該病毒全球爆發(fā)的主要原因之一。
該病毒敲詐加密的手法嫻熟,使用混合加密體系,即公鑰加密(RSA 2048) 配合對(duì)稱(chēng)加密(AES 128)。這樣做的好處是公鑰加密保證了只有手握私鑰的攻擊者才能解密文件,對(duì)稱(chēng)加密保證了加密效率,在短時(shí)間內(nèi)將受害者硬盤(pán)上的全部資料進(jìn)行加密。
最后,該病毒使用了Tor(The Onion Router,洋蔥路由器)[4]網(wǎng)絡(luò)同遠(yuǎn)控服務(wù)器進(jìn)行信息通信。該網(wǎng)絡(luò)最大的特點(diǎn)是匿名通信,這也是攻擊者仍然逍遙法外的主要原因之一。
三、網(wǎng)絡(luò)通信
本節(jié)會(huì)對(duì)Wannacry病毒的網(wǎng)絡(luò)通信模塊進(jìn)行梳理和解析。如圖所示,樣本的通信流程主要有以下步驟:

3.1 安裝Tor軟件
勒索軟件為了能夠匿名和服務(wù)器進(jìn)行通信,”@WanaDecrypTor

樣本通過(guò)使用官方的Tor程序接入Tor網(wǎng)絡(luò),好處是這些程序不會(huì)被殺軟認(rèn)為是病毒,減少了被查殺的可能性。同時(shí)樣本會(huì)將tar.exe復(fù)制為taskhsvc.exe在后續(xù)操作中使用,這樣做的目的是減少Tor的曝光度。
下圖是樣本Tor程序相關(guān)的文件結(jié)構(gòu)圖。

當(dāng)安裝完Tor軟件后,會(huì)立即啟動(dòng)Tor服務(wù)taskhsvc.exe,用來(lái)和匿名網(wǎng)絡(luò)中的服務(wù)器進(jìn)行通信。taskhsvc.exe啟動(dòng)后以socks代理的工作模式監(jiān)聽(tīng)本地127.0.0.1:9050端口,接收勒索主程序 ”@WanaDecryp Tor@.exe” 的網(wǎng)絡(luò)請(qǐng)求:

3.2 發(fā)送數(shù)據(jù)
當(dāng)用戶(hù)點(diǎn)擊勒索界面的“Contact Us”和“Check Payment”按鈕時(shí),如下圖所示 ”@WanaDecrypTor@.exe”進(jìn)程會(huì)向代理服務(wù)器taskhsvc.exe監(jiān)聽(tīng)的127.0.0.1:9050端口發(fā)送消息。

比如,當(dāng)我們點(diǎn)擊“Contact Us”輸入信息進(jìn)行發(fā)送時(shí),”@WanaDecryp Tor@.exe”進(jìn)程會(huì)獲取計(jì)算機(jī)名、計(jì)算機(jī)賬戶(hù)名以及其他的一些信息,連同要發(fā)送的信息發(fā)送到127.0.0.1:9050端口,然后由 Tor代理進(jìn)行轉(zhuǎn)發(fā),注意發(fā)送之前該數(shù)據(jù)會(huì)被簡(jiǎn)單異或加密,下圖是加密之前的明文:

1. 紅色框標(biāo)注的是00000000.res文件的前8個(gè)字節(jié),而00000000.res是針對(duì)用戶(hù)的一個(gè)信息標(biāo)識(shí)文件。
2. 綠色框標(biāo)注的是計(jì)算機(jī)名和計(jì)算機(jī)賬戶(hù)名。
3. 藍(lán)色框標(biāo)注的是發(fā)送的實(shí)際內(nèi)容,即”just a test.”。
當(dāng)Tor代理服務(wù)taskhsvc.exe監(jiān)聽(tīng)到127.0.0.1:9050端口有數(shù)據(jù)時(shí),會(huì)向以下暗網(wǎng)地址轉(zhuǎn)發(fā)相關(guān)數(shù)據(jù),而暗網(wǎng)地址則配置在c.wnry文件。
3.3 CC服務(wù)器
經(jīng)過(guò)逆向分析,樣本會(huì)從如下5個(gè)洋蔥地址中選擇某個(gè)進(jìn)行通信。
gx7ekbenv2riucmf.onion
57g7spgrzlojinas.onion
xxlvbrloxvriy2c5.onion
76jdd2ir2embyv47.onion
cwwnhwhlz52maqm7.onion
下圖是樣本嘗試連接onion地址的情況。

下圖是網(wǎng)絡(luò)分析中,onion地址的使用情況(57g7spgrzlojinas.onion)。

3.4 中繼節(jié)點(diǎn)
Tor網(wǎng)絡(luò)中,中繼節(jié)點(diǎn)可以使用不加密的TCP協(xié)議(9001端口),也可以使用加密的TLS鏈路通信(443端口)。并且每次使用的中繼節(jié)點(diǎn)都不相同,為溯源設(shè)置了障礙。下圖是使用9001端口的TCP協(xié)議進(jìn)行中繼。

下圖是lif.cubox.me的信息,整個(gè)Tor網(wǎng)絡(luò)中有無(wú)數(shù)個(gè)類(lèi)似的中繼節(jié)點(diǎn)。
3.5 回包分析
回包中,最重要的操作是更新付款的bitcoin地址。下面三個(gè)bitcoin是默認(rèn)的付款地址:
115p7UMMngoj1pMvkpHijcRdfJNXj6LrLn
12t9YDPgwueZ9NyMgw519p7AA8isjr6SMw
13AM4VW2dhxYgXeQepoHkHSQuy6NgaEb94
當(dāng)wannacry完成加密過(guò)程后,會(huì)啟動(dòng)一個(gè)帶 fi 參數(shù)的“@wannaDecryptor@.exe”程序,該程序接受回包后,會(huì)更新c.wnry文件,該文件保存了新的支付地址。如下圖所示,該bitcoin地址同默認(rèn)的三個(gè)地址不同。

這樣每臺(tái)受害者的電腦都會(huì)得到一個(gè)不同的付款地址,分析人員也無(wú)法統(tǒng)計(jì)攻擊者使用了多少個(gè)付款地址,牽扯到的勒索金額也無(wú)法確切統(tǒng)計(jì)。這也是此次勒索軟件的狡猾之處。
四、Tor網(wǎng)絡(luò)介紹
Tor(The Onion Router,洋蔥路由器)是實(shí)現(xiàn)匿名通信的自由軟件。Tor用戶(hù)在本機(jī)運(yùn)行一個(gè)洋蔥代理服務(wù)器,這個(gè)代理周期性地與其他Tor交流,從而在Tor網(wǎng)絡(luò)中構(gòu)成虛電路(virtual circuit)。而它之所以被稱(chēng)為onion,是因?yàn)樗慕Y(jié)構(gòu)就跟洋蔥相同,你只能看出它的外表,而想要看到核心,就必須把它層層的剝開(kāi)。即每個(gè)路由器間的傳輸都經(jīng)過(guò)點(diǎn)對(duì)點(diǎn)密鑰(symmetric key)來(lái)加密,形成有層次的結(jié)構(gòu)。它中間所經(jīng)過(guò)的各節(jié)點(diǎn),都好像洋蔥的一層皮,把客戶(hù)端包在里面,是保護(hù)信息來(lái)源的一種方式,這樣在洋蔥路由器之間可以保持通訊安全。 如下圖所示[5]:

(Tor網(wǎng)絡(luò)結(jié)構(gòu)示意圖)
五、總結(jié)
本文分析了Wannacry樣本的網(wǎng)絡(luò)通信行為,同時(shí)介紹了Tor洋蔥網(wǎng)絡(luò)的相關(guān)信息。該樣本使用了Tor網(wǎng)絡(luò)同CC服務(wù)器進(jìn)行匿名的加密通信,通信的方式是在本地9050端口搭建代理服務(wù)器,然后由代理服務(wù)器連接外部的中繼節(jié)點(diǎn)。這種方式增加了隱蔽性和對(duì)抗網(wǎng)絡(luò)分析的能力,也是攻擊者目前仍然逍遙法外的主要原因之一。
|