近日,“永恒之藍(lán)”WanaCry蠕蟲勒索病毒肆虐全球,引起了網(wǎng)民高度重視,同時也引起了很多黑客的注意,據(jù)瑞星安適研究人員介紹,在眾多漏洞利用的攻擊者中,發(fā)現(xiàn)了一名ip地址位于中國的黑客。該黑客利用“永恒之藍(lán)”漏洞把木馬發(fā)送到被攻擊機(jī)器,然后控制機(jī)器構(gòu)建僵尸網(wǎng)絡(luò),目前已有上千臺機(jī)器感染,未來還會造成更大的傷害。
圖:受影響IP全國分布
該攻擊最先由安適研究人員通過蜜罐捕獲。蜜罐捕獲到來了自IP 地址182.18.23.38 (此ip地址位于中國)的攻擊,被攻擊端口是 445 端口,后經(jīng)分析發(fā)現(xiàn),攻擊使用的漏洞正是永恒之藍(lán)漏洞。病毒作者攻擊后會發(fā)送帶有木馬程序的Payload,之后Payload下載RAT遠(yuǎn)控木馬實(shí)現(xiàn)機(jī)器的完全控制,從木馬的編譯時間來看,還要早于WannaCry。
雖然此木馬不會像WannaCry一樣主動傳播,也不會加密計算機(jī)中的文件,勒索贖金。但是病毒作者可以使用遠(yuǎn)控木馬,完全控制被攻擊計算機(jī)。控制計算機(jī)之后可以做任何事情。其中就有竊取文件,監(jiān)控屏幕,監(jiān)控攝像頭,監(jiān)聽麥克風(fēng),所以對受害者而言,受到的傷害并不比勒索要小。
此外,比來捕獲的一些樣本表白,泄露的漏洞除了被用于傳播勒索病毒,傳播木馬之外。還有一些攻擊者使用泄露的漏洞和攻擊兵器傳播挖礦病毒,使受害者計算機(jī)cpu、顯卡使用率飆升。導(dǎo)致計算機(jī)溫度過高,機(jī)器嚴(yán)重卡頓,無法完成正常工作。還有一些攻擊者,使用漏洞抓肉雞,組建僵尸網(wǎng)絡(luò)。這些僵尸網(wǎng)絡(luò)可被用來DDOS攻擊,,對企業(yè)、社會造成極大的危害。有數(shù)據(jù)表白,60%的小企業(yè)會在遭受DDOS攻擊 6 個月內(nèi)倒閉。
詳細(xì)分析:
攻擊者 首先通過網(wǎng)絡(luò) 向被攻擊目標(biāo),發(fā)送可以觸發(fā)漏洞的網(wǎng)絡(luò)數(shù)據(jù)流。一旦攻擊成功,攻擊者將通過這條通道,發(fā)送一個二進(jìn)制DLL文件,完成進(jìn)一步的控制,下文中我們將此文件稱作Payload。
Payload分析
1、攻擊過程邏輯如下:
圖-攻擊過程
圖-Payload執(zhí)行過程
2、病毒各部分功能:
表-各部分功能
3、Payload運(yùn)行之后首先調(diào)用InWMI 函數(shù)將硬編碼的Jscript腳本注冊為WMI中的永久事件消費(fèi)者。當(dāng)與其綁定的時間到達(dá)時,就會被觸發(fā)執(zhí)行預(yù)先定義好的Jscript腳本,此方式較為隱蔽。
圖-注冊WMI事件消費(fèi)者
圖-硬編碼的腳本
腳本的功能是:
(1)拜候指定網(wǎng)頁獲取要結(jié)束的進(jìn)程列表
圖-獲取進(jìn)程列表代碼
網(wǎng)頁:8888/kill.html 中的進(jìn)程列表
圖-獲取到的進(jìn)程列表
進(jìn)程列表 :
表-結(jié)束的進(jìn)程
(2)讀取列表,結(jié)束指定進(jìn)程,刪除指定文件
這些被結(jié)束的進(jìn)程,刪除的文件,都是已知的一些病毒常用的名稱。作者這樣做的目的是為了更加便利的控制受害者的計算機(jī),防止被另外病毒干擾。而且也可以防止另外病毒引起的計算機(jī)異常時,受害者排查的時候發(fā)現(xiàn)本身。
圖-結(jié)束進(jìn)程,刪除文件
(3)下載并運(yùn)行指定程序
拜候網(wǎng)頁wmi.mykings.top:8888/test.html 下載遠(yuǎn)控木馬主體
圖-下載運(yùn)行指定程序
(4)運(yùn)行RAT遠(yuǎn)控木馬主體
c:\\windows\\debug\\item.dat
圖-運(yùn)行遠(yuǎn)控木馬主體
至此注冊WMI事件的Jscrpit腳本功能完成。
4.聯(lián)網(wǎng)獲取控制指令
Payload中除了注冊WMI之外,還會拜候網(wǎng)絡(luò),獲取控制指令
首先拜候:8888/ok.txt 將內(nèi)容讀取到緩沖區(qū)中
然后解析數(shù)據(jù),讀取控制指令,按照控制指令執(zhí)行對應(yīng)的功能
讀取到[down]指令
則從后面的網(wǎng)址:8888/close.bat下載文件
生存為c:\windows\debug\c.bat
圖-下載c.bat命令
c.bat的主要功能是關(guān)閉端口,防止利用同樣漏洞的病毒再進(jìn)入受害者計算機(jī),導(dǎo)致本身的遠(yuǎn)控?zé)o法正常工作。
圖-關(guān)閉端口代碼
讀取到[cmd]指令
則執(zhí)行后面的批處理命令
圖-cmd批處理命令
批處理命令的功能和Jcript腳本功能類似 ,增加刪除賬戶的功能,結(jié)束的進(jìn)程也有變革。
刪除以下賬戶
表-刪除的賬戶
結(jié)束指定進(jìn)程刪除文件
表-結(jié)束的進(jìn)程
運(yùn)行之前[down]命令下載的 c:\windows\debug\c.bat
圖-運(yùn)行c.bat代碼
圖-運(yùn)行木馬主體代碼
木馬主體分析
木馬主體加了殼,反匯編無效,動態(tài)調(diào)試也很困難
圖-加殼信息
圖-區(qū)段信息
圖-入口代碼
但是通過字符串和執(zhí)行的流程,發(fā)現(xiàn)了此木馬是由開源遠(yuǎn)程控制軟件的代碼修改而來
開源代碼結(jié)構(gòu):
圖-開源代碼結(jié)構(gòu)
木馬運(yùn)行之后,執(zhí)行初始化操作,初始化完成之后創(chuàng)建監(jiān)聽線程等待遠(yuǎn)程控制辦事器連接。按照遠(yuǎn)程發(fā)來的指令執(zhí)行差別的功能。
執(zhí)行流程:
圖-木馬執(zhí)行流程
創(chuàng)建監(jiān)控線程線程,回調(diào)函數(shù)中
keepAlive 等待控制指令,收到控制指令后按照指令 執(zhí)行對應(yīng)的功能
圖-監(jiān)控線程源碼
圖-監(jiān)控線程反匯編代碼
此木馬的主要功能有
表-控制碼功能
對應(yīng)代碼:
具體防范防御辦法:
1、安置系統(tǒng)補(bǔ)丁或開啟Windows Update。
2、在條件允許的情況下,關(guān)閉 445 端口。
3、安置、升級專業(yè)的防病毒產(chǎn)品,開啟全部監(jiān)控功能。