前期准备

靶场:玄机应急响应--第六章流量特征响应分析--蚁剑

工具:wireshark

wireshark抓包过滤命令汇总

1. 主机过滤

  • 捕获源主机的数据包:ip.src == 源IP地址

  • 捕获目标主机的数据包:ip.dst == 目标IP地址

  • 捕获特定主机的数据包(源或目标):ip.addr == 主机IP地址

2. 端口过滤

  • 捕获特定源端口的数据包:tcp.srcport == 源端口号

  • 捕获特定目标端口的数据包:tcp.dstport == 目标端口号

  • 捕获特定端口的数据包(源或目标):tcp.port == 端口号

3. 协议过滤

  • 捕获特定协议的数据包:ip.proto == 协议号

  • 捕获TCP协议数据包:tcp

  • 捕获UDP协议数据包:udp

4. 时间过滤

  • 捕获特定时间范围内的数据包:frame.time >= "开始时间" && frame.time <= "结束时间"

5. 基于内容过滤

  • 捕获包含特定关键词的数据包:frame contains "关键词"

6. 组合过滤

  • 捕获特定主机和端口的数据包:ip.addr == 主机IP地址 && tcp.port == 端口号

  • 捕获特定协议和端口的数据包:ip.proto == 协议号 && tcp.port == 端口号

7.http请求方式

  • POST为请求:http.request.method=="POST"

  • GET方式:http.request.method=="GET"

蚁剑流量特征

  • 明文的每一个蚁剑请求的请求体中都包含了@ini_set("display_errors", "0");@set_time_limit(0);

  • 对于加密和编码之后的请求包里面就没有了@ini_set("display_errors", "0");@set_time_limit(0);

  • 如果蚁剑的请求中包含了多个参数,那个该参数的值为前两位为混淆字符,需要删除前两位才能进行base64解码

  • User-Agent 为正常浏览器的ua表示,没有关键性字符,每次请求都可能不同,且经过多次分析发现ua标识里面的系统类型甚至还会进行切换,如此的不规律不就成了一种规律了吗?

  • 蚁剑的响应内容并不一定是明文,也可以是经过编码之后的内容。

1、木马的连接密码是多少

过滤 http contains "200"找到请求成功的包,发现几个请求体中都包含了@ini_set("display_errors", "0")的字样,鉴定为玩蚁剑玩的

前面的 1 就是webshell的密码

所以这题的答案为flag{1}

2、黑客执行的第一个命令是什么

继续看刚刚过滤掉包,看第一个包

image-20240707141833340

右键value显示分组字节可以看到蚁剑传入的值

然后选择解码为base64,同时开始设为2(前面说了蚁剑流量特征,参数的值为前两位为混淆字符)

image-20240707142032855

可以看到该请求包输入的命令,其中id为第一个

flag{id}

3、黑客读取了哪个文件的内容,提交文件绝对路径

同样跟第二步一样,右键value显示分组字节可以看到蚁剑传入的值

然后选择解码为base64,同时开始设为2,可以看到执行了命令cat /etc/passwd,所以

flag{/etc/passwd}

4、黑客上传了什么文件到服务器,提交文件名

同样查看下一个请求包,同样解码value得到上传的文件为

flag{flag.txt}

5、黑客上传的文件内容是什么

在第四个请求包中,找到另一个value,是一个十六进制字符串

image-20240707143512377

解码后得到文件内容

image-20240707143546124

flag{write_flag}

6、黑客下载了哪个文件,提交文件绝对路径

与前面解题相同,找到最后一个响应包

解码得到文件绝对路径:

flag{/var/www/html/config.php}