目录
最近不知道咋地想搞搞取证方面的问题,这不正好做出一道内存取证,也看了看佬们的wp,也许有很多问题,也请大家指正一下。
img格式是一种文件压缩格式(archive format),主要是为了创建软盘的镜像文件(disk image),它可以用来压缩整个软盘(通常指软软盘,Floppy Disk或Diskette)或整片光盘的内容,使用".IMG"这个扩展名的文件就是利用这种文件格式来创建的。.IMG这个文件格式可视为.ISO格式的一种超集合。
volatility取证的使用
内存中注册表以及位置
volatility -f ROOT-6B78B0CA4D-20190202-044824.raw --profile=Win2003SP2x86 hivelist
得到用户密码的哈希值
volatility -f ROOT-6B78B0CA4D-20190202-044824.raw --profile=Win2003SP2x86 -y (system的virtual地址) -s (sam的virtual地址)
cmd执行的命令
volatility -f ROOT-6B78B0CA4D-20190202-044824.raw --profile=Win2003SP2x86 cmdscan
网络连接情况
volatility -f ROOT-6B78B0CA4D-20190202-044824.raw --profile=Win2003SP2x86 netscan
IE使用情况
volatility -f ROOT-6B78B0CA4D-20190202-044824.raw --profile=Win2003SP2x86 iehistory
filescan查看文件
volatility -f ROOT-6B78B0CA4D-20190202-044824.raw --profile=Win2003SP2x86 filescan
提取filescan的文件,利用dumpfiles
volatility -f memory --profile=WinXPSP2x86 dumpfiles -Q 0x00000000053e9658 --dump-dir=./ -Q制定了文件物理位置的开始,另一个参数制定了保存的位置。
详细运用请见:linux 内存取证_浅谈网络安全之内存取证_weixin_39837607的博客-CSDN博客
本题解题思路
查看一下镜像信息
volatility -f easy_dump.img imageinfo
推测出镜像是Win7SP1x64系统
列举进程号
volatility_2.6_win64_standalone.exe -f .\easy_dump.img --profile=Win7SP1x64 psscan
发现存在PID为2580的记事本进程(psxview 可以查看隐藏的进程)
将记事本dump出来用
volatility -f easy_dump.img --profile=Win7SP1x64 memdump -p 2616 -D ./ 就将记事本的内容导出来了
存储的文件为2580.dmp
其中procdump:是提取进程的可执行文件
memdump:是提取进程在内存中的信息
之后放入kali打印下字符串搜寻flag
发现有jpg图片
需要从内存文件搜索jpg
volatility_2.6_win64_standalone.exe -f .\easy_dump.img --profile=Win7SP1x64 filescan |findstr "jpg"
之后将jpg文件提取出来
.\volatility_2.6_win64_standalone.exe -f .\easy_dump.img --profile=Win7SP1x64 dumpfiles -Q 0x0000000023284f20 -D ./
成功导了出来jpg格式
之后使用binwalk发现其中包含了zip的文件
我们用foremost进行一个文件分离
成功分离出一个zip的压缩包
再次的得到一个img(妈的玩套娃是吧)
再次进行查看发现可能只是一个压缩文件
直接binwalk -e 文件发现分离出一个txt文件
查看此文件
我怀疑这些数字是坐标,于是上脚本转换一下试试 ,得到二维码图片,脚本来自其他大佬
# _*_ coding:utf-8 _*_
# @Version : 3.11
# @Time : 2023/7/9 16:14
# @Author : mr xiaobai
# @File : transformphoto.py
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()
成功得到二维码
根据提示信息
Here is the vigenere key: aeolus, but i deleted the encrypted message。
说出来一个密匙aeolus,但是删除了一个文件
需要对文件进行修复img,网上找了找就此就需要用到testdisk来恢复文件了
kali自带工具
输入:testdisk xxx 即可进入软件内部操作
Proceed:继续
Quit:退出,关闭
[ Analyse ] 分析正确的分区结构并找到丢失的分区表
[ Advanced ] 文件系统工具
[ Geometry ] 更改硬盘类型
[ Options ] 修改高级选项
[ Quit ] 返回到硬盘检测
[ Type ] :改变文件系统的类型,这种修改并不会真正改变硬盘上的真正格式。
[Superblock] :列出超级块,这是文件系统的基本元数据。
[ List ] :列出所有文件,并复制(恢复)出来
[Image Creation] :对当前分区创建镜像文件
[ Quit ]:退出,返回
红色文件就表示已经删除的文件。当然你也可以选择一个红色的目录,表示恢复整个目录。
找到了红色部分对此进行修复
按住c进去文件夹
按c
接着大C导出来swp的文件
之后发现一串密文
搜一下别人的wp发现是很像加密的维吉尼亚密码,用之前得到的秘钥解密
总算解出来了,还有很多不足,往后一定会多加学习,完善自我!!!!