volatility
安装
https://github.com/volatilityfoundation/volatility/releases
https://voltraining.wixsite.com/volatilityfoundation/releases
volatility_2.6_win64_standalone.zip
volatility_2.6_lin64_standalone.zip
安装方式有很多
kali2021
1 | git clone https://github.com/volatilityfoundation/volatility |

pip install –upgrade setuptools
中间还有很多坑
1 | sudo apt-get install -y python2.7-dev |
确定是yara的问题了
参考链接https://yara.readthedocs.io/en/v4.1.0/gettingstarted.html

1 | ln -s /usr/local/lib/python2.7/dist-packages/usr/lib/libyara.so /usr/lib/libyara.so |
不报错了

使用
需要识别到版本号,版本号较多。
格式
1 | .\volatility.exe -f <文件名> --profile=<配置文件> <插件> [插件参数] |
判断未知内存镜像系统版本信息-imageinfo/kdbgscan
1 | python vol.py -f ~/Desktop/memory.img imageinfo |
imageinfo 用于标识操作系统、service pack和硬件体系结构(32位或64位);可能有多个建议的配置文件,必须选择正确的配置文件
列出转储时运行的进程的详细信息-pslist/pstree/psscan
1 | .\volatility.exe -f .\memdump.mem --profile=Win7SP1x86_23418 pslist >pslist.txt |
当内容比较多时候,
>pslist.txt导出文本进一步分析查看pslist无法显示隐藏/终止进程,解决这个问题可以使用psscan

查看隐藏进程-psxview
1 | python vol.py -f ~/Desktop/memory.img --profile=Win2003SP1x86 psxview |
网络连接情况-netscan
1 | python vol.py -f xxx.mem --profile=Win2003SP1x86 netscan |
cmd的历史命令-cmdscan
1 | python vol.py -f ~/Desktop/memory.img --profile=Win2003SP1x86 cmdscan |

扫描当前打开的文件-filescan
1 | python vol.py -f ~/Desktop/memory.img --profile=Win2003SP1x86 filescan | grep "flag" |

1 | volatility -f file_patched_tjctf.dmp --profile=Win7SP1x86_23418 filescan | grep Downloads |
找下载的文件夹了,一般windows下载的内容都放在 Download 文件夹中
内存中隐藏或注入代码-malfind
1 | python vol.py -f ~/Desktop/memory.img --profile=Win2003SP1x86 malfind |
进程装载的动态链接库-dlllist
1 | .\volatility.exe -f .\memdump.mem --profile=Win7SP1x86_23418 dlllist >dlllist.txt |
其显示列表主要包括加载的动态链接库文件的基地址、文件大小以及文件所在路径
缓存在内存的注册表-hivelist
1 | python vol.py -f ~/wtl/mem.vmem --profile=WinXPSP2x86 hivelist |

打印注册表数据-hivedump
1 | python vol.py -f ~/wtl/mem.vmem --profile=WinXPSP2x86 hivedump -o 0xe146c398 |

内存中的系统密码-hashdump
1 | .\volatility.exe -f .\memdump.mem --profile=Win7SP1x86_23418 hashdump |

1 | python vol.py -f name --profile=WinXPSP2x86 hashdump -y (注册表 system 的 virtual 地址 )-s (SAM 的 virtual 地址) |

程序运行信息-userassist
1 | .\volatility.exe -f .\memdump.mem --profile=Win7SP1x86_23418 userassist |

包含正在运行的程序有哪些,运行过多少次,最后一次运行的时间等信息
查看SID-getsids
1 | .\volatility.exe -f .\memdump.mem --profile=Win7SP1x86_23418 getsids |
寻找可能注入到各种进程中的恶意软件-malfind
1 | .\volatility.exe -f .\memdump.mem --profile=Win7SP1x86_23418 malfind -p 3088 #-p指定进程 |

获取SAM表中用户-printkey
1 | .\volatility.exe -f .\memdump.mem --profile=Win7SP1x86_23418 printkey -K "SAM\Domains\Account\Users\Names" |

最后登录系统的账户-printkey
1 | python vol.py -f mem.vmem --profile=WinXPSP2x86 printkey -K "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogin" |
时间轴线-timeliner
1 | python vol.py -f name --profile=WinXPSP2x86 timeliner |
多个位置来收集系统的活动信息
查看windows服务-svcscan
1 | .\volatility.exe -f memory.img --profile=Win2003SP1x86 svcscan |

保存内存中的某个进程-mem
1 | volatility -f mem.vmem --profile=WinXPSP2x86 mem -p 1180 -D E:\111 |
提取内存中的注册表信息-dumpregistry
1 | .\volatility.exe -f .\memdump.mem --profile=Win7SP1x86_23418 dumpregistry --dump-dir=D:\text\ |
dumpregistry –dump-dir 提取内存注册表的目录路径,test先创建,最好不要在C盘
解析MFT记录、导出MFT记录-mftparser
1 | volatility -f Win7_SP1_x86.vmem --profile=Win7SP1x86 mftparser |
获取TrueCrypt秘钥信息-truecryptmaster
1 | Volatility -f Win7_SP1_x86.vmem --profile=Win7SP1x86 truecryptmaster |
获取TrueCrypt密码信息-truecryptpassphrase
1 | volatility -f Win7_SP1_x86.vmem --profile=Win7SP1x86 truecryptpassphrase |
提取进程PID文件-procdump
1 | python vol.py -f ~/Desktop/memory.img --profile=Win2003SP1x86 procdump -p 1848 -D ./ |
dump文件-dumpfiles
1 | python vol.py -f ~/Desktop/memory.img --profile=Win2003SP1x86 dumpfiles -Q 0x000000000484f900 --dump-dir=./ |

先filescan
导出dmp文件-memdump
1 | python vol.py -f ~/wtl/mem.vmem --profile=WinXPSP2x86 psscan |


本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 DropAnn!
