内存取证…..

📅 2026/7/8 10:40:00 👁️ 阅读次数 📝 编程学习
内存取证…..


一、内存取证基础与工具介绍

核心目标是从内存镜像文件中提取系统运行时的关键信息,包括进程列表、网络连接、用户行为、恶意代码痕迹等。

1. 主流内存取证工具

1. Volatility
完全开源的Python实现框架,支持Windows、Linux、Mac OSX甚至Android(ARM架构)系统的内存镜像分析,是目前CTF和取证领域最主流的工具之一。
支持分析的内存镜像格式包括 .raw、.vmem、.img、.dmg 等。

2. Foremost
控制台程序,根据文件页眉、页脚和内部数据结构,从镜像文件中恢复各类原始文件,常用于从内存或磁盘镜像中提取被删除或隐藏的文件。

3. Binwalk
固件与镜像分析工具,可识别文件中的隐藏数据、压缩包、固件分区,常用于提取内存镜像中嵌入的可执行文件、压缩包等。

4. Dumpit
一款Windows平台的内存镜像生成工具,可直接从运行中的Windows系统导出完整内存镜像文件,用于后续取证分析。
二、Volatility 工具基础使用

1. 环境安装

Volatility 依赖 Python2 环境,部分插件需额外安装依赖,如 ujson:
pip install ujson
2. 基础命令使用

(1)--info 命令

作用:查看Volatility框架已支持的系统Profile(系统配置文件)和插件信息,确认工具的分析能力。
volatility --info
执行后会列出所有支持的系统版本Profile,如WinXPSP2x86、Win10x64等,为后续镜像分析做准备。

(2)imageinfo 命令

作用:获取内存镜像文件的摘要信息,包括系统版本、硬件架构、镜像生成时间等关键信息,用于确定后续分析需要使用的Profile。
volatility -f mem.vmem imageinfo
执行后会输出 Suggested Profile(s) 字段,直接给出该镜像最匹配的系统Profile,例如 WinXPSP2x86,后续所有命令都需要指定该Profile。
三、Volatility 常用分析命令(CTF高频考点)

1. 进程信息分析
# 列出所有进程,含PID、父PID、进程路径
volatility -f mem.vmem --profile=WinXPSP2x86 pslist

# 扫描隐藏/结束的进程(pslist无法显示已结束进程)
volatility -f mem.vmem --profile=WinXPSP2x86 psscan

# 查看进程对应的DLL模块
volatility -f mem.vmem --profile=WinXPSP2x86 dlllist -p 408
2. 网络连接分析
# 查看当前系统的网络连接状态
volatility -f mem.vmem --profile=WinXPSP2x86 netscan

# 查看TCP/UDP连接历史
volatility -f mem.vmem --profile=WinXPSP2x86 connections
3. 注册表与用户信息分析
# 列出系统注册表配置单元
volatility -f mem.vmem --profile=WinXPSP2x86 hivelist

# 提取系统用户账号信息
volatility -f mem.vmem --profile=WinXPSP2x86 printkey -K "SAM\Domains\Account\Users\Names"
4. 命令行历史分析
# 查看系统中执行过的命令行记录
volatility -f mem.vmem --profile=WinXPSP2x86 cmdscan
volatility -f mem.vmem --profile=WinXPSP2x86 consoles
5. 文件与恶意代码提取
# 从内存中提取指定进程的可执行文件
volatility -f mem.vmem --profile=WinXPSP2x86 procdump -p 408 -D ./dump/

# 提取内存中的文件(如文档、图片、压缩包)
volatility -f mem.vmem --profile=WinXPSP2x86 filescan | grep ".txt"
四、CTF内存取证解题思路总结

1. 确定Profile:使用 imageinfo 命令获取镜像对应的系统Profile,这是所有分析的前提。

2. 信息收集:先通过 pslist、netscan 等命令快速掌握系统运行状态,定位可疑进程与网络连接。

3. 定向分析:根据题目线索,针对性提取进程、注册表、命令行、文件等关键信息。

4. 数据提取与解密:使用 procdump 提取可疑文件,结合Foremost、Binwalk等工具恢复隐藏文件,