初识内存取证-volatility与Easy_dump
字数 856 2025-08-11 08:35:50
Volatility与Easy_dump内存取证实战指南
一、Volatility简介
Volatility是一款强大的开源内存取证框架,由全球数百位安全专家合作开发,支持Windows、Linux、Mac OSX和Android等系统的内存取证分析。
主要特点
- 通过分析导出的内存镜像获取系统信息
- 提取内核数据结构
- 使用插件获取内存详细情况和系统运行状态
- 跨平台支持多种操作系统
官网地址:https://www.volatilityfoundation.org/26
二、Volatility基本使用
命令格式
volatility -f [image] --profile=[profile] [plugin]
镜像信息分析
在分析前需先确定操作系统类型:
volatility -f xxx.vmem imageinfo
三、常用Windows插件命令
-
用户凭证提取
volatility -f 1.vmem --profile=Win7SP1x64 hashdump -
进程分析
volatility -f 1.vmem --profile=Win7SP1x64 pslist -
服务扫描
volatility -f 1.vmem --profile=Win7SP1x64 svcscan -
浏览器历史记录
volatility -f 1.vmem --profile=Win7SP1x64 iehistory -
网络连接
volatility -f 1.vmem --profile=Win7SP1x64 netscan -
命令行操作记录
volatility -f 1.vmem --profile=Win7SP1x64 cmdscan -
文件扫描
volatility -f 1.vmem --profile=Win7SP1x64 filescan -
文件内容提取
volatility -f 1.vmem --profile=Win7SP1x64 dumpfiles -Q 0xxxxxxxx -D ./ -
记事本内容查看
volatility -f 1.vmem --profile=Win7SP1x64 notepad -
进程内存转储
volatility -f 1.vmem --profile=Win7SP1x64 memdump -p xxx --dump-dir=./ -
屏幕截图
volatility -f 1.vmem --profile=Win7SP1x64 screenshot --dump-dir=./ -
注册表分析
volatility -f 1.vmem --profile=Win7SP1x64 hivelist volatility -f 1.vmem --profile=Win7SP1x64 hivedump -o 0xfffff8a001032410 volatility -f 1.vmem --profile=Win7SP1x64 printkey -K "xxxxxxx" -
程序运行记录
volatility -f 1.vmem --profile=Win7SP1x64 userassist -
时间线分析
volatility -f 1.vmem --profile=Win7SP1x64 timeliner
四、Easy_dump实战案例(2018护网杯)
1. 镜像信息分析
volatility -f easy_dump.img imageinfo
推测为Win7SP1x64镜像
2. 进程扫描
volatility -f easy_dump.img --profile=Win7SP1x64 psscan
或
volatility -f easy_dump.img --profile=Win7SP1x64 pslist
发现notepad.exe进程
3. 进程内存转储
volatility -f easy_dump.img --profile=Win7SP1x64 memdump -p 2616 -D /xxx/xxx/xxx/
procdump:提取进程可执行文件memdump:提取进程内存信息
4. 查找flag信息
strings -e l 2616.dmp | grep "flag"
发现提示为jpg文件
5. 扫描jpg文件
volatility -f easy_dump.img --profile=Win7SP1x64 filescan | grep "jpg"
发现phos.jpg图片
6. 导出图片
使用binwalk分析发现存在zip文件
7. 文件分离
foremost file.None.0xfffffa8008355410.vacb
自动生成output文件夹,包含分离的文件
8. 解压分析
解压00004372.zip得到message.img
9. 使用binwalk提取文件
得到hint.txt
10. 数据可视化
使用Python脚本解析hint.txt:
import matplotlib.pyplot as plt
import numpy as np
x = []
y = []
with open('hint.txt','r') as f:
datas = f.readlines()
for data in datas:
arr = data.split(' ')
x.append(int(arr[0]))
y.append(int(arr[1]))
plt.plot(x,y,'ks',ms=1)
plt.show()
扫描生成的二维码得到提示:
- 维吉尼亚加密,密钥是aeolus
- 加密文件被删除,需要恢复
11. 文件恢复
使用testdisk恢复文件:
testdisk message.img
红色标记为需要恢复的文件
12. 查看恢复结果
ls -a
strings [恢复的文件]
最后一句字符串尝试解密,得到最终结果