![「工具分享」深入了解Volatility取证分析工具 | 发掘内存秘密插图 「工具分享」深入了解Volatility取证分析工具 | 发掘内存秘密插图](https://blog.eswlnk.com/wp-content/uploads/wpcy/7bf979090400f6d0fdc3fc85b3d27d3d.jpg)
引言
在数字取证的世界中,深入挖掘内存是解锁关键证据的一种重要方式。Volatility 是一款强大的开源工具,它能够帮助我们在 Windows、Linux、Mac 和 Android 等多种操作系统上进行内存取证分析。今天,我将向大家介绍 Volatility 的功能和如何安装以及使用它。
![「工具分享」深入了解Volatility取证分析工具 | 发掘内存秘密插图1 「工具分享」深入了解Volatility取证分析工具 | 发掘内存秘密插图1](https://static.eswlnk.com/2024/02/20240209143412656.png-esw)
Volatility 是用 Python 编写的,支持在 Python 2 和 Python 3 环境下运行,这使得它具有极高的灵活性和可扩展性。无论你是初学者还是专业人士,都能够通过 Volatility 来探索内存中的秘密。
下载地址
工具下载地址:https://github.com/volatilityfoundation
安装方式
目前作者已公布了两个版本的 Volatility,Volatility2 是基于 py2 环境,Volatility3 是基于 py3 环境,接下来小编将带领大家分别对这两个环境进行安装。
(1)Volatility3 环境的安装
首先请确保系统中已安装 python3 环境,安装 pycrypto 库函数
![「工具分享」深入了解Volatility取证分析工具 | 发掘内存秘密插图2 「工具分享」深入了解Volatility取证分析工具 | 发掘内存秘密插图2](https://static.eswlnk.com/2024/02/20240209143425361.png-esw)
进入到 Volatility 目录,执行如下指令,即可将 Volatility 成功安装
>>> sudo python3 setup.py install
![「工具分享」深入了解Volatility取证分析工具 | 发掘内存秘密插图3 「工具分享」深入了解Volatility取证分析工具 | 发掘内存秘密插图3](https://static.eswlnk.com/2024/02/20240209143425608.png-esw)
此时,就成功安装了 Volatility3 工具,可以执行如下指令查看是否安装是成功
>>> sudo python3 vol.py -h
![「工具分享」深入了解Volatility取证分析工具 | 发掘内存秘密插图4 「工具分享」深入了解Volatility取证分析工具 | 发掘内存秘密插图4](https://static.eswlnk.com/2024/02/20240209143427211.png-esw)
(2)Volatility2 环境的安装
首先请确保系统中已安装 python2 环境,安装 pycrypto 库函数
首先通过网站下载 pycrypto 安装包:https://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/
![「工具分享」深入了解Volatility取证分析工具 | 发掘内存秘密插图5 「工具分享」深入了解Volatility取证分析工具 | 发掘内存秘密插图5](https://static.eswlnk.com/2024/02/20240209143426931.png-esw)
注意:如果遇到报错可尝试执行如下命令,解决问题:
>>> sudo apt-get install python-dev
>>> sudo pip install setuptools
# 进入到Volatility目录,执行如下指令,即可将Volatility成功安装
>>> sudo python2 setup.py install
![「工具分享」深入了解Volatility取证分析工具 | 发掘内存秘密插图6 「工具分享」深入了解Volatility取证分析工具 | 发掘内存秘密插图6](https://static.eswlnk.com/2024/02/20240209143426799.png-esw)
此时,就成功安装了 Volatility2 工具,可以执行如下指令查看是否安装是成功
>>> sudo python2 vol.py -h
Volatility 使用方式
Volatility2 的使用方法
(1) 获取系统基本信息
>>>python2 vol.py -f ../Target.vmem imageinfo
![「工具分享」深入了解Volatility取证分析工具 | 发掘内存秘密插图7 「工具分享」深入了解Volatility取证分析工具 | 发掘内存秘密插图7](https://static.eswlnk.com/2024/02/20240209143427566.png-esw)
(2) 列出进程信息
>>> python2 vol.py -f ../Target.vmem --profile=Win7SP1x64 pslist
![「工具分享」深入了解Volatility取证分析工具 | 发掘内存秘密插图8 「工具分享」深入了解Volatility取证分析工具 | 发掘内存秘密插图8](https://static.eswlnk.com/2024/02/20240209143430160.png-esw)
(3) 提取某进程文件内容
>>> python2 vol.py -f ../Target.vmem --profile=Win7SP1x64 memdump -p 516 -D /
![「工具分享」深入了解Volatility取证分析工具 | 发掘内存秘密插图9 「工具分享」深入了解Volatility取证分析工具 | 发掘内存秘密插图9](https://static.eswlnk.com/2024/02/20240209143431531.png-esw)
(4) 查看文件目录
>>> python2 vol.py -f ../Target.vmem --profile=Win7SP1x64 filescan
![「工具分享」深入了解Volatility取证分析工具 | 发掘内存秘密插图10 「工具分享」深入了解Volatility取证分析工具 | 发掘内存秘密插图10](https://static.eswlnk.com/2024/02/20240209143432487.png-esw)
(5) 提取某文件内容
>>>python2 vol.py -f ../Target.vmem --profile=Win7SP1x64 dumpfiles -Q 0x000000007fe72430 --dump-dir=./
![「工具分享」深入了解Volatility取证分析工具 | 发掘内存秘密插图11 「工具分享」深入了解Volatility取证分析工具 | 发掘内存秘密插图11](https://static.eswlnk.com/2024/02/20240209143432576.png-esw)
(6) 调用 mimikatz 抓取系统口令
>>> python2 vol.py -f ../Target.vmem --profile=Win7SP1x64 mimikatz
![「工具分享」深入了解Volatility取证分析工具 | 发掘内存秘密插图12 「工具分享」深入了解Volatility取证分析工具 | 发掘内存秘密插图12](https://static.eswlnk.com/2024/02/20240209143433710.png-esw)
Volatility3 的使用方法
(1) 获取系统基本信息
>>>sudo python3 vol.py -f ../Target.vmem windows.info
![「工具分享」深入了解Volatility取证分析工具 | 发掘内存秘密插图13 「工具分享」深入了解Volatility取证分析工具 | 发掘内存秘密插图13](https://static.eswlnk.com/2024/02/20240209143436415.png-esw)
(2) 列出进程信息
![「工具分享」深入了解Volatility取证分析工具 | 发掘内存秘密插图14 「工具分享」深入了解Volatility取证分析工具 | 发掘内存秘密插图14](https://static.eswlnk.com/2024/02/20240209143437905.png-esw)
(3) 提取某进程文件内容
>>>sudo python3 vol.py -f /opt/forensic-analysis/Target.vmem windows.pslist --pid 516 --dump
(4) 查看文件目录
![「工具分享」深入了解Volatility取证分析工具 | 发掘内存秘密插图15 「工具分享」深入了解Volatility取证分析工具 | 发掘内存秘密插图15](https://static.eswlnk.com/2024/02/20240209143437935.png-esw)
常用模块
插件名称 | 功能 |
---|---|
amcache | 查看AmCache应用程序痕迹信息 |
apihooks | 检测内核及进程的内存空间中的API hook |
atoms | 列出会话及窗口站atom表 |
atomscan | Atom表的池扫描(Pool scanner) |
auditpol | 列出注册表HKLMSECURITYPolicyPolAdtEv的审计策略信息 |
bigpools | 使用BigPagePoolScanner转储大分页池(big page pools) |
bioskbd | 从实时模式内存中读取键盘缓冲数据(早期电脑可以读取出BIOS开机密码) |
cachedump | 获取内存中缓存的域帐号的密码哈希 |
callbacks | 打印全系统通知例程 |
clipboard | 提取Windows剪贴板中的内容 |
cmdline | 显示进程命令行参数 |
cmdscan | 提取执行的命令行历史记录(扫描_COMMAND_HISTORY信息) |
connections | 打印系统打开的网络连接(仅支持Windows XP 和2003) |
connscan | 打印TCP连接信息 |
consoles | 提取执行的命令行历史记录(扫描_CONSOLE_INFORMATION信息) |
crashinfo | 提取崩溃转储信息 |
deskscan | tagDESKTOP池扫描(Poolscaner) |
devicetree | 显示设备树信息 |
dlldump | 从进程地址空间转储动态链接库 |
dlllist | 打印每个进程加载的动态链接库列表 |
driverirp | IRP hook驱动检测 |
drivermodule | 关联驱动对象至内核模块 |
driverscan | 驱动对象池扫描 |
dumpcerts | 提取RAS私钥及SSL公钥 |
dumpfiles | 提取内存中映射或缓存的文件 |
dumpregistry | 转储内存中注册表信息至磁盘 |
editbox | 查看Edit编辑控件信息 (Listbox正在实验中) |
envars | 显示进程的环境变量 |
eventhooks | 打印Windows事件hook详细信息 |
evtlogs | 提取Windows事件日志(仅支持XP/2003) |
filescan | 提取文件对象(file objects)池信息 |
gahti | 转储用户句柄(handle)类型信息 |
gditimers | 打印已安装的GDI计时器(timers)及回调(callbacks) |
gdt | 显示全局描述符表(Global Deor Table) |
getservicesids | 获取注册表中的服务名称并返回SID信息 |
getsids | 打印每个进程的SID信息 |
handles | 打印每个进程打开的句柄的列表 |
hashdump | 转储内存中的Windows帐户密码哈希(LM/NTLM) |
hibinfo | 转储休眠文件信息 |
hivedump | 打印注册表配置单元信息 |
hivelist | 打印注册表配置单元列表 |
hivescan | 注册表配置单元池扫描 |
hpakextract | 从HPAK文件(Fast Dump格式)提取物理内存数据 |
hpakinfo | 查看HPAK文件属性及相关信息 |
idt | 显示中断描述符表(Interrupt Deor Table) |
iehistory | 重建IE缓存及访问历史记录 |
imagecopy | 将物理地址空间导出原生DD镜像文件 |
imageinfo | 查看/识别镜像信息 |
impscan | 扫描对导入函数的调用 |
joblinks | 打印进程任务链接信息 |
kdbgscan | 搜索和转储潜在KDBG值 |
kpcrscan | 搜索和转储潜在KPCR值 |
ldrmodules | 检测未链接的动态链接DLL |
lsadump | 从注册表中提取LSA密钥信息(已解密) |
machoinfo | 转储Mach-O 文件格式信息 |
malfind | 查找隐藏的和插入的代码 |
mbrparser | 扫描并解析潜在的主引导记录(MBR) |
memdump | 转储进程的可寻址内存 |
memmap | 打印内存映射 |
messagehooks | 桌面和窗口消息钩子的线程列表 |
mftparser | 扫描并解析潜在的MFT条目 |
moddump | 转储内核驱动程序到可执行文件的示例 |
modscan | 内核模块池扫描 |
modules | 打印加载模块的列表 |
multiscan | 批量扫描各种对象 |
mutantscan | 对互斥对象池扫描 |
notepad | 查看记事本当前显示的文本 |
objtypescan | 扫描窗口对象类型对象 |
patcher | 基于页面扫描的补丁程序内存 |
poolpeek | 可配置的池扫描器插件 |
printkey | 打印注册表项及其子项和值 |
privs | 显示进程权限 |
procdump | 进程转储到一个可执行文件示例 |
pslist | 按照EPROCESS列表打印所有正在运行的进程 |
psscan | 进程对象池扫描 |
pstree | 以树型方式打印进程列表 |
psxview | 查找带有隐藏进程的所有进程列表 |
qemuinfo | 转储Qemu 信息 |
raw2dmp | 将物理内存原生数据转换为windbg崩溃转储格式 |
screenshot | 基于GDI Windows的虚拟屏幕截图保存 |
servicediff | Windows服务列表(ala Plugx) |
sessions | _MM_SESSION_SPACE的详细信息列表(用户登录会话) |
shellbags | 打印Shellbags信息 |
shimcache | 解析应用程序兼容性Shim缓存注册表项 |
shutdowntime | 从内存中的注册表信息获取机器关机时间 |
sockets | 打印已打开套接字列表 |
sockscan | TCP套接字对象池扫描 |
ssdt | 显示SSDT条目 |
strings | 物理到虚拟地址的偏移匹配(需要一些时间,带详细信息) |
svcscan | Windows服务列表扫描 |
symlinkscan | 符号链接对象池扫描 |
thrdscan | 线程对象池扫描 |
threads | 调查_ETHREAD 和_KTHREADs |
timeliner | 创建内存中的各种痕迹信息的时间线 |
timers | 打印内核计时器及关联模块的DPC |
truecryptmaster | 恢复TrueCrypt 7.1a主密钥 |
truecryptpassphrase | 查找并提取TrueCrypt密码 |
truecryptsummary | TrueCrypt摘要信息 |
unloadedmodules | 打印卸载的模块信息列表 |
userassist | 打印注册表中UserAssist相关信息 |
userhandles | 转储用户句柄表 |
vaddump | 转储VAD数据为文件 |
vadinfo | 转储VAD信息 |
vadtree | 以树形方式显示VAD树信息 |
vadwalk | 显示遍历VAD树 |
vboxinfo | 转储Virtualbox信息(虚拟机) |
verinfo | 打印PE镜像中的版本信息 |
vmwareinfo | 转储VMware VMSS/VMSN 信息 |
volshell | 内存镜像中的shell |
windows | 打印桌面窗口(详细信息) |
wintree | Z顺序打印桌面窗口树 |
wndscan | 池扫描窗口站 |
yarascan | 以Yara签名扫描进程或内核内存 |
常用命令
功能 | 命令行及参数 |
---|---|
查看进程列表 | Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 pslist |
查看进程列表(树形) | Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 pstree |
查看进程列表(psx视图) | Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 psxview |
查看网络通讯连接 | Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 netscan |
查看加载的动态链接库 | Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 dlllist |
查看SSDT表 | Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 ssdt |
查看UserAssist痕迹 | Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 userassist |
查看ShimCache痕迹 | Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 shimcache |
查看ShellBags | Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 shellbags |
查看服务列表 | Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 svcscan |
查看Windows帐户hash | Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 hashdump |
查看最后关机时间 | Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 shutdowntime |
查看IE历史记录 | Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 iehistory |
提取注册表数据 | Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 dumpregistry |
解析MFT记录 | Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 mftparser |
导出MFT记录,恢复文件 | Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 mftparser –output-file=mftverbose.txt -D mftoutput |
获取TrueCrypt密钥信息 | Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 truecryptmaster |
获取TrueCrypt密码信息 | Vol.exe -f Win7_SP1_x86.vmem –profile=Win7SP1x86 truecryptpassphras |
📮评论