Log4j 漏洞引發全球開源軟體安全危機,揭露了企業供應鏈的巨大風險!本文深入剖析開源軟體的安全管理問題與風險來源,並提供企業五大防護策略,協助資安人員落實供應鏈治理、全面修補系統漏洞。

從wiki引用的說明,Volatility是一個用於事件響應和惡意軟體分析的開源記憶體取證框架,採用Python編寫,支援Microsoft Windows、macOS和Linux(從版本2.5[1]開始)。

從官方說明中,目前穩定版本為Volatility 2.6、更新中版本為Volatility 3。

有興趣的可以在這邊下載:

https://www.volatilityfoundation.org/releases

這次用來介紹的memory sample可以從這邊下載:

https://github.com/volatilityfoundation/volatility/wiki/Memory-Samples

都下載安裝完成後可以用-h 先查詢指令,相關語法也可以在下列網址上進行查詢:

https://github.com/volatilityfoundation/volatility/wiki/Command-Reference


 

觀察memory檔案

這次使用Malware - Cridex Windows XP SP2 x86

※python vol.py -f xxxx.vmem imageinfo

 

NEITHNET


可以看到Suggested Profile(s) 這個imageinfo的可能系統類型
下面列出的Type(Service Pack)可以讓我們確認該映像檔版本來進行收斂查詢值


EX:python vol.py -f xxxx.vmem --profile=WinXPSP2x86 pslist


pslist


 ※pstree 可以看到父子process關聯


pstree


 ※psscan 深度搜尋,可以搜尋隱藏的process (目前此範例無隱藏process)


psscan


 ※psxview 主要可以確認 pslist 與psscan中,是否有查詢出process的差異,如果有就需要注意


psxview


connections 查詢連線,可以看到1484這個PID有做對外連線 IP:41.168.5[.]140:8080

參照上面我們查出來的process ID 可以知道PID:1484 = explorer.exe
看到這邊就要去想為什麼explorer.exe(檔案總管)會去做對外連線


connections


connscan 可以查詢是否有隱藏連線,查詢完之後發現還多了一個連線,連線到IP:125.19.103[.]192:8080


connscan


拿到這些連線後我們可以拿去做一些相關查詢等動作,可以當作一些IR查詢的相關輔助資料。


getsids 可以查詢各process有關的SID 像是可以看到reader_sl.exe 有繼承explorer.exe權限等


getsids


printkey :可以查詢registry key的值資料型態等

像是 printkey -K “SAM\Domains\Account\Users\Names”
可以查該系統上有哪些USER


printkey

剩下其他相關指令都可以參閱上面的wiki 右邊條列可以根據所需系統項目來進行查詢

NEITHNET


除了github上提供的那些比較舊的memory檔案之外,如果有機會拿到其他memory時候,就利用Volatility來協助調查吧。


有任何資安問題,歡迎隨時與NEITHNET團隊聯繫!

參考資料:

https://github.com/volatilityfoundation/volatility

https://www.volatilityfoundation.org/contest

https://en.wikipedia.org/wiki/Volatility_(software)