freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

初识内存取证-volatility与Easy_dump
2023-03-06 09:51:05
所属地 山东省

volatility

Volatility是一款非常强大的内存取证工具,它是由来自全世界的数百位知名安全专家合作开发的一套工具, 可以用于windows,linux,mac osx,android等系统内存取证。Volatility是一款开源内存取证框架,能够对导出的内存镜像进行分析,通过获取内核数据结构,使用插件获取内存的详细情况以及系统的运行状态。

在不同系统下都有不同的软件版本,官网地址:https://www.volatilityfoundation.org/26

volatility工具的基本使用

命令格式

volatility -f [image] --profile=[profile] [plugin]

在分析之前,需要先判断当前的镜像信息,分析出是哪个操作系统
volatility -f xxx.vmem imageinfo
如果操作系统错误,是无法正确读取内存信息的,知道镜像后,就可以在--profile=中带上对应的操作系统

常用插件

下列命令以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 ./

查看当前展示的notepad内容

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护网杯)

查看镜像信息

volatility -f easy_dump.img imageinfo

image.pngimage.png


查看结果,推测可能是Win7SP1x64的镜像

指定镜像进行进程扫描

volatility -f easy_dump.img --profile=Win7SP1x64 psscan

image.png


也可以使用pslist参数
发现存在notepad.exe,查看一下内容。

image.pngimage.png

导出进程中内容

volatility -f easy_dump.img --profile=Win7SP1x64 memdump -p 2616 -D /xxx/xxx/xxx/
其中procdump:是提取进程的可执行文件
memdump:是提取进程在内存中的信息

image.pngimage.png

使用strings查找flag信息

strings -e l 2616.dmp | grep "flag"
发现提示是jpg

image.pngimage.png

读取jpg文件

volatility -f easy_dump.img --profile=Win7SP1x64 filescan | grep "jpg"
发现图片phos.jpg

image.pngimage.png


导出图片

image.pngimage.png


查看图片,无法正常打开

image.pngimage.png


使用binwalk查看,发现存在zip文件

image.pngimage.png

分离文件

foremost file.None.0xfffffa8008355410.vacb

image.pngimage.png


分离后自动生成output文件夹,查看内容
解压00004372.zip,得到message.img
继续使用binwalk提取文件

image.pngimage.png


得到hint.txt

image.pngimage.png

使用脚本进行转换

查看其他大佬说可能是左边,使用脚本进行转换

#脚本文件
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()

image.pngimage.png


扫描二维码得到提示,一个是维吉尼亚加密,秘钥是aeolus。一个是加密文件被删除了,需要恢复。

恢复文件

使用testdisk进行恢复
testdisk message.img

image.pngimage.png


红色为需要恢复的文件

image.pngimage.png


image.pngimage.png


image.pngimage.png


使用ls -a查看

image.pngimage.png


使用strings查看

image.pngimage.png


最后一句字符串尝试解密
得到最终结果

image.pngimage.png

参考资料

https://www.cnblogs.com/zaqzzz/p/10350989.html https://blog.csdn.net/weixin_42742658/article/details/106819187

# Volatility # 内存取证
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录