安装

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
2
3
4
5
6
7
8
9
10
11
git clone https://github.com/volatilityfoundation/volatility
python setup.py build
python setup.py install
chmod +x vol.py

大坑重灾区
pip install yara-python #https://github.com/VirusTotal/yara-python
pip install distorm3 #这个不好装
pip install pycrypto #这个也不好装
pip install openpyxl
pip install Pillow

img

pip install –upgrade setuptools

中间还有很多坑

1
sudo apt-get install -y python2.7-dev

确定是yara的问题了

参考链接https://yara.readthedocs.io/en/v4.1.0/gettingstarted.html

img

1
ln -s /usr/local/lib/python2.7/dist-packages/usr/lib/libyara.so /usr/lib/libyara.so

不报错了

img

使用

需要识别到版本号,版本号较多。

格式

1
2
.\volatility.exe -f <文件名> --profile=<配置文件> <插件> [插件参数]
python vol.py -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

image-20210929142622740

查看隐藏进程-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

img

扫描当前打开的文件-filescan

1
python vol.py -f ~/Desktop/memory.img --profile=Win2003SP1x86 filescan | grep "flag"

img

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

img

打印注册表数据-hivedump

1
python vol.py -f ~/wtl/mem.vmem --profile=WinXPSP2x86 hivedump -o 0xe146c398

img

内存中的系统密码-hashdump

1
.\volatility.exe -f .\memdump.mem --profile=Win7SP1x86_23418 hashdump

image-20210929192633385

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

img

程序运行信息-userassist

1
.\volatility.exe -f .\memdump.mem --profile=Win7SP1x86_23418 userassist

image-20210929192842966

包含正在运行的程序有哪些,运行过多少次,最后一次运行的时间等信息

查看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指定进程

image-20210929194837418

获取SAM表中用户-printkey

1
.\volatility.exe -f .\memdump.mem --profile=Win7SP1x86_23418 printkey -K "SAM\Domains\Account\Users\Names"

image-20210929195635140

最后登录系统的账户-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

image-20210929211905541

保存内存中的某个进程-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
2
volatility -f Win7_SP1_x86.vmem --profile=Win7SP1x86 mftparser
volatility -f Win7_SP1_x86.vmem --profile=Win7SP1x86 mftparser --output-file=mftverbose.txt -D mftoutput

获取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=./

img

先filescan

导出dmp文件-memdump

1
python vol.py -f ~/wtl/mem.vmem --profile=WinXPSP2x86 psscan

img

img