轉載自CSDN-初識逆向大神
本文鏈接:https://blog.csdn.net/w_g3366/article/details/100590112
文章目錄
勒索病毒分析報告
1.樣本概況
1.1 樣本信息
病毒名稱:DBD5BEDE15DE51F6E5718B2CA470FC3F
所屬家族:勒索病毒
大小: 327680 bytes
修改時間: 2017年4月13日, 15:30:22
MD5值: DBD5BEDE15DE51F6E5718B2CA470FC3F
SHA1值: 863F5956863D793298D92610377B705F85FA42B5
CRC32:1386DD7A
1.2 測試環境及工具
測試環境:虛擬機Windows 7 32位
測試工具:火絨劍、PCHunter、PEiD、OllyDbg、IDA、LoadPE
1.3 分析目標
分析病毒具體行為,找到病毒行為的具體實現代碼,了解病毒實現原理,評估病毒的威脅程度。
1.4 樣本行為概述
是一個勒索軟件,樣本運行后的行為:
①將系統內的文本、文檔等文件加密
②每個文件夾都會生成文字版和圖片版的勒索信息
③程序會自我復制,自我刪除,遍歷進程
④程序會修改注冊表,添加啟動項,開機彈出勒索信息
⑤向87.238.192、85.128.216.188和85.13.137.133的80端口發送數據
2.具體行為分析
2.1 主要行為
①自我復制,自我刪除,啟動新進程
②加密文件,生成文字版和圖片版的勒索信息
③設置自啟動項,啟動項偽裝成CMD
定位到注冊表可以查看啟動項cmd的參數
④遍歷進程
⑤網絡連接,泄漏用戶信息
2.2 提取惡意代碼
原樣本存在大量的混淆代碼。根據樣本行為可以發現程序會釋放新的進程,然后自我刪除。可以猜測是在新進程中執行惡意代碼。VirtualAlloc申請內存API,CreateProcessW創建進程API下斷點,過程中從申請的內存中Dump出來兩份PE文件,第一個PE文件和原文件完全相同,第二個PE文件比原程序要小並且沒有混淆代碼。
CreateProcessW創建進程函數執行時,可能會執行惡意代碼。重點分析,根據參數可以發現進程創建后是掛起的,這是病毒創建傀儡進程的常用操作。在恢復進程ResumeThread API函數下斷點。程序運行到這時,通過修改參數禁止恢復進程。
恢復進程ResumeThread執行后,樣本進程就退出了。可以發現電腦文件並沒有被病毒加密。至此,可以確定創建進程函數要執行的就是第二個PE文件。惡意代碼就是該PE文件,所以詳細分析該文件就可以了。
2.3 惡意代碼分析
2.3.1 樣本中Dump的惡意代碼基本信息
在分析樣本時,樣本會在內存中釋放出來一個PE文件,負責執行惡意攻擊行為。Dump內存得到的是一個.exe
文件,使用PEID查看基本信息,可以確定是VS2010編寫的。
2.3.2 樣本中Dump的惡意代碼分析
①程序流程和關鍵函數樣本的主要流程和關鍵惡意代碼函數見下圖
關鍵代碼執行流程:
②檢測代碼分析
樣本開始有一系列的檢測代碼,如果觸發就會退出進程。
樣本的流程先拷貝自身,執行新進程,退出本進程。OD動態調試,實時修改驗證函數返回值,使進程不退出。
樣本中很多函數都調用了sub_4013B0,用OD動態分析,確定該函數功能是獲取函數地址。
③解密字符串函數分析
Sub_402170函數的解密流程:申請內存->解密字符串->釋放內存。解密關鍵函數是Sub_403EB0,一共解密五組字符串。
解密得到各種擴展名字符串
解密得到生成勒索信息文件名用到的字符串
解密得到代碼中常用用到的各種字符串,如cmd命令、系統環境變量等
解密得到各種網址
解密得到勒索文本內容
④獲取權限信息和提高進程權限
獲取進程權限信息
提高進程權限
⑤自我復制和刪除
⑥修改注冊表,設置啟動項
⑦創建病毒備份文件
⑧線程回調1:枚舉進程
判斷進程中如果存在任務管理器、注冊表、進程工具、組策略、cmd,將其結束掉。
⑨線程回調2:執行Shell腳本
⑩線程回調3:通過HTTP協議連接網絡,發送數據
⑪線程回調4:遍歷文件
獲取用戶設備信息,遍歷指定磁盤文件
遍歷磁盤,若當前對象是文件夾,則在每個文件夾目錄下創建勒索文本和圖片
若當前對象是文件,執行加密指定類型的文件行為
3.解決方案
3.1 提取病毒的特征,利用殺毒軟件查殺
①病毒特征
UNICODE:"+recover+file.txt"
UNICODE:“C:\Windows\SYSTEM32\CMD.EXE \C START”
②Yara規則
rule vir
{
strings:
$text_1="+recover+file.txt"
$text_2="C:\Windows\SYSTEM32\CMD.EXE \C START"
condition:
$text_1 or $text_2
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
3.2 手工查殺步驟或是查殺思路
勒索病毒查殺思路:
- 勒索病毒使用的文件加密算法以目前的技術手段是無法解密的。也就是說,中了勒索病毒,沒有密鑰很難去還原文件。
- 需要提前做好預防工作,提高系統安全級別。分析出勒索病毒提取特征,更新病毒庫,殺毒軟件就可以在電腦中勒索病毒之前之前將病毒截獲清除。
如果不慎中了勒索病毒,可根據以下步驟先將電腦病毒清除,防止造成更大的損失。手工查殺步驟:
- 使用PCHunter結束病毒進程樹
- 刪除注冊表啟動項,服務啟動項
- 刪除病毒exe文件
- 刪除我的文檔目錄下的病毒備份文件"+recover+file.txt"
- 遍歷磁盤文件,刪除勒索信息文件