CTF-隴劍杯之內存分析
網管小王制作了一個虛擬機文件,讓您來分析后作答:
根據題目,可以使用內存取證工具
Volatility
Volatility是一款開源內存取證框架,能夠對導出的內存鏡像進行分析,通過獲取內核數據結構,使用插件獲取內存的詳細情況以及系統的運行狀態。
特點:
- 開源:Python編寫,易於和基於python的主機防御框架集成。
- 支持多平台:Windows,Mac,Linux全支持
- 易於擴展:通過插件來擴展Volatility的分析能力
安裝分為三步走: - 下載
- 安裝必要的python依賴文件
- 安裝本體
你可以在Release中找到對應你系統(Mac,Win,Linux)的源代碼,當然也可以通過github去獲取源碼:
git clone https://github.com/volatilityfoundation/volatility.git
軟件官方GitHub:https://github.com/volatilityfoundation
獲取支持python2的軟件:https://github.com/volatilityfoundation/volatility
獲取支持python3的軟件:https://github.com/volatilityfoundation/volatility3
如果只是用Volatility本體的話,這些依賴是沒必要裝的,但是如果你想用某些插件,還是把以下這些必備的依賴包裝上吧。
Distorm3:不錯的反編譯庫
pip install distorm3
Yara:惡意軟件分類工具
pip install yara
PyCrypto:加密工具集
pip install pycrypto
PIL:圖片處理庫
pip install pillow
OpenPyxl:讀寫excel文件
pip install openpyxl
ujson:JSON解析
pip install ujson
如果你用的是獨立的win、linux、mac執行文件,那就不必安裝了。只要用python去執行就好。
若是下載了壓縮文件,那你可以選擇直接運行python主程序,也可以選擇使用python setup.py install
的方式將Volatility以一個庫的形式安裝在系統的特定位置上,從而以后我們可以將Volatility作為一個庫在其他腳本中去引用其namespace。
實戰
先通過 imageinfo 獲取系統信息
python2 vol.py -f Target.vmem imageinfo
使用hashdump命令獲取用戶名
python2 vol.py -f Target.vmem --profile=Win7SP1x64 hashdump
lsadump命令獲取最后登錄的用戶
python2 vol.py -f Target.vmem --profile=Win7SP1x64 lsadump
可以直接使用mimikatz插件獲取flag
插件下載地址:https://github.com/ruokeqx/tool-for-CTF
python2 vol.py -f Target.vmem --profile=Win7SP1x64 mimikatz
獲取flag flag{W31C0M3 T0 THiS 34SY F0R3NSiCX}
┌──(root💀kali)-[/volatility-master]
└─# python2 vol.py -f Target.vmem --profile=Win7SP1x64 mimikatz
Volatility Foundation Volatility Framework 2.6.1
Module User Domain Password
-------- ---------------- ---------------- ----------------------------------------
wdigest CTF WIN-QUN5RVOOF27 flag{W31C0M3 T0 THiS 34SY F0R3NSiCX}
wdigest WIN-QUN5RVOOF27$ WORKGROUP