NEITHNET 情資分享
NEITHNET 資安實驗室
從wiki引用的說明,Volatility是一個用於事件響應和惡意軟體分析的開源記憶體取證框架,採用Python編寫,支援Microsoft Windows、macOS和Linux(從版本2.5[1]開始)。
從官方說明中,目前穩定版本為Volatility 2.6、更新中版本為Volatility 3。
有興趣的可以在這邊下載:
這次用來介紹的memory sample可以從這邊下載:
都下載安裝完成後可以用-h 先查詢指令,相關語法也可以在下列網址上進行查詢:
觀察memory檔案
這次使用Malware – Cridex Windows XP SP2 x86
※python vol.py -f xxxx.vmem imageinfo
可以看到Suggested Profile(s) 這個imageinfo的可能系統類型
下面列出的Type(Service Pack)可以讓我們確認該映像檔版本來進行收斂查詢值
EX:python vol.py -f xxxx.vmem –profile=WinXPSP2x86 pslist
※pslist 可以查詢記憶體中運行的process列出來:https://docs.microsoft.com/en-us/sysinternals/downloads/pslist
※pstree 可以看到父子process關聯
※psscan 深度搜尋,可以搜尋隱藏的process (目前此範例無隱藏process)
※psxview 主要可以確認 pslist 與psscan中,是否有查詢出process的差異,如果有就需要注意
※connections 查詢連線,可以看到1484這個PID有做對外連線 IP:41.168.5[.]140:8080
參照上面我們查出來的process ID 可以知道PID:1484 = explorer.exe
看到這邊就要去想為什麼explorer.exe(檔案總管)會去做對外連線
※connscan 可以查詢是否有隱藏連線,查詢完之後發現還多了一個連線,連線到IP:125.19.103[.]192:8080
拿到這些連線後我們可以拿去做一些相關查詢等動作,可以當作一些IR查詢的相關輔助資料。
※getsids 可以查詢各process有關的SID 像是可以看到reader_sl.exe 有繼承explorer.exe權限等
※printkey :可以查詢registry key的值資料型態等
像是 printkey -K “SAM\Domains\Account\Users\Names”
可以查該系統上有哪些USER
剩下其他相關指令都可以參閱上面的wiki 右邊條列可以根據所需系統項目來進行查詢
除了github上提供的那些比較舊的memory檔案之外,如果有機會拿到其他memory時候,就利用Volatility來協助調查吧。
參考資料:
https://github.com/volatilityfoundation/volatility
https://www.volatilityfoundation.org/contest
https://en.wikipedia.org/wiki/Volatility_(software)
更多資安訊息及防護策略,歡迎與NEITHNET資安專家聯繫:info@neithnet.com。