上一篇博客给大家分享了如何安装Volatility3,这一篇我就给大家再分享一下如何安装Volatility2.6并使用~

Volatility2.6安装

  1. 下载地址
    访问 GitHub releases 页面或直接下载 zip:

    • 官网/GitHub: https://github.com/volatilityfoundation/volatility/releases/tag/2.6.1

    • 点击下载 volatility_2.6_win64_standalone.zip

      image-20260312114734664

  2. 操作步骤

    • 下载并解压 volatility_2.6_win64_standalone.zip 到指定路径,例如D:\volatility\volatility_2.6_win64_standalone

    • 打开 PowerShell,进入该目录:

      1
      cd D:\volatility\volatility_2.6_win64_standalone

接着按照Volatility2.6的命令格式操作就欧克了

Volatility2.6的命令格式

在 CTF 比赛中,Volatility 2.6 是内存取证的神器。它的命令格式非常固定,但参数顺序和插件选择是关键。

📌 核心命令格式模板

1
volatility.exe -f <内存镜像文件> --profile=<系统配置文件> <插件名> [插件参数]
  • -f : 指定内存镜像文件 (file)
  • --profile : 指定操作系统版本 (非常重要,选错会导致很多插件报错或结果为空)
  • <插件名> : 要执行的功能 (如 pslist, hashdump)

识别系统版本

在做题初期,如果你不知道镜像是什么系统(Win7? Win10? XP?),必须先运行这个命令。

1
.\vol.exe -f <镜像文件> imageinfo
  • 输出解读:查看 Suggested Profile(s) 这一行。通常选列表中的第一个作为 --profile 的值。

进程分析,找出恶意程序

查看系统中运行了哪些进程,寻找可疑的 exe (如 nc.exe, cmd.exe, 随机命名的 exe)。

1
2
3
4
5
6
7
8
# 列出所有进程
.\vol.exe -f <镜像> --profile=<配置> pslist

# 以树状图显示进程父子关系 (找谁启动了谁)
.\vol.exe -f <镜像> --profile=<配置> pstree

# 查看进程被注入的代码 (找隐藏的后门)
.\vol.exe -f <镜像> --profile=<配置> malfind

网络分析 ,找 C2 连接

查看网络连接、监听端口,寻找黑客的控制IP。

1
2
3
# 查看网络连接 (类似 netstat)
.\vol.exe -f <镜像> --profile=<配置> netscan
# 注意:Win7/Win8/10 用 netscan,WinXP/2003 用 network 或 connections

凭证提取

这是你刚才成功的步骤,也是 CTF 中最容易直接拿到 Flag 的地方。

1
2
3
4
5
# 提取哈希 (NTLM Hash) - 最常用
.\vol.exe -f <镜像> --profile=<配置> hashdump

# 提取明文密码 (如果运气好,内存里有明文)
.\vol.exe -f <镜像> --profile=<配置> lsadump

文件与注册表提取

当 Flag 藏在某个被删除的文件里,或者注册表键值中时。

1
2
3
4
5
6
7
8
# 列出文件句柄 (看进程打开了什么文件)
.\vol.exe -f <镜像> --profile=<配置> filescan

# 提取特定文件到本地 (需要先用 filescan 找到偏移量 Offset)
.\vol.exe -f <镜像> --profile=<配置> dumpfiles -Q <偏移量> -D <输出目录>

# 打印注册表内容 (找 SAM, SYSTEM, 或用户最近运行的命令)
.\vol.exe -f <镜像> --profile=<配置> printkey -K "Software\Microsoft\Windows\CurrentVersion\Run"

命令行历史

查看黑客输入了什么命令。

1
2
3
4
5
# 查看 cmd.exe 的历史命令
.\vol.exe -f <镜像> --profile=<配置> cmdscan

# 另一种查看控制台历史的方法
.\vol.exe -f <镜像> --profile=<配置> consoles

剪贴板与截图

有时候 Flag 直接被复制到了剪贴板,或者屏幕上有提示。

1
2
3
4
5
# 提取剪贴板内容
.\vol.exe -f <镜像> --profile=<配置> clipboard

# 截取内存中的屏幕画面
.\vol.exe -f <镜像> --profile=<配置> screenshot -D <输出目录>

例题上手

题目链接[蓝帽杯 2022 初赛]计算机取证_1 - NSSCTF

题目要求

1
2
3
4
5
现对一个windows计算机进行取证,请您对以下问题进行分析解答。
从内存镜像中获得taqi7的开机密码是多少?
压缩包密码为93ce7ea39bdd7baa137f1e9b963b7ee5
该题目复现环境尚未取得主办方及出题人相关授权,如果侵权,请联系管理员删除。
得到的flag请使用NSSCTF{}形式提交

识别操作系统 Profile

首先我们需要确定内存镜像对应的操作系统版本,以便选择正确的 --profile

1
2
cd D:\volatility\volatility_2.6_win64_standalone
.\vol.exe -f "dmp文件路径" imageinfo

运行后得到操作系统版本版本为*Win7SP1x64*

image-20260312124734841


提取密码哈希 (Hashdump)

使用 hashdump 插件提取 SAM 数据库中的 NTLM 哈希值。

1
.\vol.exe --profile=Win7SP1x64 -f "具体路径" hashdump

命令执行成功后,得到以下用户哈希列表:

1
2
3
4
5
Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
taqi7:1000:aad3b435b51404eeaad3b435b51404ee:7f21caca5685f10d9e849cc84c340528:::
naizheng:1002:aad3b435b51404eeaad3b435b51404ee:d123b09e13b1a82277c3e3f0ca722060:::
qinai:1003:aad3b435b51404eeaad3b435b51404ee:1c333843181864a58156f3e9498fe905:::

第三步:破解哈希

将提取到的 NTLM Hash 放入破解工具https://hashes.com/zh/decrypt/hash
得到的flag

image-20260312125122493