流量分析的学习(1)--玄机蚁剑流量包分析
前期准备
靶场:玄机应急响应--第六章流量特征响应分析--蚁剑
工具: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、黑客执行的第一个命令是什么
继续看刚刚过滤掉包,看第一个包
右键value显示分组字节可以看到蚁剑传入的值
然后选择解码为base64,同时开始设为2(前面说了蚁剑流量特征,参数的值为前两位为混淆字符)
可以看到该请求包输入的命令,其中id为第一个
flag{id}
3、黑客读取了哪个文件的内容,提交文件绝对路径
同样跟第二步一样,右键value显示分组字节可以看到蚁剑传入的值
然后选择解码为base64,同时开始设为2,可以看到执行了命令cat /etc/passwd,所以
flag{/etc/passwd}
4、黑客上传了什么文件到服务器,提交文件名
同样查看下一个请求包,同样解码value得到上传的文件为
flag{flag.txt}
5、黑客上传的文件内容是什么
在第四个请求包中,找到另一个value,是一个十六进制字符串
解码后得到文件内容
flag{write_flag}
6、黑客下载了哪个文件,提交文件绝对路径
与前面解题相同,找到最后一个响应包
解码得到文件绝对路径:
flag{/var/www/html/config.php}