惡意程式分析 - 常用工具篇

前言

工作的關係,最近接觸了一點 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 

或是直接丟ANY.RUN看結果就好


-0xbc

留言

這個網誌中的熱門文章

Offensive Security Certified Professional (OSCP) 滲透測試證照經驗分享

Offensive Security Certified Professional Review