本文仅用于技术讨论与学习,利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者及本公众号不为此承担任何责任。
哥斯拉流量特征
- 第1个请求会发送大量数据,该请求不含有任何Cookie信息,服务器响应报文不含任何数据,但是会设置PHPSESSID,后续请求都会自动带上该Cookie;
- User-Agent字段(弱特征),默认情况,会暴露jdk信息。PS:哥斯拉支持自定义HTTP头部,此特征很容器去除;
- Accept字段(弱特征),默认是Accept:text/html, image/gif, image/jpeg, *; q=.2, /; q=.2。同样容易去除;
- Cookie中有一个非常关键的特征,最后会有个分号;
- 响应数据中,哥斯拉会把一个32位的md5字符串按照一半拆分,分别放在base64编码的数据的前后两部分。整个响应包的结构体征为:md5前十六位+base64+md5后十六位。
来自:https://www.cnblogs.com/-andrea/p/17473499.html
【NewStarCTF 公开赛赛道】还是流量分析
题目地址:https://buuoj.cn/challenges#[NewStarCTF 公开赛赛道]还是流量分析(这里可以下载流量包)
目标:
- 分析哥斯拉流量特征
- 找到WebShell-Key值
- 找到机密文件内容
拿到pcap文件以后使用WireShark打开,统计一下协议类型(上方”统计”→”协议分级”),均为HTTP的流量:
再统计一下请求路径(上方”统计”→“HTTP”→“请求”),发现大部分路径只请求了1次,为爆破流量,只有”aaa.php”请求了19次 :
用命令筛选出这个路径的请求:
http
.request
.uri
contains
"
aaa
.php
"
选择第一条流量,右键→追踪TCP流,看到请求有明显的WebShell特征,可疑确定这就是WebShell:
并且第一个请求有大量信息,没有Cookie,响应包中没有相应内容,但是头部有Set-Cookie字段,符合哥斯拉流量特征:
往下拉,看到哥斯拉的流量特征:Cookie后面带有分号:
再看响应体,同样有一个哥斯拉明显特征:响应包中的内容,把一个32位的md5字符串按照一半拆分,分别放在base64编码的数据的前后两部分。整个响应包的结构体征为:md5前十六位+base64+md5后十六位。
因此我们去掉前16位字符和后16位字符,只取中间的来进行base64解码,解码后与连接的Key的md5值前16位进行按位异或,就能看到明文(不理解的可以看这篇文章:
https://www.freebuf.com/sectool/285693.html
首先需要找到webshell连接密码,这个在所有的请求包中都有,就是”ctfsogood”,而shell密钥是”babyshell”:
计算出”babyshell”的md5,取前16位为:
421eb7f1b8e4b3cf
我们直接网上找一个别人写好的分析脚本套一下(来源:https://blog.51cto.com/u_16159500/6517884):
function
response_decode
($D,$K)
{
$D = base64_decode($D);
for
($i=
0
;$i<strlen($D);$i++){
$c = $K[$i+
1
&
15
];
$D[$i] = $D[$i]^$c;
}
var_dump(gzdecode($D));
}
function
request_decode
($D,$K)
{
$D = base64_decode(urldecode($D));
for
($i=
0
;$i<strlen($D);$i++) {
$c = $K[$i+
1
&
15
];
$D[$i] = $D[$i]^$c;
}
var_dump(gzdecode($D));
}
$response_data =
'LbptYjdmMWI4ZketfMqs+Pt4UU45UAFSyKkfUx0RSxrD/S6FNWbN6MfnLmIzYw=='
;
$request_data =
'LbptYjdmMWI4ZX+sfpKv+HlUtwFXBhmsaLV5NGMpKGVi40opG7QeTRey+0r6rrdjgH8rTma25kl2SH4sHrI0ZgKDNlH7Kxyr8CrFKf8uA9Y0WyvPfytHrPeoea54YmZsvcRnNjdmMQ=='
;
$key =
'421eb7f1b8e4b3cf'
;
request_decode($request_data, $key);
response_decode($response_data, $key);
继续往下拉,在序号为35的流中,可以看到读取了文件:
因此,flag为(Flag格式:flag{WebShell-Key值_机密文件内容} ,例如:flag{d8ff731bdba84bf5_sercet} ):
flag{421eb7f1b8e4b3cf_Godzilla1sS000Int3rEstIng}
原文始发于微信公众号(赛博安全狗):【HW蓝队面试必问系列】哥斯拉流量分析(附流量文件下载地址)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论