惡意程式分析 - 常用工具篇
前言
工作的關係,最近接觸了一點 Malware跟逆向的東西,把常用的工具跟用途紀錄一下,怕以後自己忘記....希望能不定時更新
本篇會分為四個部分來記錄
- 執行環境
- 靜態分析
- 動態分析
以及最後的懶人包
執行環境
最常見的就是Windows,個人偏好用Windows 7 64 bits,很常見也可以裝很多東西,惡意程式大多都是針對Windows 而設計的
另一個很好用的執行環境是 REMnux, 裡面已經預載了很多常用的工具接下來會提到
連結可以參考這裏 https://remnux.org/ 以及官方文檔 https://docs.remnux.org/
靜態分析
顧名思義,不想執行惡意程式但想看看裡頭的內容,針對Windows的話可以用下列工具
- PE Studio - 需要額外安裝。可以做初步的分析,同時可以知道是否有Anti-debug/analysis 阻擋著我們
- IDA - 逆向標配,可以看assembly,同時也具有Debug功能
- Ghidra
- PE Bear/ PE View - 可以針對PE檔案格式做深入研究
- oledump.py - 針對Office格式(Word, Excel)分析裡面的Macro
- pdf-parser.py - 針對PDF格式分析裡面的Object
動態分析
靜態分析完了之後想驗證自己的想法,可以使用動態分析
動態分析方法比較多種,但大致可以分成自動跟手動,本魯比較偷懶,比較常用自動分析
- Cuckoo - 沙盒標配,資料相當完整,但偶而會被Anti-debug/analysis的招式抓到直接不執行
- ANY.RUN - 最簡單就是丟到Cuckoo這類的沙盒,不過最近發現了個很好用且免費的工具,他可以直接跟沙盒內的Windows VM做互動。唯一缺點是只支援Windows平台
對於不屑用沙箱的逆向大神們,先受我一拜........
喜歡手動的話,也是有些工具可以推薦
- Process Hacker - 高配版工作管理員,記錄所有執行中的程式以及詳細內容 (Mutex, process handle.....) 一邊執行一邊看著,通常可以很好發現 Process Injection的特徵
- Process Explorer - 記錄所有API usage,但建議搭配視覺化工具像是ProcDOT,比較好看一點,或至少要用內建的Filter來抓出程式所使用的API
- INetSim - 在封閉的網路可以充當Server,支援各大常見protocol,已經內建在REMnux裡面。
- Apate DNS - 可以搭配 REMnux做使用,把所有網路Traffic都導向REMnux,並搭配INetSim做使用
- Wireshark - 記錄所有封包
- Fiddler - 超好用的Web proxy, 不用特別設定,就算在封閉環境內也可以看到未成功發出的Web request
- RegShot - Malware常常會更改Registry來做persistence,RegShot可以幫助找出改變了什麼
- x64dbg - User mode debugger, 這邊推薦個plugin --ScyllaHide 超級好用,幫助bypass Anti-debug/analysis
- WinDBG - Kernal mode debugger
- dnSpy - 針對.NET的逆向工具,包含靜態跟動態分析功能
懶人包
懶人如我,可以先下載個Windows 7 64bits VM,之後上 FLARE VM 執行他的安裝script,簡單暴力,上述的工具基本都會有,安裝完記得Take Snapshot
-0xbc
留言
張貼留言