
ZX-校內實習

實驗流程
通過實驗流程可以幫助我們更清楚該如何使用工具尋找我們所需要或者想呈現的內 容

01
運用IDAPro靜態分析軟體開啟LockBit様本執行檔
目前IDApro是功能最齊全且廣泛用於逆向工程和程式分析的工具,其中就有我們要利用的靜態分析。而靜態分析是在不執行程式的情況下就對其進行分析,因此我們可以透過這個方法來觀察各個函式及程式。
上圖為IDA視窗介紹
02
查看各個函式的呼叫流程圖
這個步驟可以讓我們觀察特定函式的完整流程,從它的起點到中間經過的function,最後就是執行的函式。並且可以幫助我們深入了解和分析程式碼之間的結構及相互關係。

上圖為函式流程圖

03
分析有被呼叫到的function程式碼
透過呼叫流程圖開始瞭解不同function間在呼叫函式時是在做什麼事情,根據流程呼叫的先後由後往前看下一個呼叫者的function內的程式,從過程中瞭解行為以幫助我們尋找可用的IOC。
sub_411E40

sub_418620

04
判斷哪些程式碼片段可以當作Ioc
右圖的這段程式碼是來自sub_418620,它在修改註冊表中的數值,而修改註冊表數值本身的行為就需要獲取最高的權限,但一般的應用程式不需要如此高的權限,因此我們認為sub_418620這段能當IOC。
由於單個IoC無法直接證明這就是此病毒的惡意行為,因此我們也需要將其他函式被呼叫到的function透過分析、判斷後,將產生的IoC與其他IoC組合成一種新的IoC,如此一來就能解決過去IoC難以判斷同一家族之不同變種病毒的問題。


05
用現有和我們找的IoC去測試樣本
判斷完有哪些程式片段是可以當作IoC之後,就可以開始配合現有的IoC去測試樣本,而測試樣本可透過虛擬機快照功能擷取樣本攻擊時的記憶體內容。最後利用IoC尋找記憶體內是否有該特徵出現。
06
利用測試結果算出各個的準確率
在利用IoC進行特徵比對時,會有判斷正確或錯誤的可能性,正確即表示該IoC是可以在同家族的其他樣本中找到,錯誤即表示該IoC無法在同家族的其他樣本中找到,因此我們需要算出現有IoC和我們自己找到的IoC各自的準確率來進行比對,並證明我們的IoC是更好的。
