您好,登錄后才能下訂單哦!
Wannacry勒索軟件母體主程序逆向分析
好了,說正題,我從這里下載了Wannacry樣本,一些枯燥的匯編分析細節就不多講,我們盡量快速的了解到整體過程。
首先會通過一個函數算出一個標識,我們將這個函數命名為getDisplayName,本質就是通過GetComputerNameW獲取計算機名然后取隨機數算出一個唯一對應的標識(我們命名為DisplayName),后面的執行過程會用到這個標識
接下來會做幾件事情,任意一項未執行成功都會退出
檢查命令行參數是否為兩個,并且是否有/i這個參數
檢查并嘗試在ProgramData目錄 或 Intel目錄 或 Temp系統臨時目錄下創建前面算出的DisplayName為標識的目錄
將這個工作目錄設置為6也就是0×2 和 0×4(FILE_ATTRIBUTE_HIDDEN 和 FILE_ATTRIBUTE_SYSTEM )隱藏和系統
創建自身的副本并命名為tasksche.exe
將tasksche.exe優先以服務方式啟動,如果失敗則以普通進程方式啟動(副本啟動的入口點和原始文件啟動的入口點不同,從而實現不同的邏輯)
通過互斥體Global\\MsWinZonesCacheCounterMutexA來判斷是否啟動成功
以上幾項都成功完成后流程才會繼續,否則終止。
創建注冊表項HKEY_LOCAL_MACHINE\Software\WanaCrypt0r\wd ,寫入當前路徑值
從資源中釋放PE文件taskdl.exe、taskse.exe,為了免殺,資源中的PE文件是加了密的,釋放過程中會解密,比較繁瑣
會給釋放的資源傳一個類似key之類的參數過去,參數值為WNcry@2ol7
然后在當前目錄下讀取c.wnry文件
如果讀取到了c.wnry文件,就會將13AM4VW2dhxYgXeQepoHkHSQuy6NgaEb94通過一個隨機數加密后寫回到c.wnry,而這一串數字就是***的比特幣地址,也就是說c.wnry文件里保存的是加密后的***的比特幣地址
上圖就是c.wnry文件的加密算法,這個加密很簡單,只用了兩句來實現
下面的臨時解決方案的自動化工具里就用到了這三個***的比特幣地址
13AM4VW2dhxYgXeQepoHkHSQuy6NgaEb94
12t9YDPgwueZ9NyMgw519p7AA8isjr6SMw
115p7UMMngoj1pMvkpHijcRdfJNXj6LrLn
執行這兩句命令
attrib +h .
icacls . /grant Everyone:F /T /C /Q
attrib命令將DisplayName工作目錄設置為隱藏
icacls命令開放目錄的用戶權限
接下來是動態獲取所需的API地址
首先是獲取kernel32.dll中的文件相關的API
然后是獲取advapi32.dll中的加解密相關的API
CSP用的是系統默認或者是RSA and AES
加密文件以WANACRY!為特征頭
被加密的文件涉及到各種文檔、文本、虛擬機、壓縮包、鏡像、圖片、視頻、音樂、源代碼、腳本、數據庫、郵件、證書等近200種文件類型,幾乎涵蓋了方方面面,但確沒有BT種子文件,看來***還是有所為有所不為啊^_^
網上流傳了一個臨時解決方案的思路是:
獲取***收款地址的交易記錄
將別人支付贖金的記錄信息(交易hash值)冒充是自己付的發送給***來蒙混過關(挺賊的^_^)
通過https://btc.com/可以查詢到交易記錄,但是我們需要有***的收款地址,上面我們已經分析出來了
13AM4VW2dhxYgXeQepoHkHSQuy6NgaEb94
12t9YDPgwueZ9NyMgw519p7AA8isjr6SMw
115p7UMMngoj1pMvkpHijcRdfJNXj6LrLn
網上有個python的自動化腳本,這里再優化一下,而且還有很多人不是搞IT的,不懂什么python,于是做了一個傻瓜式的exe程序來自動獲取交易記錄
工具鏈接: http://pan.baidu.com/s/1hsbwQaC 密碼: p263
從下午開始一直坐在電腦前就沒起過身,分析、碼字、寫工具,一晃現在都到半夜了,搞這行傷不起啊。寫不動了,今天先休息了。不過也能猜到其他還要做什么,就是掃端口,找到開放了445端口SMBv1的就使用NSA老大的Eternalblue Doublepulsar實現蠕蟲式傳播
最后再分享下這次罪魁禍首的工具:
https://github.com/x0rz/EQGRP_Lost_in_Translation
https://github.com/misterch0c/shadowbroker
是工具(沒有源碼),用了一個python***框架Fuzzbunch簡稱fb,這個框架怎么用,可以看這里http://www.freebuf.com/articles/system/133853.html
微軟的補丁信息:https://blogs.technet.microsoft.com/msrc/2017/04/14/protecting-customers-and-evaluating-risk/
文章地址:http://www.freebuf.com/vuls/134602.html
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。