用取证软件去做题也能叫取证?懂不懂volatility
的含金量啊?
自己到现在还没认真用过Vol,打算刷刷题然后系统学习一下。
(毕竟不能总是指望着用取证大师之类的吧🤔)
MemLabs Lab_0 | Never Too Late Mister
下载链接:Lab0
Challenge Description
My friend John is an "environmental" activist and a humanitarian. He hated the ideology of Thanos from the Avengers: Infinity War. He sucks at programming. He used too many variables while writing any program. One day, John gave me a memory dump and asked me to find out what he was doing while he took the dump. Can you figure it out for me?
我的朋友约翰是一位“环保”活动家和人道主义者。他讨厌复仇者联盟中灭霸的观点:无限战争。他编程很烂。他在编写任何程序时使用了太多变量。有一天,约翰给了我一个内存转储,并让我找出他在转储时在做什么。你能帮我弄清楚吗?
Progress
整体下来就是一个常规取证思路,先imageinfo
看一下:
Vol3给出的建议是Win7SP1X86_23418
,查看一下进程信息:
看到有运行过cmd.exe
,查看一下历史命令行信息:
有一个可疑文件,用cmd
调用python.exe
,这个地方可以用MARKDOWN_HASH113422dfd86463d669e94c07cf61e0dcMARKDOWNHASH
插件,来查看执行的命令行历史记录(扫描CONSOLE_INFORMATION
信息)
得到一串字符串335d366f5d6031767631707f
看上去是一段乱码:3]6o]`1vv1p.
如果不解密字符串的话,下一步也不知道干什么。
此时结合上面题目描述"environmental" activist
环保主义者提示,应该是要查看环境变量
envars
查看一下发现太多了。。。果然是个很差的技术员,在编写程序时使用了太多环境变量
不过后面有提到Thanos
,尝试在环境变量里面搜一下
发现真的有,环境变量指向xor and password
先提取password
后面这串查不到啊艹,看了WP人家是查到了。。。。。。
这是第一部分:flag{you_are_good_but
剩下一部分,来处理提示中的xor
,目标字符串应该是前面hex解密出的乱码
不过不清楚异或字符是啥,只能爆破了
a = "335d366f5d6031767631707f".decode("hex")
for i in range(0,255):
b = ""
for j in a:
b = b + chr(ord(j) ^ i)
print b
flag{you_are_good_but1_4m_b3tt3r}
MemLabs Lab_1 | Beginner's Luck
下载链接:Lab1
Challenge description
My sister's computer crashed. We were very fortunate to recover this memory dump. Your job is get all her important files from the system. From what we remember, we suddenly saw a black window pop up with some thing being executed. When the crash happened, she was trying to draw something. Thats all we remember from the time of crash.
Note : This challenge is composed of 3 flags.
我姐姐的电脑坏了。我们非常幸运地恢复了这个内存转储。你的工作是从系统中获取她所有的重要文件。根据我们的记忆,我们突然看到一个黑色的窗口弹出,上面有一些正在执行的东西。崩溃发生时,她正试图画一些东西。这就是电脑崩溃时我们所记得的一切。
注意 :此挑战由 3 个flag组成。
Progress
Flag 1
既然有提到突然看到黑色窗口弹出,在执行一些东西
,(看描述像是cmd命令行)那么我们用pslist
查看一下:
确实是有cmd.exe
这个进程,consoles
查看命令行输出结果:
很熟悉的base64,
flag{th1s_1s_th3_1st_st4g3!!}
Flag 2
When the crash happened, she was trying to draw something.
在画画,看一下进程列表:
看名称,这个进程和画画有关,PID是2424
修改文件名后缀为data
,导入GIMP
调整一下偏移量和宽高,
翻转一下就是flag
flag{Good_Boy_good_girl}
Flag 3
后来才知道,这个地方看的是WinRAR.exe
进程,
看一下WinRAR.exe
进程历史
看到了一个RAR压缩包:Important.rar
根据地址提取出来:
检测是rar文件类型。修改文件名解压发现需要密码:
hashdump
提取
┌──(root㉿SanDieg0)-[/mnt/d/volatility_2.6_win64_standalone]
└─# ./volatility.exe -f "F:\Memlabs\lab1\Lab1.raw" --profile=Win7SP1x64 hashdump
Volatility Foundation Volatility Framework 2.6
Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
SmartNet:1001:aad3b435b51404eeaad3b435b51404ee:4943abb39473a6f32c11301f4987e7e0:::
HomeGroupUser$:1002:aad3b435b51404eeaad3b435b51404ee:f0fc3d257814e08fea06e63c5762ebd5:::
Alissa Simpson:1003:aad3b435b51404eeaad3b435b51404ee:f4ff64c8baac57d22f22edc681055ba6:::
hashdump提取有两个HASH,第一个是使用
LANMAN
算法,这种散列值非常不安全,在Vista
以来的Windows
系统已经不再采用LANMAN HASH
。因此这个hash前会提供一个aad
开头的虚拟值。第二个HASH是我们常说的
NTLM HASH
,也好不到哪去。
这个地方要解密NTLM,看用户名我盲猜是最后一个f4ff64c8baac57d22f22edc681055ba6
:
拿解密到的字符串怎么试都不对,结果发现,不用解密,换成大写。。。(无语住了)
flag{w3ll_3rd_stage_was_easy}