内存取证系列:Memlabs-3
题目附件:
挑战描述
一个恶意脚本对我系统中非常机密的一段信息进行了加密。你能帮我恢复这段信息吗? 注意事项 1:本次挑战只有一个旗帜标识(flag)。该旗帜标识分为两部分。 注意事项 2:你需要先获取旗帜标识的前半部分,才能得到后半部分。 要解决此挑战,你将需要这个额外的工具,
$ sudo apt install steghide(在终端中执行的命令,用于安装 steghide 工具,意为 “使用超级用户权限通过 apt 包管理器安装 steghide 软件” ) 本实验的旗帜标识格式为:inctf {s0me_l33t_Str1ng}
vol.py -f MemoryDump_Lab3.raw imageinfo
查看所有进程得命令行参数:
vol.py -f MemoryDump_Lab3.raw--profile=Win7SP1x86_23418 cmdline
发现两个可疑文件,我们提取出来看看
vol.py -f MemoryDump_Lab3.raw --profile=Win7SP1x86_23418 filescan | grep evilscript.py
vol.py -f MemoryDump_Lab3.raw --profile=Win7SP1x86_23418 filescan | grep vip.txt
vol.py -f MemoryDump_Lab3.raw --profile=Win7SP1x86_23418 dumpfiles -Q 0x000000003de1b5f0 -D ../
vol.py -f MemoryDump_Lab3.raw --profile=Win7SP1x86_23418 dumpfiles -Q 0x000000003e727e50 -D ../
改个名字:
mv file.None.0x83e52420.dat vip.txt
mv file.None.0xbc2b6af0.dat 1.py
cat vip.txt
cat 1.py
此脚本是对单个字符进行了3次XOR异或运算,然后用base64编码生成vip.txt
我们首先要对vip.txt中的文本进行base64解码为:jmwex3m0\k7oe,再进行3次XOR运算,最终拿到前半段flag:inctf{0n3_h4lf
echo am1gd2V4M20wXGs3b2U= | base64 -d
python2
s = 'jm`wex3m0\k7oe'
''.join(chr(ord(i)^3) for i in s)
然后我们获取后半部分flag,打CTF的知道,steghide是一个图片或音频隐写工具
vol.py -f MemoryDump_Lab3.raw --profile=Win7SP1x86_23418 filescan |grep -E "jpeg|bmp"
vol.py -f MemoryDump_Lab3.raw --profile=Win7SP1x86_23418 dumpfiles -Q 0x0000000004f34148 -D ../
mv file.None.0x843fcf38.dat 2.jpg
使用steghide提取隐藏信息,密码为flag前半部分inctf{0n3_h4lf
steghide extract -sf 2.jpg
拼接后得到完整flag:inctf{0n3_h4lf_1s_n0t_3n0ugh}
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 Vincent Cassano