内存取证
本文最后更新于:3 年前
所需软件:
Linux平台下的Volatility,Windows平台下的010 Editor和Stegsolve ### 安装方法:
Volatility在Ubuntu下安装命令:sudo apt install volatility
Stegsolve在Github地址:https://github.com/Giotino/stegsolve
题目:
https://share.weiyun.com/Y3B9kf0W
解题过程:
查看内存镜像信息:
1 |
|

可知其系统版本为WinXPSP2x86
获取进程信息:
1 |
|
命令用于进程信息,--profile
的参数为系统版本

发现可疑记得程序smss.exe,故尝试提取进程。
提取进程:
1 |
|
命令用于提取smss.exe进程的dump,
--profile
的参数为系统版本-p
的参数为进程ID-D
的参数为保存文件的路径aRQfWq.png
查看dump:
1 |
|
命令使用strings
读取dump二进制文件,并通过管道符传给grep
提取二进制文件中包含flag
关键词的部分
-e
的参数为编码方式,其中l
为16-bit编码

发现可疑记得文件flag.jpg
和flag.png
。
获取浏览器浏览历史:
1 |
|

发现关键词hint.txt,尝试提取文件。
扫描并提取文件
1 |
|
命令使用filescan
扫描内存中所有文件,通过管道符连接grep
只显示包含 hint 的结果。

发现文件地址为:0x0000000002456028
1 |
|
使用dumpfiles
提取文件
-Q
的参数为 内存地址--dump-dir
的参数为导出文件的目录

使用010Editor
打开文件(或者notepad++也可查看相应信息):

提示文件名为fl4g
,故技重施。
1 |
|

文件重命名为zip
,unzip
解压,得到两张图片。

猜测为图片写隐,flag信息隐藏在图片中。
图片分析:
使用Stegsolve进行图片分析,程序运行需要Java环境。
先后打开其中一个文件,然后点击Analyse
->Image Combiner
打开另一张图片,通过点击>
切换模式,当a点击到sub模式后可以得到二维码。

如果无法查看到有效信息,尝试交换两个文件打开比较。
二维码解码后为一个百度翻译的网址,点击发音按钮即可得到flag。

Volatility常用命令:
- 获取内存镜像的摘要信息
1 |
|
- 获取运行的进程
1 |
|
- 获取缓存在内存中的注册表
1 |
|
- 扫描文件 结合 grep 进行筛选
1 |
|
- 提取内存中缓存的文件
1 |
|
- 获取cmd输入的内容
1 |
|
- 查看截图
1 |
|
- 查看系统用户名
1 |
|
- 查看网络连接情况
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!