第六章 流量特征分析-蚁剑流量分析(玄机靶场系列)
先分享几个在Wireshark中好用的几个指令:
- 显示 POST 请求:
http.request.method == "POST"
,用于显示所有 POST 请求的 HTTP 数据包。 - 显示 GET 请求:
http.request.method == "GET"
,仅显示包含 GET 请求的 HTTP 数据包。
- 显示特定状态码:
http.response.code == 200
,只显示状态码为 200 的 HTTP 响应数据包。 - 显示错误状态码:
http.response.code >= 400
,可筛选出包含 HTTP 错误状态码(大于等于 400)的 HTTP 响应数据包。 - 按内容类型过滤:
http.content_type == "text/html"
,用于筛选出内容类型为text/html
的 HTTP 数据包,可根据实际需求替换为其他内容类型。 - 对于http响应查找特定的字符串:http contains "特定的字符串"
蚁剑流量特征:
蚁剑的请求体不仅是url编码,还混杂了base64编码,一般是小马(一句话木马)拉大马(蚁剑的核心代码)的过程,流量特征是:
- 蚁剑请求的请求体中都包含了
@ini_set("display_errors", "0");
与@set_time_limit(0);
- 如果蚁剑的请求中包含了多个参数,那个该参数的值为前两位为混淆字符,需要删除前两位才能进行base64解码
- User-Agent 为正常浏览器的ua表示,没有关键性字符,每次请求都可能不同,且经过多次分析发现ua标识里面的系统类型甚至还会进行切换
-
Content-Type字段会有个urlencoded字段
步骤一:木马的连接密码是多少
首先需要Wireshark过滤一下http的协议,在点击No.让它进行排序(请求加响应的形式进行)
点击第一个请求包:就可以发现连接的密码是1
flag{1}
步骤二:黑客执行的第一个命令是什么
这里有两个方法:
方法一:解密请求包
使用base64进行解码,从第二个字符开始,发现了id是它的第一个命令
方法二:查看响应包的明文输出
点击查看第一个响应包,发现返回的就是id命令的执行结果
flag{id}
步骤三:黑客读取了哪个文件的内容,提交文件绝对路径
方法和步骤二类似:
flag{/etc/passwd}
步骤四:黑客上传了什么文件到服务器,提交文件名
上传了flag.txt
flag{flag.txt}
步骤五:黑客上传的文件内容是什么
追踪http流在步骤四的数据包中
使用CyberChef进行解密:
flag{write_flag}
步骤六:黑客下载了哪个文件,提交文件绝对路径
flag{/var/www/html/config.php}