MBR勒索木馬再度來襲:GoldenEye分析
早在今年上半年,破壞力極強的修改MBR並加密MFT (Master File Table)的勒索木馬Petya就引起了殺毒廠商的高度關注,然而在今年下半年360白名單分析組又捕獲了該作者最新的勒索木馬「GoldenEye」。 半年以來該木馬作者與殺毒軟體的對抗持續升級,新的勒索木馬的查殺難度顯著增強。
一、 主要流程
圖1 GoldenEye木馬流程圖
二、 Shellcode部分
GoldenEye為了偽裝自己,在微軟的開源代碼ZoomIt中嵌入了惡意的ShellCode。
圖2 GoldenEye中微軟開源的ZoomIt相關字元串
ShellCode經過多層SMC解密出GoldenEye主體,並PE Loader執行。
圖3 ShellCode解密出GoldenEye的代碼
接著解密Loader的xxxx區段,裡面包含Petya以及提權DLL(elevate_x86.dll/elevate_x64.dll),並動態載入API。
圖4 解密Loader的xxxx區段
三、 偽裝功能
如果主程序不處於%AppData%目錄下,則執行偽裝功能,否則執行加密功能。
圖5 判斷程序路徑執行不同功能
通過將自己偽裝成系統文件來迷惑用戶。
圖6 將自身複製到%appdata%UUID
svp.exe中
其中rsvp.exe是由FindFirstFileA匹配以下模式來獲得的任一系統文件名:
system32
w
*w
.exe
、l
*x
.exe
、m
*p
.exe
、l
*h
.exe
、a
*r
.exe
、g
*d
.exe
、f
*i
.exe
、a
*v
.exe
、o
*i
.exe
、y
*n
.exe
、l
*h
.exe
、h
*q
.exe
、p
*b
.exe
、m
*d
.exe
圖7 FindFirstFileA查找匹配的任一系統文件
UuidCreate創建隨機Uuid,如圖6中的{0a993d81-16ef-454e-84a0-4cf182e67159}。
圖8 UuidCreate創建隨機UUID
調用UpdateResourse將正常系統文件版本資源數據替換給GoldenEye,設置GoldenEye文件時間和kernel32.dll一致。
圖9 GoldenEye獲取正常系統文件版本資源更新到拷貝的文件
創建進程執行偽裝後的GoldenEye。
圖10 調用偽裝後的GoldenEye
四、 選擇Payload
首先解密出暗網的網址以及用戶標識KEY,暗網網址+用戶標識Hash的前8位就是用戶支付贖金的網址。
圖11 GoldenEye暗網網址的相關生成演算法
然後通過VerifyVersionInfoW(系統版本)以及GetTokenInformation(管理員許可權)來決定執行流程,如果擁有管理員許可權則執行Petya,否則執行Mischa。
通過硬碟物理序列會生成兩個hash字元串,作為互斥量的名稱。
互斥量的作用是為了防止同一加密流程被重複執行。
圖12 判斷執行流程
五、 Petya模塊
圖13 Petya執行流程
Petya通過向MBR寫入數據並調用NtRaiseHardError強制重啟來觸發加密流程。
圖14 Petya部分寫入MBR以及強制重啟的關鍵代碼
petya感染之後惡意數據在系統磁碟的分布如下:
圖15 Petya感染後扇區布局
其中0×20扇區寫入的是配置文件,裡面包含Salsa20的相關密鑰。
圖16 Petya配置信息
其中Salsa20的加密Key會在加密後抹去,IV向量保持不變。
圖17 清除Salsa20的加密Key
0×22保存著是加密過的原始MBR,Petya會通過其定位MFT表,然後進行加密,每次加密2個扇區,並且每加密0×40個扇區時會更新進度條。
圖18 加密MFT關鍵代碼
老版本的Petya使用了簡化的Salsa20演算法來加密MFT(主文件表),存在暴力破解密鑰的漏洞,所以新版本的Petya修復暴力破解的漏洞,並提升了Salsa20的演算法強度,密碼的長度驗證擴充為32位元組。
圖19 密碼的長度驗證
Salsa20用輸入的key對0×21扇區進行解密後,如果解密後的數據都為0×7則表示驗證通過。
圖20 對0×21扇區數據進行驗證
Petya只會針對分區格式為MBR且文件系統為NTFS的MFT(主文件表)進行加密,否則只修改MBR,顯示黃色骷髏頭,這就意味著我們可以通過直接修復MBR來恢復系統。因為Petya只對MFT表進行加密,並不加密文件內容,所以我們也可以直接通過相關的分區工具直接對文件進行恢復。
圖21 判斷磁碟分區格式
圖22 判斷文件系統格式
六、 Mischa模塊
圖23 Mischa模塊基本流程圖
從代碼中我們可以看出Mischa能夠加密硬碟以及可移動磁碟。
圖24遍歷硬碟和可移動磁碟
加密以下固定後綴的文件:
圖25 加密文件的後綴
MisCha會對文件大小進行判斷,如果文件大於32MB,只加密5MB大小的數據。
圖26 判斷文件大小
Mischa的文件名由原始文件名和用戶標識Key的前8位組成:
圖27 修改文件名
Mischa使用AES256演算法對文件內容進行加密,每次加密0×400位元組。對於每一個需要加密的文件來說,AES256的KEY是固定不變的,唯一不同的是隨機生成的IV向量。
圖28 加密文件內容
對文件加密完成後,會在文件末尾寫入長度為0×76位元組的解密相關的配置信息。
圖29配置信息的內存布局
最後釋放YOUR_FILES_ARE_ENCRYPTED.TXT,提醒用戶文件已被加密。
值的一提的是,當Mischa加密完成之後, GoldenEye並沒有善罷甘休,重新執行Petya流程,對MFT進行加密。
在高版本的系統中,讀寫MBR需要管理員許可權,所以GoldenEye就會利用xxxx區段解密出的elevate_x86.dll/elevate_x64.dll進行提權,從而順利的執行Petya。
提權的原理主要是通過查找系統白名單文件,對其進行dll劫持實現的。
圖30 DLL劫持後的入口點代碼
圖31 重新執行GoldenEye
七、 GoldenEye勒索提示
惡意代碼執行完之後就開始強制重啟電腦,進行勒索提示:
圖32 GoldenEye木馬勒索提示畫面
GoldenEye木馬的贖金為1.3個比特幣,且勒索方式相比Petya顯得溫和的多,不再因錯過截止時間就翻倍贖金。GoldenEye木馬會對輸入的加密串進行簡單的校驗,如果出現大小寫錯誤或者其他錯誤都會提示,直至輸入正確的數據。
圖33 提示輸入識別碼
輸入正確的識別碼之後提示用戶勒索贖金的金額。
圖34 提示比特幣數額
最後提供支付贖金的賬戶。
圖35 提示比特幣收款賬戶
八、 360殺毒可以完美查殺
GoldenEye主要通過發送「求職垃圾郵件」的形式進行傳播,並引誘受害者點擊其中包含的惡意附件。首個附件是一個PDF文檔,它將自己偽裝成一封正經的求職信,而後還跟著一個包含了宏惡意軟體的Excel文檔。提醒廣大網友:重要數據應定期備份。此外,他人發來的可疑程序或腳本(如exe、scr、js等)不要雙擊運行,這樣就能最大限度的避免中招。
圖36 2016年12月6日GoldenEye在VT上查殺的情況
* 本文作者:360安全衛士(企業帳號),轉載請註明來自FreeBuf.COM

