【应急响应工具教程】取证工具-Volatility安装与使用

1.工具介绍

Volatility 是一款非常流行的开源内存取证分析框架,主要用于从计算机的内存转储(memory dump)中提取关键信息,广泛应用于数字取证、恶意软件分析和系统调试等领域。Volatility 支持多种操作系统的内存映像,包括 Windows、Linux、MacOS 等,并能够提取与操作系统相关的详细信息,如进程、网络连接、文件、注册表、内核模块等。

图片

1.1 Volatility 迭代

  • Volatility 2.0: 初始版本发布于 2011年。Volatility 2 是一款成熟的内存取证工具,支持多个操作系统(Windows、Linux、MacOS)并提供了丰富的插件和功能,成为内存取证领域的标准工具之一。

  • Volatility 2.6:这是 Volatility 2 的最后一个主要版本。发布于 2016年,Volatility 2.6 增强了对 Windows 10 和其他操作系统的支持,并进行了一些性能和稳定性改进。但由于 Python 2 的逐步淘汰,Volatility 2 的开发逐渐放缓,转而聚焦于 Volatility 3 的发展。

  • Volatility 3.0: 第一个 Volatility 3 的版本发布于 2019年10月。Volatility 3 的发布标志着 Volatility 框架的重大重构,采用了 Python 3,完全重写了其代码库,并进行了模块化设计。与 Volatility 2 不同,Volatility 3 引入了更现代化的开发方式,提供了更好的扩展性、更强大的性能和对新操作系统的支持。

  • Volatility 3.x: 随着 Volatility 3 的发展,开发者不断增加新功能,改进性能,并修复了初期版本中的一些问题。每个小版本都专注于增强框架的稳定性和对新平台的支持。例如,Volatility 3.1 及以后的版本增加了对更广泛的操作系统和内存映像格式的支持,并增强了插件系统。

1.1.1 Volatility 2

Volatility 2 支持多个操作系统和平台的内存映像文件,包括 Windows、Linux、MacOS。Volatility 2还 提供了大量的插件来帮助用户分析内存映像。Volatility 2 支持常见的内存映像格式,如 Windows 系统的 .dmp 和 .raw 文件。用户可以通过各种取证工具(如 FTK Imager、WinPMEM 等)获取内存转储并进行分析。

1.1.2 Volatility 3

Volatility 3Volatility 框架的第三代版本,专注于改进和增强内存取证和分析功能。与 Volatility 2.x 相比,Volatility 3 引入了很多架构上的变化和改进,目的是使其更具现代性、更强大且更易于扩展。Volatility 3 的设计更加模块化,并支持更广泛的操作系统和架构,同时通过 Python 3 提供更好的兼容性和性能。

1.1.3 Volatility 2.6 和 Volatility 3 区别
特性 Volatility 2 Volatility 3
Python版本 基于 Python 2 完全基于 Python 3
架构 单体架构,功能整合在一个文件中 模块化架构,支持插件和更强的扩展性
操作系统支持 支持 Windows、Linux、Mac OS,较少支持其他系统 支持 Windows、Linux、macOS,进一步支持 Android、ELF 等
性能 在处理大规模内存映像时性能较低 优化了性能,特别是在处理大规模内存转储时表现更好
插件和命令 插件较少,命令行接口较为简单 插件系统增强,命令行接口更简洁和一致,插件更多
内存映像支持 支持传统的内存映像格式,如 Windows 的 .dmp 和 .raw 增加了对更多内存映像格式的支持,包括 ELF 格式等
符号解析 符号解析较为简单,且处理复杂的内存结构时可能出现困难 改进了符号解析和内存结构解析的准确性和效率
开发和扩展 扩展性较差,功能相对固定 模块化设计,易于扩展和开发新插件
代码结构 较为复杂且过时,维护性差 代码库进行了重构,采用了更加现代的编程模式
社区支持 较为广泛,但已进入维护阶段 更积极的发展阶段,社区支持逐渐增长

2.下载与安装

2.1 Volatility 2

