安恒八月月赛流量分析writeup

题目背景

某公司内网网络被黑客渗透,简单了解,黑客首先攻击了一台web服务器,破解了后台的账户密码,随之利用破解的账号密码登陆了mail系统,然后获取了vpn的申请方式,然后登陆了vpn,在内网pwn掉了一台打印机,请根据提供的流量包回答下面有关问题

关卡列表

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

解题过程

黑客使用的扫描器

打开webone.pcap数据包,按照协议类型排序一下,看到http协议的时候,发现了明显的awvs的特征

QrUdxg.png

黑客扫描到的登陆后台

登陆后台99%使用的是POST方法,直接使用过滤器过滤一下,然后追踪TCP流,看到302重定向,基本就是登陆成功了

http.request.method=="POST"

QrUUG8.png

黑客登陆后台所使用的账号密码

根据上一步我们看到的后台登陆302重定向结果可以判断已经登陆成功了,直接查看数据即可获得账号密码

但是查看过后我发现有很多302重定向登陆成功的结果,发现了很多账号密码,为了确定黑客所使用的,我找了一下黑客的ip地址,就是刚刚看到使用awvs进行扫描的源地址一定就是黑客的ip。然后使用过滤器再次过滤一下。

http.request.method=="POST" and ip.src==192.168.94.59 and http contains "rec=login"

终于在最后一条数据被我找到了..

QrUaRS.png

webshell文件名和内容

通过下面的语句过滤一下数据,翻阅数据包后发现了一个a.php可能有点蹊跷,但是没有发现他是如何上传的,不过追踪一下TCP流,发现1234为传递值,并有base64加密过的内容,解密一下发现是php代码,以z1为传递值,z1也是使用了base64加密过的内容,再次解密一下得到了一个目录。总结上面的东西发现好像并没有什么作用。。。

http.request.method=="POST" and ip.src==192.168.94.59 and http

QrUYIP.png

QrUNPf.png

QrU0MQ.png

QrUBrj.png

不过从上面的发现基本可以断定webshell是php写的,盲猜一下是php一句话木马,使用下面的语句过滤一下,没有发现数据,考虑到可能是tcp重传的原因,导致http中没追踪到,把http换成tcp再次过滤一下查看,最终找到了webshell的内容

http contains "<?php @eval"
tcp contains "<?php @eval"

QrUDqs.png

robots.txt中的flag

直接导出http对象,在文本过滤器中选择robots.txt,将文件保存下来,即可获得flag

QrUsZn.png

QrUyaq.png

数据库密码

直接过滤http数据包,查看数据包的末尾,如果数据库登陆成功,那么http响应码应该为200,逐一查看响应码为200的数据包,即可找到数据库密码

QrU6I0.png

hash_code

打开webtwo.pacp,查看前几条MySql的请求和响应,发现第17条数据发送了以下命令:

SELECT value FROM `dou_config` WHERE name = 'hash_code'

那么查看他的响应应该就可以获得结果了,直接查看第18条数据,发现了hash_code的值

QrUgiV.png

hash_code:d1c029893df40cb0f47bcf8f1c3c17ac

账号ijnu@test.com的密码

在分组详情中直接搜索邮箱名称,即可获取密码,密码以md5加密形式传递,解密一下即可

QrU2GT.png

QrURRU.png

网卡配置ip

这里回到webone.pcap,直接过滤 tcp contains "eth0"

然后追踪一下TCP流即可

QrUWzF.png

黑客使用什么账号登陆了mail系统

这题需要综合来看mailtwo.pcap和mailtwo1.pcap两个数据包。

首先在mailtwo.pcap中过滤http,第三条数据的Cookie中发现了 login_name=wenwenni字段,并且是action=logout。

QrUhM4.png

继续向下读取数据,发现下一个mail系统的数据是28号,然后又到了登陆界面的35号数据,在其中发现了密码的加密函数:

QrU4sJ.png

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

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});

在下一次的42号数据请求中,发现登录用户依然为wenwenni,因为这个用户刚刚推出,所以猜测是使用cookie登录的,查看一下返回数据44号中出现{"success":true},代表登陆成功。

QrU5L9.png]

QrUoZR.png

既然这样的话,我们使用以下语句过滤一下,

(http contains "{\\"success\\":true}" or http.request.method=="POST") and ip.addr==192.168.94.59

显示出post请求成功的返回结果,发现是在爆破,并且直到mailtwo.pcap的最后也未爆破成功。于是打开mailtwo1.pcap,用相同的过滤条件试试,发现几条数据,从后往前看,发现No.18152是登陆成功的返回结果,那对应的No.17126则就是正确的加密后的密码。

QrUTd1.png

进行aes解密即可得到admin账号的密码

QrUbi6.png

QrUqJK.png

黑客获得的vpn,ip是多少

第一个包在尝试登陆vpn,第二个包登陆上了vpn,然后第二个包 从 统计->对话 发现10.3.4.3和10.3.4.96发出的包比较多,而且过滤一下smb发现10.3.4.96是smb服务器,筛选10.3.4.55(另一个流量大点的地址)发现是10.3.4.3先ping它的,基本可以确定10.3.4.3就是黑客的vpn IP。

QrUOzD.png

posted @ 2019-12-11 16:39  𝓢𝓷1𝓹𝓮𝓻/  阅读(...)  评论(...编辑  收藏