※Brave瀏覽器被曝安全漏洞:黑客可偽造網址欺騙用戶
※南非國有銀行是如何看待勒索攻擊的?
TAG:FreeBuf |
※袋鼠皮AG的新選擇 Umbro Speciali Eternal Pro AG
※Gordon Pembridge 木頭之美
※Supreme 聯名、NBHD x Converse、Patta x Umbro、大 AIR、Google等 | K-WORD
※英倫製造,New Balance 「Cambrian」
※純白鞋款再添力將!OFF-WHITE x Umbro Coach Sneaker正式曝光
※茵寶兩大足球鞋對比:Umbro Medusae II vs Velocita 3
※New Balance 「Cumbrian Pack」清爽來襲
※Van Cleef & Arpels梵克雅寶限量版Vintage Alhambra吊墜項鏈
※外國明星|Olivia Palermo&Kendall Jenner&Alessandra Ambrosio機場私服
※ThomBrowne松垮OVERSIZE,你懂不懂?
※大手筆|Konica Minolta高達10億美元的價格收購基因檢測公司Ambry Genetics
※Virtual Umbrella公司推VR Safari計劃
※在路上 To Cambridge
※Cambridge Technology推出面向激光打標應用的DC3000 Plus
※維秘超模Alessandra Ambrosio登希臘版Bazaar八月刊
※克里斯汀為 Chanel 的「Ombre Première」 眼妝系列拍攝的大片,給驚艷哭了!
※維密天神Alessandra Ambrosio熱褲粉Tee堪比青春少女
※Alessandra Ambrosio亞歷山大·安布羅休
※女神Natalie Imbruglia和她的《Torn》