對勒索病毒的逆向分析

樣本分析準備



基礎知識:
1.需要具備一定的開發(fā)能力
2.熟悉匯編語言
3.PE文件結構的掌握
工具使用:
熟練掌握以下常用工具的功能,基于以下工具展開詳細分析,可以對病毒樣本進行一個詳細流程和功能分析,從而分析還原出關鍵的病毒功能,及研究對應的對抗方案。


樣本分析流程




對一個病毒樣本或者軟件詳細分析,一般可以通過五個步驟進行分析樣本功能:樣本基本屬性、樣本結構、樣本靜態(tài)分析、樣本功能行為監(jiān)控、樣本動態(tài)分析。基于以上的五個步驟基本上可以分析出詳細的樣本功能實現(xiàn)。

樣本基本信息



通過PEID、ExeInfoPE工具分析出樣本的幾個基本屬性。
通過Hasher工具可以分析出樣本的MD5、sha1、CRC32的屬性值。
PEID、ExeInfoPE兩個工具原理:
通過解析PE文件結構解析出樣本的區(qū)段信息、通過匹配征碼方式匹配出樣本是否加殼、加什么殼,樣本開發(fā)語言和開發(fā)工具。



樣本功能分析



病毒樣本功能可以從幾個維度分析:自啟動(服務器,注冊表)、釋放文件、網(wǎng)絡通信、加密解密。
主要通過靜態(tài)IDA分析和動態(tài)ollydbg分析相結合,通過IDA分析出樣本中的流程結構(也重點關注下導入表信息,字符串信息),然后再針對每個函數(shù)進行分析,函數(shù)中的參數(shù)傳遞和返回值信息通過ollydbg工具附加下斷點進行動態(tài)調試分析。
以下流程圖是整個病毒樣本的功能流程,主要就是進行系統(tǒng)服務操作,利用微軟的SMB漏洞進行445端口漏洞的嘗試、釋放真正的勒索病毒樣本。

樣本在IDA工具中的main函數(shù)的流程結構

樣本入口函數(shù)的關鍵功能函數(shù)實現(xiàn)的解析

惡意代碼功能解析

開始對445端口漏洞嘗試功能解析

進行內網(wǎng)445端口漏洞嘗試功能實現(xiàn)解析

進行外網(wǎng)445端口漏洞嘗試功能實現(xiàn)解析

漏洞嘗試的效果展示

釋放真正的勒索病毒文件
通過從應用程序的資源部分進行釋放出病毒樣本exe和dll模塊,并將樣本的exe和dll模塊釋放到C盤的windows目錄下,以偽裝成為系統(tǒng)程序。

釋放樣本文件效果展示
通過procmon工具,并進行針對病毒樣本進程進行監(jiān)控,可以實際監(jiān)控到樣本釋放文件的操作。


釋放勒索病毒功能梳理




釋放出來的樣本在IDA中展示main函數(shù)的流程結構(直接用拖入方式即可)

樣本main函數(shù)流程中的關鍵函數(shù)進行解析

樣本中將比特幣賬號采用硬編碼方式直接寫在代碼中

采用微軟的加解密算法,通過調用系統(tǒng)CryptDecrypt和CryptDecrypt函數(shù)用于進行加解密ZIP文件。

動態(tài)釋放模塊進行判斷釋放出來的文件是否是標準PE文件(判斷PE文件的DOS頭部分“MZ”,在進行判斷NT頭的PE簽名信息“PE”)

勒索病毒對以下所有后綴文件進行加密,這些后綴文件基本覆蓋所有類型的文件。

(僅分享樣本大概功能流程,還有如核心的加解密算法相關的功能沒有進行分析)

對勒索病毒的一點思考



1.預防中病毒通用方案
在系統(tǒng)上安裝病毒查殺軟件并及時更新病毒特征庫并定時查殺(建議安裝火絨)。
從互聯(lián)網(wǎng)上下載的文件、程序進行查看數(shù)字簽名有效性,并手動掃描查詢文件。
使用移動存儲介質時,進行查殺病毒后再進行打開。
不隨意打開、安裝陌生或來路不明的軟件。
2.分析勒索病毒
斷網(wǎng)的虛擬機環(huán)境
PE文件解析工具進行靜態(tài)PE文件分析。
IDA靜態(tài)流程和ollydbg動態(tài)流程分析。
3.勒索病毒預防解決方案
主動關閉系統(tǒng)中135、137、139、445端口。
創(chuàng)建一個互斥體名稱為Global\\MsWinZonesCacheCounterMutexA,讓勒索病毒程序 啟動不起來(僅功能的對抗思路)。
及時更新系統(tǒng)補丁程序。
定期備份重要的數(shù)據(jù)在不同位置(網(wǎng)盤、移動硬盤)。

End


點個

在看
你最好看
