初识内存取证-volatility与Easy_dump

2023-03-06 8,073


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

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

指定镜像进行进程扫描

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

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

导出进程中内容

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

使用strings查找flag信息

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

读取jpg文件

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

导出图片

查看图片,无法正常打开

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

分离文件

foremost file.None.0xfffffa8008355410.vacb

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

得到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。一个是加密文件被删除了,需要恢复。

恢复文件

使用testdisk进行恢复
testdisk message.img

红色为需要恢复的文件
使用ls -a查看
使用strings查看

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

参考资料

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

E

N

D


本文作者:TideSec

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/197037.html

Tags:
评论  (0)
快来写下你的想法吧!

TideSec

文章数:145 积分: 185

安全问答社区

安全问答社区

脉搏官方公众号

脉搏公众号