
動態(tài)專區(qū)
九維團(tuán)隊(duì)-青隊(duì)(處置)| Revil勒索軟件樣本行為分析
一、樣本基本信息
|
文件名稱:agent.bak
文件大?。?/strong>83.0KB
最后修改日期:2022年8月10日,0:07:43
MD5:
2608d32524e17332eae79afa78f215eb
SHA1:
887bd34d8eae7de8fe24c6ee890f5196c1ed99f5
SHA256:
ffc9e9505eb0a71352c0421784577153617c970f3f9c27b3c0399db454fd9bdd
是否加殼:有
殼類型:無
開發(fā)語言:VS2015
標(biāo)簽:勒索軟件、REvil家族
二、樣本行為分析
01
注冊表監(jiān)控
|
02
文件監(jiān)控
創(chuàng)建勒索文件,加密文件并改名:
|
三、詳細(xì)分析
程序查詢不出任何API,沒有什么重要內(nèi)容的字符串,惡意行為被隱藏起來。需要病毒樣本動態(tài)進(jìn)行解密恢復(fù)IAT。
IDA分析
加載完成后,可以看到入口點(diǎn)有四個函數(shù)調(diào)用:
我們發(fā)現(xiàn)sub_407682函數(shù),首先傳入數(shù)組的4字節(jié)數(shù)據(jù)給sub_4074F9函數(shù),然后將運(yùn)算結(jié)果(eax)的值重新回填給數(shù)組,一共循環(huán)了780次,計算了3120個字節(jié)。這與我們熟知的動態(tài)解析IAT方法很相似,加上我們之前分析病毒抹去了IAT可以合理猜測該處在做回填I(lǐng)AT表的操作。
進(jìn)去查看sub_4074F9函數(shù),疑似switch/case的判斷。根據(jù)傳進(jìn)來不同的數(shù)據(jù)進(jìn)行執(zhí)行不同流程中的函數(shù)地址賦值,然后跳轉(zhuǎn)到LABEL_33。根據(jù)動態(tài)鏈接庫的加載經(jīng)驗(yàn),第一件事一般是動態(tài)獲取目標(biāo)模塊的基地址,然后根據(jù)基地址解析對應(yīng)導(dǎo)出函數(shù)的位置。所以猜測這里的switch/case語句是在做獲取dll基址的操作。
驗(yàn)證函數(shù)是否正確:
01
sub_406C8E? - 解密字符串
匯編形式表現(xiàn)如下。
注:如果逆向時突然出現(xiàn)兩次循環(huán)且每次循環(huán)次數(shù)都為256,后續(xù)存在異或操作基本可以猜測為rc4解密算法,這種特性為rc4算法特征。
下面可以發(fā)現(xiàn)字節(jié)異或算法,可以基本確認(rèn)是rc4算法了。
根據(jù)RC4的特性可以分析出函數(shù)的功能:
02
動態(tài)修復(fù)IAT
所謂動態(tài)修復(fù)IAT類似動態(tài)脫殼,原理是利用病毒自身攜帶的解密程序,在病毒自動修復(fù)完成后中斷。將內(nèi)存狀態(tài)Dump出來保存。在sub_407682步過:
|
使用Scylla就可以發(fā)現(xiàn)此時IAT可以修復(fù)完成了,dump出來就可以進(jìn)行下一步的分析:
03
病毒行為分析
可以看到修復(fù)之后的邏輯了,首先動態(tài)獲取API后再加載ole32模塊獲取創(chuàng)建COM組件所需的接口。
退回到函數(shù)主邏輯,可以看到病毒先是修復(fù)了IAT表來保證程序正常運(yùn)行:
Sub_405F61 函數(shù)
設(shè)置錯誤模式獲取錯誤信息并創(chuàng)建名為Global\72F38129-220D-3C80-4D03-DC9E69CA4394的全局互斥體保證進(jìn)程唯一性。
Sub_402043 函數(shù)
創(chuàng)建內(nèi)存空間解密配置勒索信息:
解密出來可以看出是一種網(wǎng)絡(luò)腳本語言JSON語法的配置文件:
在nbody字段和img字段存在base64的特征,通過base64解密可以解密出勒索信的內(nèi)容:
|
勒索信存在填充內(nèi)容,猜測后續(xù)會有收集系統(tǒng)信息的操作:
接著分析,病毒收集卷序列號以及CPU信息生成一個hash值:
獲取并設(shè)置新的注冊表鍵值信息:
獲取當(dāng)前用戶:
獲取計算機(jī)的 NetBIOS 名稱:
獲取domain鍵值:
獲取本地系統(tǒng)語言:
獲取Windows版本信息:
判斷系統(tǒng)位數(shù):
之后在sub_402930將字符串進(jìn)行拼接并加密,并設(shè)置為注冊表里的值:
樣本函數(shù)的主邏輯
我們可以分析出病毒設(shè)置了程序/線程的優(yōu)先級和防止系統(tǒng)休眠。還有一個sub_408012的函數(shù),利用RtlAdJustPrivilege進(jìn)行提權(quán)。
接下來病毒創(chuàng)建了兩個個通信線程執(zhí)行不同的功能。
Thread sub_404532
使用WMI檢測異步創(chuàng)建進(jìn)程:
Thread sub_4047F1
使用WMI檢測是否有ShadowCopy文件:
sub_403AA0函數(shù)
遍歷進(jìn)程服務(wù),殺死ServicesActive配置字段中的服務(wù)進(jìn)程:
殺死列表中服務(wù)進(jìn)程:
sub_405EE1函數(shù)
病毒創(chuàng)建了一個進(jìn)程快照通過循環(huán)對當(dāng)前內(nèi)存中進(jìn)程信息塊進(jìn)行遍歷,并將獲取到的進(jìn)程名傳入函數(shù)指針,調(diào)用函數(shù)指針指向的地址。
不是.exe就終止進(jìn)程:
根據(jù)進(jìn)程ID殺死進(jìn)程:
文件加密是通過API暴力遍歷所有盤符,滿足類型后遍歷加密盤符:
遍歷盤符目錄:
遍歷共享網(wǎng)絡(luò)盤符:
勒索病毒配置文件下的加密白名單,其中包括exe,com等。
寫入勒索信函數(shù):
04
加密部分
病毒作者為了追求加密時的高效快速,利用了I/O完全端口。這種技術(shù)可以實(shí)現(xiàn)異步多線程,為線程并發(fā)提供有效支持。
調(diào)用CreateIoCompletionPort函數(shù)創(chuàng)建一個I/O完成端口對象,并創(chuàng)建一個函數(shù)循環(huán)創(chuàng)建與IOCP對象交互的線程。
病毒的加密分為了四個步驟,被封裝到一個switch語句里進(jìn)行調(diào)用。
加密算法我們可以使用ida的插件findcrypt幫我們識別算法的特征。
RijnDael_AES算法
Salsa20算法
橢圓曲線密碼系統(tǒng)(ECC)
在引用AES算法之前的sub_409F32函數(shù)里發(fā)現(xiàn)121665常量。
四、總結(jié)
綜上所述,agent.exe樣本屬于REvil家族的一款勒索病毒,樣本的最后編譯為2022年8月10號。
Sodinokibi,也稱為 REvil,是一種自 2019 年 4 月起活躍的勒索軟件。Sodinokibi 是一種“勒索軟件即服務(wù)”,這意味著開發(fā)人員不是進(jìn)行攻擊的人。相反,他們維護(hù)管理/支付基礎(chǔ)設(shè)施并向客戶提供或出售惡意軟件。這些客戶是傳播惡意軟件的人。對于支付的每一筆贖金,開發(fā)人員都會獲得一定的百分比。
這種方式有很多優(yōu)點(diǎn):感染源成倍增加,開發(fā)人員可以專注于代碼和維護(hù),而客戶可以專注于攻擊和感染目標(biāo)。
樣本使用了-t參數(shù)來判斷樣本是否要釋放出病毒,在靜態(tài)分析的時候病毒使用了IAT混淆和字符串加密,病毒會在執(zhí)行過程中解析IAT表,然后創(chuàng)建全局唯一變量互斥體保證程序單獨(dú)運(yùn)行。
程序使用了RtlAdjustPrivilege進(jìn)行提取,然后,它將停止其配置中列出的服務(wù)和進(jìn)程。這些進(jìn)程通常是防病毒、數(shù)據(jù)庫、備份或快照解決方案等。病毒使用 I/O 完成端口并行文件加密,并使其盡可能快。
文件使用 Salsa20 算法加密,每個文件都有一個唯一的加密密鑰。加密密鑰由復(fù)雜的密鑰系統(tǒng)保護(hù),防止在沒有攻擊者擁有的私鑰的情況下解密文件。樣本并沒有做持續(xù)化的動作,避免留下更多的痕跡。
五、防護(hù)措施
1、規(guī)范上網(wǎng)行為,不下載安裝未知的軟件,不點(diǎn)開來歷不明的文檔、圖片、音頻視頻等。
2、定期更換域控、數(shù)據(jù)庫、服務(wù)器上的管理員密碼。
3、定期更新病毒庫,定時組織內(nèi)網(wǎng)進(jìn)行全盤掃描。
4、定期更新補(bǔ)丁,修復(fù)漏洞。
5、定期檢查防火墻及安全軟件的防護(hù)日志,及時發(fā)現(xiàn)異常并解決。
6、定期離線備份或異地備份重要數(shù)據(jù)。
7、修改數(shù)據(jù)庫默認(rèn)端口,防止被掃描器爆破。
8、進(jìn)行嚴(yán)格的隔離,有關(guān)系統(tǒng)、服務(wù)盡量不開放到互聯(lián)網(wǎng)上,內(nèi)網(wǎng)中的系統(tǒng)也要通過防火墻、VLAN或網(wǎng)閘等進(jìn)行隔離。
相關(guān)推薦
- 新發(fā)展!MSS亞運(yùn)天穹-新一代主動防御運(yùn)營中心正式運(yùn)營
- 擁抱MSS2.0 2023西湖論劍·MSS安全托管運(yùn)營服務(wù)論壇成功舉辦
- “省心·安心·放心”就選安恒MSS安全托管運(yùn)營服務(wù)!
- 九維團(tuán)隊(duì)-橙隊(duì)(賦能)| 個人應(yīng)當(dāng)如何做好自我安全防護(hù)?
- 九維團(tuán)隊(duì)-紫隊(duì)(優(yōu)化)| 紫隊(duì)劇本: 安全測試的威脅建模(八)
- 安恒信息MSS煥新,安全體驗(yàn)再升級!文末有驚喜!
- 市場份額第一!安恒信息MSS安全托管運(yùn)營服務(wù)斬獲佳績