volatility
簡介:
volatility(挖樓推了推) 是一個開源的框架,能夠對導出的內存鏡像進行分析,能夠通過獲取內核的數據結構,使用插件獲取內存的詳細情況和運行狀態,同時可以直接dump系統文件,屏幕截圖,查看進程。
官網下載地址:https://www.volatilityfoundation.org/26
這個軟件的安裝真的讓我很煩,剛開始在github上面下載的源文件是需要python2環境運行,需要安裝pycrypto distorm3模塊
然后再我python2 -m pip install distorm3和python2 -m pip install distorm3均報錯,在windows和Linux中均報錯,
最后在官網竟然有windows和linux系統的可執行文件,直接下載就可以執行???????,好的扯淡結束,總之很煩,我很傻

volatility可以直接分析VMware的暫停文件,后綴名為vmem

imageinfo 獲取內存鏡像的操作系統版本信息
volatility -f 文件名 imageinfo,這里我得文件名為easy_dump.img

會獲取推薦我們使用的鏡像,一般第一個最為准確,可多次測試來確定最為准確的,這里為Win7SP1x64
pslist 列出內存中的進程
可以列出內存中運行的進程的pid,ppid等信息
volatility -f easy_dump.img --profile=Win7SP1x64 pslist

類似的也有dlllist,可以看到進程的位置

netscan 查看網絡連接狀態
可以通過這個獲取本機的IP地址,類似於netstat -an
volatility -f easy_dump.img --profile=Win7SP1x64 netscan

hivelist 列出緩存在內存中的注冊表
volatility -f easy_dump.img --profile=Win7SP1x64 hivelist

filescan 掃描內存中的文件
volatility -f easy_dump.img --profile=Win7SP1x64 filescan,會查找所有文件

由於列出文件較多,可以使用grep使用
volatility -f easy_dump.img --profile=Win7SP1x64 filescan | grep "txt\|jpg\|png"

如果是在windows中運行,配合findstr使用

在CTF中,我們常搜索flag
volatility -f easy_dump.img --profile=Win7SP1x64 filescan | grep flag
dumpfiles 導出內存中的文件
在我們filescan后,會給出文件在內存中的代號,指定代號就可以將文件導出
volatility -f easy_dump.img --profile=Win7SP1x64 dumpfiles -Q 0x000000002408c460 -D ./ -u

-Q:指定文件在內存中的地址。-D:指定文件導出的地址。-u:指定原文件名導出
這雖然指定原文件名導出,但是並沒有原文件名導出,不知道為什么
memdump 導出指定的進程
在我們pslist會后,會給出進程的PID,只需要指定PID就可以將進程導出

例如這里notepad.exe的進程為2616
/volatility -f easy_dump.img --profile=Win7SP1x64 memdump -p 2616 -D ./

導出的文件名進程的PID,后綴名為dmp
可以使用strings -e l 2616.dmp | grep flag,篩選其中的flag
-e為選擇字符的大小,l為32bit為一個字符

cmdscan 歷史命令
掃描命令歷史獲取歷史命令

類似的也有cmdlist,相對於cmdscan像是的較多一點

screenshot 獲取截圖
從內存中獲取截圖,這截圖怎么說呢,黑白的,貌似沒什么用,但萬一flag就藏在其中呢

pringkey列出SAM表用戶,大概就是查看用戶名
volatility -f easy_dump.img --profile=Win7SP1x64 printkey -K "SAM\Domains\Account\Users\Names"

其實使用hashdump就可以獲取用戶名,這個也可以試一試
printkey獲取主機名
volatility -f easy_dump.img --profile=Win7SP1x64 printkey -K "ControlSet001\Control\ComputerName\ComputerName"

iehistory 獲取系統瀏覽器歷史

可以看到用戶通過系統瀏覽器在某個時間線干了什么
timneliner 列舉時間線
可以獲取在某個時間線做了寫什么

verinfo 列出PE,程序版本信息

editbox 查看內存中記事本的內容

自動找到記事本記得進程號,進行內容提取