MD5:
c6ff76f3cc08a739302ee372d6a2a62d  volatility_2.6_lin64_standalone.zip
1de73681ec0e883af852755141eab909  volatility_2.6_mac64_standalone.zip
07b3292dc814ded7c00322a7525d73db  volatility_2.6_win64_standalone.zip
1249996d1887578365ee74ec3763cc13  volatility-2.6.zip 

SHA256:
dc375a0f6909cb93ac17a10e28a0963fcd2decfc3c4291aadb7e5e0cbe28874a  volatility_2.6_lin64_standalone.zip
23bab41b110a1470b9ca71e945450a0a8bcb2edfc8160643b38ab2a8c1d4bd8f  volatility_2.6_mac64_standalone.zip
bb021f3b569bf8ee4a408b2e07b0662699894ff7eecd4473badf0ef0c58f2fce  volatility_2.6_win64_standalone.zip
5b73050d72bf94870ffce22843f03d4b0b7764011dec29ef1a0a5b1b46cf9295  volatility-2.6.zip

Volatility 2项目地址:https://github.com/volatilityfoundation/volatility

Volatility 2 整合在一个文件中可在github直接下载使用

图片

2.2 Volatility 3

MD5:
f326e5a1352e4e63527212f9278b85d5  volatility3-2.11.0.zip

Volatility 3项目地址:https://github.com/volatilityfoundation/volatility3

Volatility 3需要python版本 >= 3.7.3

下载并解压

unzip volatility3-2.8.0.zip

图片

 

安装 Volatility 3 所需的所有依赖库

pip install -r requirements.txt

图片

在本地安装 Volatility 3

python setup.py install

此命令会将 Volatility 3 安装到你的 Python 环境中。

图片

验证安装

vol -h

图片

3.命令说明

  -h, --help            列出所有可用选项及其默认值
                        默认值可以在配置文件中设置
                        (/etc/volatilityrc)
  --conf-file=/home/kali/.volatilityrc
                        基于用户的配置文件
  -d, --debug           调试Volatility
  --plugins=PLUGINS     要使用的其他插件目录(冒号分隔)
  --info                打印所有注册对象的信息
  --cache-directory=/home/kali/.cache/volatility
                        存放缓存文件的目录
  --cache               使用缓存
  --tz=TZ               设置 (Olson) 时区以使用 pytz(如果已安装)或 tzset 显示时间戳
  -f FILENAME, --filename=FILENAME
                        打开图像时使用的文件名
  --profile=WinXPSP2x86
                        要加载的配置文件的名称(使用 --info 查看支持的配置文件列表)
  -l LOCATION, --location=LOCATION
                        从中加载地址空间的 URN 位置
  -w, --write           启用写支持
  --dtb=DTB             DTB 地址
  --shift=SHIFT         Mac KASLR 移位地址
  --output=text         以这种格式输出(支持特定于模块,请参阅下面的模块输出选项)
  --output-file=OUTPUT_FILE
                        在此文件中写入输出
  -v, --verbose         详细信息
  -g KDBG, --kdbg=KDBG  指定一个 KDBG 虚拟地址(注意:对于 64 位 Windows 8 及更高版本,这是 KdCopyDataBlock 的地址)
  --force               强制使用可疑配置文件
  -k KPCR, --kpcr=KPCR  指定特定的 KPCR 地址
  --cookie=COOKIE       指定 nt!ObHeaderCookie 的地址(仅适用于 Windows 10)

3.1 Volatility 2

                amcache                查看AmCache应用程序痕迹信息
                apihooks               检测内核及进程的内存空间中的API hook
                atoms                  列出会话及窗口站atom表
                atomscan               Atom表的池扫描(Pool scanner)
                auditpol               列出注册表HKLMSECURITYPolicyPolAdtEv的审计策略信息
                bigpools               使用BigPagePoolScanner转储大分页池(big page pools)
                bioskbd                从实时模式内存中读取键盘缓冲数据(早期电脑可以读取出BIOS开机密码)
                cachedump              获取内存中缓存的域帐号的密码哈希
                callbacks              打印全系统通知例程
                clipboard              提取Windows剪贴板中的内容
    
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值