流量分析
一、网站流量分析
重点:请求参数、UA
1.1、dirsearch
通过查看ua头请求的参数
- dirsearch的ua头中浏览器内核版本是86,现在版本已经是122
- 请求参数过于离谱,一般正常访问不会访问这些网页
1.2、sqlmap
流量特征
- 请z求参数,sql语句比较明显,手写一般写不出来
- UA头中,有sqlmap的官方网站
进一步确认
http contains "" |
二、漏扫流量分析
2.1、AWVS
参数 、ua、content_type中含有test、testing、wvs、acunetix_wvs_security_test 、acuntix、acuntix_wvs
http.request.uri.query.parameter contains"test" |
http.content_type contains "test" |
http.request.uri.query.parameter contains"test" |
2.2、Nmap
过滤显示器中,输入tcp协议,可以看到存在端口建立连接的流量
三、webshell管理工具流量分析
3.1、蚁剑
流量特征:
- 明文传输(即使使用了加密与编码,也会有传输密码协商过程,该过程也会有明文存在)
- 正文中包含display_errors (0),url解码就能看到 (强特征)
- 参数名大多数是:“_0x…..=”
http contains "display_errors" |
3.2、冰蝎
冰蝎2.0、3.0、4.0版本有差异
ua头
请求体头部字节与响应头部字节不会变化
referer中的文件名都是随机生成的,但文件名是纯大写或者是纯小写,可作为一个弱特征检测
- user-agent
"Mozilla/5.0 (Macintosh; Intel Mac OS X 11_2_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36" |
- 请求体头部字节与响应头部字节不会变化
- referer中的文件名都是随机生成的,但文件名是纯大写或者是纯小写,可作为一个弱特征检测
3.3、哥斯拉
哥斯拉客户端与shell建连初期的三个固定行为特征,且顺序出现在同一个TCP连接中,可以总结为:
- 发送一段固定代码(payload),http响应为空
- 发送一段固定代码(test),执行结果为固定内容
- 发送一段固定代码(getBascislnfo)
哥斯拉流量目前无法解密
- cookie结尾有;(强特征)
- 响应体前16位和后16位会组成一个32位MD5正则匹配,类似于(?i:[0-9A-F]{16})[\w+/]{4,}=?=?(?i:[0-9A-F]{16})
四、C2远控服务器流量分析
4.1、metasplioit
metasplioit命令执行的过程已经进行了加密处理,继续进行活动,防御者也不会发现有价值的数据,但可以观察到每个数据都包含了MZ标头和DOS模式异常
tcp.stream eq 4 |
4.2、cobaltstrike
- 流量特征
- checksum8
- 下载stage payload的过程uri符合 checksum8 规则,即:路径的 ascii 之和与 256 取余计算值等于 92
- sleep(心跳包)
- c2服务器如果没有任务下发,会有规律的请求响应间隔,比如这里是3s
- c2服务器如果有任务下发,则放入 http 心跳请求返回包中
- 靶机完成任务后,通过 post 方法回传数据
- checksum8
五、流量分析实例
5.1、攻击流量示例
- 黑客IP地址为:192.168.80.129
在被攻击的情况下,这个一般除了自己的IP地址外,剩余的就是黑客的攻击IP
- 黑客访问dvwa页面,输入默认密码admin password登录
- 黑客使用sqlmap扫描http://192.168.80.128/dvwa/vulnerabilities/sqli/
- 黑客用sqlmap扫描到了注入漏洞,并进行了dbs获取所有数据库名
- 通过sqlmap os-shell中的mysql语句into outfile写入了后门
- 后门内容
- 黑客上传webshell后执行的命令
- 黑客下载了test.exe文件并执行了test.exe,提取文件并检测,发现为病毒程序
- 根据运行的test.exe后的tcp流量特征,分析端口和响应头得知test.exe反连了192.168.80.129的9999端口,c2位metasploit
mz后dos头确定这是mettasplioit连接
六、安恒月赛例题
6.1、题目:
- 某公司内网网络被黑客渗透,请分析流量,给出黑客使用的扫描器:
- 某公司内网网络被黑客渗透,请分析流量,得到黑客扫描到的登陆后台是(相对路径即可):
- 某公司内网网络被黑客渗透,请分析流量,得到黑客使用了什么账号密码登陆了web后台(形式:
- 某公司内网网络被黑客渗透,请分析流量,得到黑客上传的webshell文件名是,内容是什么,提交webshell内容的base编码:
- 某公司内网网络被黑客渗透,请分析流量,黑客在robots.txt中找到的flag是什么:
- 某公司内网网络被黑客渗透,请分析流量,黑客找到的数据库密码是多少:
- 某公司内网网络被黑客渗透,请分析流量,黑客在数据库中找到的hash_code是什么:
- 某公司内网网络被黑客渗透,请分析流量,黑客破解了账号ijnu@test.com得到的密码是什么:edc123!@
- 某公司内网网络被黑客渗透,请分析流量,被黑客攻击的web服务器,网卡配置是是什么,提交网卡内网ip:
- 某公司内网网络被黑客渗透,请分析流量,黑客使用了什么账号登陆了mail系统(形式: username/password):
- 某公司内网网络被黑客渗透,请分析流量,黑客获得的vpn,ip是多少:
6.2、答案及分析
1、awvs
webone流量包
http.request.uri.query.parameter contains"test" |
2、/admin/login.php
3、admin /admin!@pass123
http.request.uri == "/admin/login.php?rec=login" && ip.src==192.168.94.59 |
在http筛选中,第一个是正常登录的流量,不是黑客登录的流量,注意查看源ip进行鉴别
4、a.php
tcp contains "<?php" |
5、flag:87b7cb79481f317bde90c116cf36084b
6、 e667jUPvJjXHvEUv
7、d1c029893df40cb0f47bcf8f1c3c17ac
8、edc123!@#
b78f5aa6e1606f07def6e839121a22ec 进行MD5解密得到edc123!@#
9、192.168.32.189 10.3.3.100
使用webone流量包
tcp contains"inet addr" |
10、admin!@#PASS123
流量包 mailtwohe mailtwo1
这里使用了aes前端加密
http.request.method=="POST" && http contains "mail" |
这里发现有大量爆破操作
去http包中找其他信息,发现action为登出,而且cookie中有用户名wenwenni
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},代表登陆成功。
显示出post请求成功的返回结果,发现是在爆破,并且直到mailtwo.pcap的最后也未爆破成功。于是打开mailtwo1.pcap,用相同的过滤条件试试,发现几条数据,从后往前看,发现No.18152是登陆成功的返回结果,那对应的No.17126则就是正确的加密后的密码。
(http contains "{\"success\":true}" or http.request.method=="POST") and ip.addr==192.168.94.59 |
使用流量包mailtwo2
11、10.3.4.3
vpnone发现都是尝试登录
分析vpntwo
ipcp.opt.addr |