现在CTF方向中的内存取证相关的题目越来越多了,之前也一直没有做过整理(发出了咕咕咕的声音),这几天因为某些原因,得把重点放在取证部分,所以干脆直接在这里做个内存取证方面的知识整理。
volatility -f windows.raw imageinfo
然后从上面的Suggested Profile(s)
中选择一个作为--profile
的参数
volatility -f windows.raw --profile=WinXPSP2x86 pslist
volatility -f windows.raw --profile=WinXPSP2x86 pstree
volatility -f windows.raw --profile=WinXPSP2x86 cmdscan
# 常规命令,把所有文件列出来
volatility -f windows.raw --profile=WinXPSP2x86 filescan
# 查找flag字符相关
volatility -f windows.raw --profile=WinXPSP2x86 filescan | grep flag
# 查找指定后缀文件
volatility -f windows.raw --profile=WinXPSP2x86 filescan | grep -E 'png|jpg|gif|zip|rar|7z|pdf|txt|doc'
volatility -f windows.raw --profile=WinXPSP2x86 memdump -p [PID] -D ./
# [./] 代表当前文件夹
# -D ./ 还可以写作 --dump-dir=./
volatility -f windows.raw --profile=WinXPSP2x86 dumpfiles -Q 0x0000000002c61318 -D ./
# -Q 后接 [filescan]命令扫描得到的 Offset(P)
volatility -f windows.raw --profile=WinXPSP2x86 editbox
volatility -f windows.raw --profile=Win7SP0x86 userassist
volatility -f windows.raw --profile=WinXPSP2x86 notepad
volatility -f windows.raw --profile=Win7SP0x86 clipboard
# 加参数 -v 可以导出
volatility -f windows.raw --profile=Win7SP0x86 clipboard -v > out.txt
volatility -f windows.raw --profile=WinXPSP2x86 procdump -p [PID] -D ./
volatility -f windows.raw --profile=WinXPSP2x86 dlldump -p [PID] -D ./
volatility -f windows.raw --profile=WinXPSP2x86 iehistory
volatility -f windows.raw --profile=WinXPSP2x86 screenshot -D ./
volatility -f windows.raw --profile=WinXPSP2x86 cmdline
volatility -f windows.raw --profile=WinXPSP2x86 netscan
volatility -f windows.raw --profile=WinXPSP2x86 connections
volatility -f windows.raw --profile=WinXPSP2x86 hivelist
volatility -f windows.raw --profile=WinXPSP2x86 hivedump -o 0xe1492b60#注册表的 virtual 地址 [上图的\SAM]
# 显示结果是md5形式
volatility -f windows.raw --profile=WinXPSP2x86 hashdump
# 需要和hivelist配合
volatility -f windows.raw --profile=WinXPSP2x86 hashdump -y [注册表 system 的 virtual 地址] -s [SAM 的 virtual 地址]
volatility -f windows.raw --profile=WinXPSP2x86 mimikatz
但是mimikatz插件不是自带的,得自己另行安装,安装可以参考这个
# 获取SAM表中的用户(注册表中的账号密码)
volatility -f windows.raw --profile=WinXPSP2x86 printkey -K "SAM\Domains\Account\Users\Names"
# 查询登陆账户系统(可查看最后登录用户)
volatility -f windows.raw --profile=WinXPSP2x86 printkey -K "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"
volatility -f windows.raw --profile=WinXPSP2x86 timeliner
volatility -f windows.raw --profile=WinXPSP2x86 consoles
systeminfo插件也不是自带的,得自行安装,安装过程与前文mimikatz安装类似,这里只给出systeminfo.py文件:
链接:https://pan.baidu.com/s/19OzHV29EGW_0701a5CoQAA 提取码:7h41
#可以获得计算机的 Hostname,ComputerName等信息
volatility -f 1.raw --profile=WinXPSP2x86 systeminfo
volatility -f 1.raw --profile=WinXPSP2x86 mftparser > mftoutput.txt
mftoutput.txt 里面包含内存里面的文件(文件路径,文件内容),可根据需要自行搜索
volatility -f imagin.vmem --profile=Win7SP1x64 envars
且values值是str类型