【Volatility3】护网杯_Easy_dump

WriteUp 2周前 admin
27 0 0

前言

因为近期有备赛需求,并且比赛强制要求使用 Volatility3 进行取证,故产生这篇文章,这题对刚入门取证的我来说有不小的难度,但整体打下来还是比较轻松,难点主要在于 Volatility3 的文献较少,使用和 Volatility2 版本有较大的差异,整体复盘请看题解部分,希望对之后 Volatility3 上手的师傅提供帮助,另外本文特别感谢 @零溢出 师傅的无私帮助,最后列出一些 Volatility3 有价值的一些材料

  • Volatility3 使用笔记
  • Volatility3 使用入门笔记
  • Volatility3 官方文档
  • 【内存取证】Volatility3 快速上手

题解部分

首先判断取证材料的系统,发现是 Win7 系统

python vol.py -f D:ShenTouvolatility3-developvenveasy_dump.img info.Info
【Volatility3】护网杯_Easy_dump

之后对镜像进程进行分析

python vol.py -f D:ShenTouvolatility3-developvenveasy_dump.img windows.pslist
【Volatility3】护网杯_Easy_dump

这里比较有价值的是notepad.exe,是笔记本应用的进程,这里我们把它的内存数据转储下来(注意不要转储进程),可以看到进程 PID 是 2616,这里使用-o参数指定输出目录为/outputdir

python vol.py -o ./outputdir/ -f D:ShenTouvolatility3-developvenveasy_dump.img windows.memmap --pid 2616 --dump
【Volatility3】护网杯_Easy_dump

之后使用 Linux 中的grep对 Flag 进行搜索,获得提示,发现 Flag 应该被存储在 jpg 中

strings -e l pid.2616.dmp | grep "flag"
【Volatility3】护网杯_Easy_dump

再使用windows.filescan模块对镜像中的文件对象进行扫描,搜索jpg关键词可以发现存在一个phos.jpg文件(这里我直接把 Shell 的内容复制出来进行分析)

python vol.py -f D:ShenTouvolatility3-developvenveasy_dump.img windows.filescan
【Volatility3】护网杯_Easy_dump

之后使用windows.dumpfiles模块对文件进行转储,这里需要提供Offset Name(偏移名称),一般来说使用--physaddr参数,也有可能是--virtaddr参数

python vol.py -o .outputdir -f D:ShenTouvolatility3-developvenveasy_dump.img windows.dumpfiles --physaddr 0x2408c460

这里保存了两种格式的文件,分别是.dat.vacb,下一步我们主要分析.vacb文件【Volatility3】护网杯_Easy_dump

使用 Kali 查看图片发现图片内容是损坏的【Volatility3】护网杯_Easy_dump

之后使用 Binwalk 分析文件的具体构成,发现其种还包含了 zip 压缩包【Volatility3】护网杯_Easy_dump

使用 binwalk 的-e参数分离所有隐藏文件,获得一个message.img镜像【Volatility3】护网杯_Easy_dump

继续对message.img镜像进行分离,发现其中包含一个hint.txt文件,其中包含数字【Volatility3】护网杯_Easy_dump

因为这些数字成对出现,我们可以猜测是 X 轴和 Y 轴的坐标,编写一个 Python 脚本来拼接这些坐标,最终发现是一个二维码

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()
【Volatility3】护网杯_Easy_dump

保存二维码,解码出来的信息为【Here is the vigenere key: aeolus, but i deleted the encrypted message】,提示我们两个内容

  • 使用的是 vigenere(维吉尼亚密码)加密,密钥是 aeolus
  • 加密信息被删除了,需要我们手动恢复,也就是说message.img内有文件被删除【Volatility3】护网杯_Easy_dump

使用 Dickgenius 进行恢复,将message.img挂载到 Dickgenius 中,可以找到一个可疑的.message.swp文件,在底部找到一串疑似加密后的字符串【Volatility3】护网杯_Easy_dump

进行 vigenere 解密(密钥:aeolus)后得到 Flag yeet!just_find_and_solve【Volatility3】护网杯_Easy_dump


原文始发于微信公众号(天禧信安):【Volatility3】护网杯_Easy_dump

版权声明:admin 发表于 2024年5月12日 下午4:57。
转载请注明:【Volatility3】护网杯_Easy_dump | CTF导航

相关文章