流量分析题是CTF杂项类常见的一种考点,考察我们分析网络流量包的能力。一般flag隐藏在某个数据包里面,或者需要从中提取一个文件出来等等,还有wifi的握手包,需要获取wifi密码等。
1.1 过滤报文
wirkshark的过滤器和过滤规则能够帮助我们迅速定位到要分析的报文。下面列举几种比较常见的过滤数据包的语法,具体的还请百度。
1.过滤IP,如源IP或者目标 x.x.x.x
ip.src eq x.x.x.x or ip.dst eq x.x.x.x 或者 ip.addr eq x.x.x.x
2.过滤端口
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.过滤协议
tcp/udp/arp/icmp/http/ftp/dns/ip……
4.过滤MAC
eth.dst == A0:00:00:04:C5:84
过滤目标mac
5.包长度过滤
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模式过滤
http.request.method == "GET"
http.request.method == "POST"
http.request.uri == "/img/logo-edu.gif"
ttp contains "GET"
ttp contains "HTTP/1."
ttp.request.method == "GET" && http contains "User-Agent:"
1.2 协议分析
在statistics下选择protocol hierarchy,可以查看当前数据包中包含哪些协议。
将所有选项都展开,通常我们关注HTTP协议的内容,其他明文的TCP协议或UDP协议内容也有可能需要关注。
在我们关注的协议上右键点击apply as filter -> selected,可以过滤出需要的协议类型。
同样的方法也可以用来选择想要的数据包特征,比如想筛选http post请求数据包,可打开一个http post请求包,点击到post请求方式,右键apply as filter -> selected。
1.3 流汇聚
在关注的http数据包或tcp数据包中选择流汇聚,可以将HTTP流或TCP流汇聚或还原成数据,在弹出的框中可以看到数据内容。
HTTP流:
常见的HTTP流关键内容:
1、HTML中直接包含重要信息
2、上传或下载文件内容,通常包含文件名、hash值等关键信息,常用POST请求上传。
3、一句话木马,POST请求,内容包含eval,内容使用base64加密
TCP流:
通常是命令行操作。
1.4 数据提取
使用wireshark可以自动提取通过http传输的文件内容,方法如下:
file->export objects->http
在打开的对象列表中找到有价值的文件,如压缩文件、文本文件、音频文件、图片等,点击saveas进行保存,或者saveall保存所有对象再进入文件夹进行分析。
有时候自动提取得不到想要的结果时,也可以使用wireshark也可以手动提取文件内容:
点击想要的数据包,选定media type的位置,点击file->export selected Packet Bytes,在弹出的框中将文件保存成二进制文件。
有时候我们打开一个文件,里面只有wireless LAN 协议,很有可能是WPA或WEP加密后的无线数据包。
使用aircrack-ng应用程序可以进行解密。
1、首先是命令行模式的教程,将目标加密包复制到aircrack-ng文件夹下
(1) 用aircrack-ng检查cap包:
aircrack-ng.exe shipin.cap
可见这里是wpa加密,并且bssid:00:1D:0F:5D:D0:EE,essid:0719
(2)使用弱口令字典破解wpa加密
aircrack-ng.exe shipin.cap -w wordlist.txt
这里wordlist.txt是弱口令字典,包含了常见的路由器密码,可以网上下载到,也可以自动生成。
可见破解到的密码是88888888。
(3)用密码解密cap 这里用到airdecap-ng解密cap报文,使用到了刚才的essid和破解的密码 airdecap-ng.exe shipin.cap -e 0719 -p 88888888
于是在目录下生成一个shipin-dec.cap,使用wireshark打开
2、在windows环境下还有GUI版本的aircrack-ng (1)直接使用aircrack-ng破解密码 结果与命令行的(2)相同
(2)使用airdecap-ng解密cap报文 结果与命令行的(3)相同。
(3)wireshark查看解密报文shipin-dec.cap
相关CTF的题目:
http://www.shiyanbar.com/ctf/writeup/1451