流量取证技术
CTF比赛中,流量包的取证分析是另一项重要的考察方向。通常比赛中会提供一个包含流量数据的PCAP文件,有时候也会需要选手们先进行修复或重构传输文件后,再进行分析。
总体把握
- 协议分级
- 端点统计过滤筛选
- 过滤语法
- Host,Protocol,contains,特征值发现异常
- 特殊字符串
- 协议某字段
- flag位于服务器中数据提取
- 字符串取
- 文件提取总的来说比赛中的流量分析可以概括为以下三个方向:
- 流量包修复
- 协议分析
- 数据提取
1.WireShark工具的基本使用
wireshark的过滤器和过滤规则能够帮助我们迅速定位到要分析的报文
(1)常用的过滤命令:
1.过滤IP,如源IP或者目标x.x.x.x
bash
ip.src eq x.x.x.x or ip.dst eq x.x.x.x 或者ip.addr eq x.x.x.x
2.过滤端口
bash
tcp.port eq 80 or udp.port eq 80
tcp. dstport == 80 只显tcp协议的目标端口为80
tcp. srcport == 80 只显tcp协议的源端口为80
tcp.port >= 1 and tcp.port <= 80
3.过滤协议
bash
tcp/udp/ arp/ icmp/http/ ftp/dns/ip
4.过滤MAC
bash
eth.dst == A0:00:00:04:C5:84(过滤目标mac)
5.包长度过滤
bash
udp.length === 26
(这个长度是指udp本身固定长度8加上udp下面那块数据包之和。)
tcp.len>= 7
(指的是ip数据包(tcp下面那块数据),不包括tcp本身)
ip.len == 94
(除了以太网头固定长度14,其它都算是ip.len,即从ip本身到最后)
frame.len == 119
(整个数据包长度,从eth开始到最后)
6.http模式过滤
bash
http.request.method == "GET"
http.request.method == "POST"
http.request.uri == "/img/logo-edu.gif"
http contains "GET"
http contains "HTTP/1."
http.request.method == "GET" && http contains "User-Agent:"
http contains "flag"
http contains "key"
tcp contains "flag"
(2)WireShark 协议分析
了解数据包传输的内容
(3)WireShark流汇聚
在关注的ttp数据包或tcp数据包中选择流汇聚,可以将HTTP流或TCP流汇 聚或还原成数据,在弹出的框中可以看到数据内容。
常见的HTTP流关键内容: 1、HTML中直接包含重要信息。 2、上传或下载文件内容,通常包含文件名、hash值等关键信息,常用POST请求上传。 3、一句话木马,POST请求,内容包含eval,内容使用base64加密
(4)WireShark数据提取
1.使用wireshark可以自动提取通过htp传输的文件内容。
2.wireshark可以手动提取文件内容。 点击想要的数据包,如下图选定media type的位置 右键→导出分组字节流或者点击菜单栏文件→导出分组字节流,快捷方式Ctrl+H在弹出的框中将文件保存成二二进制文件。
(4)无线流量包跑密码
无线wifi流量包
aircrack-ng工具进行wifi密码破解
1.用aircrack-ng检查cap包:aircrack-ng xxx.cap
2.用aircrack-ng跑字典进行握手包破解: aircrack-ng xx.cap -w pass.txt