藉助"永恆之藍"傳播的wannacry蠕蟲病毒為何如此之快?

5月12日晚爆發了以NSA黑客工具泄露的"永恆之藍",涉及MS17-010漏洞,此病毒利用windows的445埠傳播,並在短短的5個小時感染了,英國、中國、俄羅斯等99個國家,此蠕蟲病毒比起以往蠕蟲有哪些新的技術,和思路


謝葯~

不是啥0day,早就發布了,我先佔個坑,吃完飯回來寫。

============

回來了。。。

首先糾正一下,這不是0day,0day是指剛公布出來還沒有補丁的漏洞,這漏洞都好幾個月了,3月份微軟就出補丁了。

微軟聲稱win10不會收到影響,但是該漏洞(MS17-010)明明是是會有一部分win10版本收到影響的,想不明白。

1.該病毒主要原理

首先,這個黑客給自己留了個開關的。。。整個程序會先試圖連接szUrl這個域名,成功的話就關上連接,直接退出。否則,就執行Real_main()。szUrl是個未經註冊的很奇怪的地址:http://www.iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com 這個域名顯然是無效的,於是病毒會正常執行。什麼時候黑客想要全面終止這個病毒,那麼就註冊這個奇葩域名,全世界的wannacry自然就全都失效了。一個英國小伙逆向了這個病毒發現了這個邏輯,昨天花了10英鎊註冊了這個域名。所以這個蠕蟲消停下來了。

然後這個病毒會檢測傳給它的參數數量,如果少於兩個,就安裝一個叫mssecsvc2.0,顯示名稱為Microsoft Security Center (2.0) Service的東西,實際上就是一個傳遞進去兩個參數的它自己的二進位可執行文件= =

如果參數有兩個或以上,最後將執行到真正的蠕蟲函數

初始化函數首先會調用 WSAStartup() 來初始化網路。然後CryptAcquireContext() 來初始化 密碼學相關的API。然後調用了一個函數來初始化兩個buffer用來存儲蠕蟲的payload DLL, 一個x86,一個x64。

payload DLL的代碼很短,就是把蠕蟲病毒的二進位機器碼複製到 C:WINDOWSmssecsvc.exe並執行。

2. SMB漏洞增強了該蠕蟲病毒的擴散性

初始化函數執行後,生成了兩個線程。第一個線程用來掃描區域網內的主機。第二個線程被創建了128次。。。第二個線程掃描互聯網裡的主機。

第一個掃描區域網的線程通過 GetAdaptersInfo() 來獲取區域網內的IP地址們,然後用一個數組把這些IP地址存下來一個個掃描。

區域網掃描本身就是多線程實現的,而且還主動避免同時掃描十個以上的IP地址。

這個線程會嘗試連接445埠,如果連接成功就再新建一個線程來利用MS17-010(也就是永恆之藍)漏洞。如果該嘗試超過10分鐘的話就終止這個線程。

第二個線程(生成了128個用來掃描互聯網的那個)會生成一個隨機的IP地址——用之前初始化的密碼學API里的密碼學偽隨機數(如果該API失敗的話就用一個較弱的偽隨機數)。如果連接那個隨機IP地址的445埠成功的話,已/24為掩碼的整個地址段都會被掃描。如果這個地址段中也有445埠開著的話,同樣開始利用MS17-010漏洞。這次設定的超時時間為一小時。

如果上述線程在發掘漏洞是發現任何雙星脈衝(DOUBLEPULSAR)可以安裝的情況,就會用雙星脈衝來發送相關的payload DLL。

3. 保護措施

綜上所述,最關鍵的一點是安裝MS17-010的補丁。這個補丁微軟3月就發過了,所以打開自動更新就可以。

或者關掉445埠,避免該蠕蟲利用永恆之藍漏洞感染你的電腦。

如果被感染了,那麼肯定也意味著雙星脈衝(DOUBLEPULSAR)也安裝了你電腦上了。這個腳本:countercept/doublepulsar-detection-script 可以遠程檢測並移除雙星脈衝的後門。

==================

評論區有人問能不能講一下永恆之藍,其實事實上。。。我也不太懂其原理orz

我倒是可以講一下「永恆之藍」,「雙星脈衝「具體是什麼,做什麼,翻了翻這兩天關於wannacry的回答,好多答案似乎都不太懂的,還有什麼說RAS,ACE加密的。。。

4. 「永恆之藍」與「雙星脈衝」

該段參考exploit-db里的一篇paper,paper鏈接是最下方的參考鏈接3,本人就一本科生,如有謬誤歡迎指正。

首先先說點坊間傳聞吧,從根源說起的話,這其實是幾個月前的事情了。美國國家安全局NSA有一個黑客組織叫做"Equation Group",也就是有人說的"方程式小組"。另一個黑客組織Shadow Brokers 黑了Equation Group,搞到了大量的NSA的黑客工具,這就是所謂的NSA黑客軍火庫了。然後Shadow Brokers想賺筆錢,準備賣掉這些工具,又怕別人不相信,於是就公布了一部分工具,解釋說是NSA的,又把一部分工具加密後要價100萬比特幣。然後微軟看到自己家被搞了,就給打了個補丁。Shadow Brokers發現並沒有人鳥他們開的價,自覺無聊就把密碼公開了。Shadow Brokers公布的工具有人給上傳GitHub上,有人想去參(下)觀(載)以下可以點這個鏈接misterch0c/shadowbroker。

然後大致解釋一下這兩個名詞吧。

在fuzzbunch里輸入你和被攻擊者的IP地址,啟用永恆之藍,shell就會問你是否執行永恆之藍,它會先建立鏈接,然後ping一下看一下靶機上是否裝有永恆之藍的後門。如果沒有裝的話。。。那就開始裝唄。。。先發送一個SMB的echo request,接受正常回復後往SMB做緩衝區溢出(應該是吧,沒研究過)。貌似是先往SMBv2的緩衝區發數據,然後是往SMBv1發大量數據,最後往SMBv2發數據。關上SMBv1的連接後SMBv2附近會產生空洞。(真的不理解,有人懂得希望教一下,謝謝)

然後再發發掘漏洞的數據包,得到安裝永恆之藍後門成功的回復。

然後攻擊者寫自己的payload(DLL文件),用「雙星脈衝」來將其注入之前受過永恆之藍攻擊裝有後門的主機並運行。

大致流程就是這樣的。至於這個漏洞具體是怎麼被利用的,不好意思我確實沒研究過不敢亂說。補充這一段大家就當個樂子看好了。

參考鏈接:

1. The worm that spreads WanaCrypt0r

2. https://gist.github.com/rain-1/989428fa5504f378b993ee6efbc0b168

3. https://www.exploit-db.com/docs/41896.pdf


永恆之藍是工具名不是病毒名………


知道創宇404實驗室早已在一個月前對NSA 的漏洞進行了跟蹤分析,詳情見:https://www.zoomeye.org/lab/ms17-010


永恆之藍通殺xp,03,08 win7操作系統,只要打開445埠,即可成功利用,拿到系統許可權


推薦閱讀:

如何看待 WannaCrypt0r 還沒有結束?
熊貓燒香當年有多兇殘?
某寶上買的模擬人生4的下載壓縮包可靠嗎?
電腦莫名其妙變成這樣。該怎麼辦。好多重要文件!!!?
QQ空間瘋傳的iOS點開就死機的視頻是什麼原理?

TAG:網路安全 | 黑客Hacker | 信息安全 | 計算機病毒 | WanaDecrypt0r20計算機病毒攻擊 |