文章目录
流量分析是对流量的赛选找到我们想要的信息
规则或者是如何找到相应的流量 分析流量哪来的他有什么特点
Wireshark工具常用查询方式
ip.src 表示捕获源ipv4地址的数据
ip.dst 表示捕获目标ipv4地址的数据
ip.host 表示到达/来自解析某网站后ipv4地址的数据
ip.addr表示到达/来自ipv4地址的数据
tcp.port==80 TCP端口
tcp.dstport==80 TCP目的端口
tcp.srcport==80 TCP源端口
udp.port eq 15000 UDP端口
tcp.port >= 1 and tcp.port <=80 tcp1-80之间的端口
eth.src == MAC地址 源MAC地址
eth.dst == MAC地址 目的MAC地址
eth.dst==MAC地址 查看该MAC地址
udp.length==200 查看udp大小等于200的数据包
tcp.len >=200 查看tcp包的大小大于等于200的数据包
http.request.method == "GET" 请求方法为get
http.request.method == "POST" 过滤请求方法为POST
http contains "FLAG" 显示含有特定内容的数据包
0x02:WEB扫描特征流量
常见的WEB扫描器有Awvs,Netsparker,Appscan,Webinspect,Rsas,Nessus,WebReaver,Sqlmap
会考察攻击者使用的是哪一种扫描器,所以在做这类题之前,先要了解各个扫描器所含的特征
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
对常见扫描器的流量分析
http contains “扫描器特征值”
例如:http contains “acunetix”
扫描器、webshell、特殊文件等流量分析
1.某公司内网网络被黑客渗透,请分析流量,给出黑客使用的扫描器
解答:
所以黑客使用的扫描器是AWVS
2.某公司内网网络被黑客渗透,请分析流量,得到黑客扫描到的登陆后台是(相对路径即可)
如果黑客扫描到后台,一定会进行大量尝试账号密码,一定是以POST方式进行的
http.request.method == “POST” (大量请求一般采用post进行传输)
解答:
*查看一下TCP流,发现302重定向 (回302的意思是服务器内部还要重定向到另外一个地址,就好比登陆成功时返回了302 然后要跳转到首页。) 登录后台
黑客扫描登录后台
所以可以确定黑客扫描到的登陆后台是/admin/login.php?rec=login
3.某公司内网网络被黑客渗透,请分析流量,得到黑客使用了什么账号密码登陆了web后台(形式:username/password)
解答:
黑客使用了什么账号密码登陆了web后台(形式:username/password)
在上面知道了登陆后台是/admin/login.php?rec=login,而且有302重定向的,所以可以确定黑客登陆的账号和密码,但是观察了好多302登陆成功的,账号密码也都不一样,所以这里再确定好黑客的IP,看看黑客登陆用的账号密码到底是哪个?
谁家好人给别人发后门文件呀 攻击可能为ip=192.168.94.59
我们知道post 登陆地址rec=login ip=192.168.94.59(可疑)
http.request.method == “POST” && http contains “rec=login” && ip.src==192.168.94.59
根据经验,我们找到最后一个包,结果就出来了(因为登录成功就不会登录了)
%xx url编码解码就行了(admin/admin!@#pass123)
4.某公司内网网络被黑客渗透,请分析流量,得到黑客上传的webshell文件名是,内容是什么,提交webshell内容的base编码
解答:
这题解法我们可以用这句过滤http.request.method==“POST” and ip.src==192.168.94.59 and http
文件(post)黑客(ip)网站webshell(http)
这明显就有问题,如果说一个正常的网站,images下放的是图片,但这里放了一个a.php很让人怀疑是一句话木马,而且啊,在老师的教学中,为了方便起文件直接a.php或者b.php等,所以怀疑这里大概率是有问题了,我们对其中一个进行tcp追踪
果真有问题
所以可以猜测一下是php一句话木马。(文件后缀)
http contains “<?php @eval”
tcp contains “<?php @eval”
我们再过滤一下tcp contains “<?php @eval”
5.某公司内网网络被黑客渗透,请分析流量,黑客在robots.txt中找到的flag是什么
解答:
题目说robots.txt,然后就过滤哈http contains “robots.txt”
数据库流量分析
6.某公司内网网络被黑客渗透,请分析流量,黑客找到的数据库密码是多少 找数据库密码就涉及到三个关键字,分别是mysql、database、password,可以通过这几个关键字来进行查询
解答:
http contains “database”
http.response.code==200 and http contains “database”
直接过滤http数据包,查看数据包的末尾,如果数据库登陆成功,那么http响应码应该为200,并且一般会包含database,逐一查看响应码为200的数据包,即可找到数据库密码http.response.code==200 and http contains “database”
7.某公司内网网络被黑客渗透,请分析流量,黑客在数据库中找到的hash_code是什么
解答:
打开webtwo.pcap,我们可以利用hash_code过滤一下,因为上一张图已经知道数据库主机的ip,这一条语句可以ip.src==10.3.3.101 and tcp contains “hash_code”
8.某公司内网网络被黑客渗透,请分析流量,黑客破解了账号ijnu@test.com得到的密码是什么
解答:
直接上语句tcp contains “ijnu@test.com”
MD5解码,得到 为什么是md5不是其他的应为mysql数据库加密md5
MD5在线https://www.somd5.com/
最后得到edc123!@#
内网流量分析
9.某公司内网网络被黑客渗透,请分析流量,被黑客攻击的web服务器,网卡配置是是什么,提交网卡内网ip
解答:
回到webone.pcap这个流量包中,这个问题问的是网卡的配置,一般网卡的名称都为eth0,所以可以利用这个关键词进行查询
无外乎也就那几个,eth0,eth1,lo等等,这次直接搜tcp contains “eth0”
直向黑客IP192.168.94.59回复黑客消息的都是IP192.168.32.189,因此可以判定此IP为外网IP,而eth0就是外网网卡,另外lo为环回地址,这个大家都知道,所以剩下的eth1为内网网卡,而10.3.3.100就是内网IP了。
邮箱系统流量 (有点长要耐心)
10.某公司内网网络被黑客渗透,请分析流量,黑客使用了什么账号登陆了mail系统(形式: username/password)
解答:
先查询下mailtwo1.pcap这个数据包,一开始利用POST和mail过滤了下
只有一题有关mail,因此毋庸置疑,需要综合查询两个有关mail的流量包。
根据题目要求,决定使用mail作为关键字进行过滤;另外从常识可知mail登录是通过表单提交的,一般提交账号和密码为了安全性,都是使用POST关键字。
http.request.method==POST && http contains “mail”
从上图可知,发现很多登录的流量,打开流量查看可以发现尝试的密码很像base64,但base64是编码格式,不是加密,因此考虑的这方面类似加密结果的加密方式,只有一种可能,那就是AES加密。那么,如果是AES加密,就需要找到对应的key和iv偏移量。
此时,还是需要再次重新过滤流量,获取新的信息,那么就继续过滤http的流量,同时加上状态码为200的过滤关键字。
http.response.code==200
从上图中发现,我们随机打开一个流量,查看里面的信息,可以看到里面有我们需要的key和iv偏移量。
MD5加密后的key:var key_hash = CryptoJS.MD5(‘1234567812345678’);
key:var key = CryptoJS.enc.Utf8.parse(key_hash);
iv偏移量:var iv = CryptoJS.enc.Utf8.parse(‘1234567812345678’);
Key:d959caadac9b13dcb3e609440135cf54
Iv:1234567812345678
知道以上这些我们还需要知道原始密文
紧接着尝试过滤http
通过上图发现,过滤http后中的第一个流量就是服务器获取的登录表单信息,同时呢,这个流量中有一个logout的关键字,说明是刚刚退出登录,加入里面有账号信息,那么这就是登录mail的账号,那么,查看里面的信息发现在Cookie里面有登录mail的账号:wenwenni。
当我们知道mail的账号是wenwenni,那么后面就需要查询账号是wenwenni的情况下登陆成功后所返回的值,这样才有机会通过关键字过滤,从而查询出对应的正确登录密码。
因此,通过账号为wenwenni和状态码为200作为过滤关键字进行再次过滤
http contains “wenwenni” or http contains 200
从上图可以看出此流量为某个成功登录后所返回的值,编号为44,那么接下来就是再看看这个流量的前一个流量是什么。
从上图中可以看出,编号为42的流量是刚刚查询出的编号44的流量的前一个流量,同时使用的mail的登录账号也刚好是wenwenni,因此可以得知登陆成功的关键字是{“success”:true}。
接下来,通过所得知的黑客IP、提交表单常用的POST关键字、以及刚刚得知的登陆成功返回的值,作为我们过滤的关键字进行过滤。
(http contains “{“success”:true}” or http.request.method==“POST”) and ip.addr==192.168.94.59
// 注:此处的 “success” 中的双引号需要通过 “\” 转译,否则会报错
从上图可以看出,通过过滤语句查询第一个流量包mailtwo的时候,都是一些爆破的流量,没有我们需要的东西。
那么接下来就通过过滤语句查询第二个流量包mailtwo1。
通过查看流量里面的信息,最后两个流量都是表示成功登录的流量,那么倒数第三个流量里面的信息,就包含我们所需要的密码(登陆成功就不会继续)。
从上图可以看到有一个字段的信息是Form item: “password” = “+ZgE14UGcFcyRGLI0/ZXPQ==”,那么这字段包含的就是我们所需要的密码。
拿到密码后,我们就进行最后一步,进行密码解密
解密网站:https://blog.51cto.com/u_15400016/4291217
admin!@#PASS123
标签:安恒,http,过滤,ip,contains,流量,黑客,事件 From: https://blog.csdn.net/kui576/article/details/139376714