1.wireshark基本用法

1
Wireshark的基本使用分为数据包筛选、数据包搜索、数据包还原、数据提取四个部分。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
①数据包筛选
ip.src == 源ip地址
ip.dst == 目的ip地址

eth.addr==A0:00:00:04:C5:84 筛选MAC地址
eth.src ==A0:00:00:04:C5:84 筛选目标mac地址
eth.dst ==A0:00:00:04:C5:84 筛选目标mac地址

tcp.dstport == 80 筛选tcp协议的目标端口为80的流量包
tcp.srcport == 80 筛选tcp协议的源端口为80的流量包
udp.srcport == 80 筛选udp协议的源端口为80的流量包

tcp 筛选协议为tcp的流量包
udp 筛选协议为udp的流量包
arp/icmp/http/ftp/dns/ip 筛选协议为arp/icmp/http/ftp/dns/ip的流量包

udp.length ==20 筛选长度为20的udp流量包
tcp.len >=20 筛选长度大于20的tcp流量包
ip.len ==20 筛选长度为20的IP流量包
frame.len ==20 筛选长度为20的整个流量包

请求方法为GET:http.request.method==“GET” 筛选HTTP请求方法为GET的 流量包
请求方法为POST:http.request.method==“POST” 筛选HTTP请求方法为POST的流量包
指定URI:http.request.uri==“/img/logo-edu.gif” 筛选HTTP请求的URL为/img/logo-edu.gif的流量包
请求或相应中包含特定内容:http contains “FLAG” 筛选HTTP内容为/FLAG的流量包

1
2
3
4
②数据包搜索
在wireshark界面按“Ctrl+F”,可以进行关键字搜索:
Wireshark的搜索功能支持正则表达式、字符串、十六进制等方式进行搜索,通常情况下直接使用字符串方式进行搜索。
搜索栏的左边下拉,有分组列表、分组详情、分组字节流三个选项,分别对应wireshark界面的三个部分,搜索时选择不同的选项以指定搜索区域: 注意看下图

img

1
2
3
4
③数据包还原
在wireshark中,存在一个追踪流的功能,可以将HTTP或TCP流量集合在一起并还原成原始数据,具体操作方式如下:
选中想要还原的流量包,右键选中,选择追踪流 – TCP流/UPD/SSL/HTTP流。

image-20250119171802994

image-20250119171827756

1
2
④数据提取
1.Wireshark支持提取通过http传输(上传/下载)的文件内容,方法如下:自动提取通过http传输的文件内容 文件->导出对象->HTTP

image-20250119172311329

image-20250119172449201

1
2
2.手动提取通过http传输的文件内容
选中http文件传输流量包,在分组详情中找到data,Line-based text, JPEG File Interchange Format, data:text/html层,鼠标右键点击 – 选中 导出分组字节流。我这里选择data:text/html层,看着是html文件,直接保存html打开看看

image-20250119173531898

image-20250119173219507

2.赛题

1
主要分为流量包修复、数据提取、WEB流量包分析、USB流量包分析、无线密码破解和工控流量包分析等等。

1.题目:Cephalopod(图片提取)

1
2
3
题目来源:XCTF 3rd-HITB CTF-2017
考点:图片提取
题目信息:(Cephalopod.pcapng)

img

1
数据包打开,分组字节流查询flag,发现出现了flag.png的字样,但是并没有这个图片文件,那肯定就是png呗,搜索字符串png不区分大小写

image-20250119193910664

image-20250119194621873

1
2
这个包长度40610大小也合适,追踪tcp流,获取上下完整的流量,然后显示为原始数据,另存为1.png
把前面无关数据删除掉

image-20250119202312539

2.题目:特殊后门(icmp协议信息传输)

1
2
3
题目来源:第七届山东省大学生网络安全技能大赛
考点:字符串搜索,icmp协议信息传输
题目信息:(backdoor++.pcap)

20190804062347863

1
搜索flag,发现从253个包开始,一个包里面有flag的一位,依次查看所有icmp包拼凑字符得到flag{Icmp_backdoor_can_transfer-some_infomation}

image-20250119202737085

3.题目:手机热点(蓝牙传输协议obex,数据提取)

1
2
3
题目来源:第七季极客大挑战
考点:蓝牙传输协议obex,数据提取
题目信息:(Blatand_1.pcapng)

img

1
这道题只要确定好是用蓝牙协议:obex 过滤器直接搜协议

image-20250119203346529

1
直接foremost分离吧

image-20250119205309584

flag

4.题目:想蹭网先解开密码(无线密码破解)

1
2
3
题目来源:bugku
考点:无线密码破解
题目信息:(wifi.cap)

img

1
WIFI连接认证的重点在WPA的四次握手包,也就是eapol协议的包,过滤一下

image-20250119205827304

1
2
3
四次握手包,意思就是有WiFi连接过程了,我们自己弄个WiFi密码的字典,然后用aircrack-ng爆破一下这个流量包
crunch 11 11 -t 1%%%%%%%%%% >> wifipass.txt
aircrack-ng -w wifipass.txt wifi.cap

image-20250119210033698

1
肯定是这个essid,输入3

image-20250119210100852

1
flag{13910407686}

5.题目:抓到一只苍蝇(数据包筛选,数据提取)

1
2
3
题目来源:bugku
考点:数据包筛选,数据提取
题目信息:(misc_fly.pcapng)

img

1
抓到一只苍蝇---http contains "苍蝇"  过滤http中有苍蝇的包,确实有一个包追一下http

image-20250119211353965

1
2
这应该是发了一封邮件,应该是有附件,foremost一下没有发现有用信息
http.request.method==POST 过滤一下post方法的http

image-20250119214505505image-20250119215502857

1
后面那5个包合一块就是fly.rar,挑出来这几个包,分别保存为a,b,c,d,e

image-20250119215054431

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
但是由于TCP包有文件头,我们需要去掉文件头才能将原始数据合成一个文件,
文件大小是525701字节,我们需要的这5个数据包的大小(Media Type中可看到):
131436*4+1777=527521
527521-525701=1820
1820/5=364
tcp包的文件头就为364
用dd依次把五个文件去掉文件头保存到另一文件
dd if=a bs=1 skip=364 of=r1

dd命令语法:
if 输入文件名
bs 设置每次读写块的大小为1字节
skip 指定从输入文件开头跳过多少个块后再开始复制
of 输出文件名

cat r1 r2 r3 r4 r5 > fly.rar

image-20250119221658606

1
fly.rar又被伪加密了,用010打开74 84改成74 80

image-20250119222007052

1
解压打开txt里面是16进制数,直接拖入010

image-20250119222555540

1
必须在32位下运行,以及下方出现的PE,那么改成exe文件

image-20250119222718097

1
运行之后出现一堆蚊子,结束了就行

image-20250119222824552

1
foremost一下里面有二维码

image-20250119223843608

1
2
3
4
数据分析题
题目一,二,三,四
题目给了10个流量包,其中只有四个流量包能够分析出有用信息
为了方便,分为题目一二三四对四个流量包进行了分析

img

题目一(数据分析题/1.pcap)

1
2
3
4
5
题目要求:
1.黑客攻击的第一个受害主机的网卡IP地址
2.黑客对URL的哪一个参数实施了SQL注入
3.第一个受害主机网站数据库的表前缀(加上下划线例如abc_)
4.第一个受害主机网站数据库的名字
1
2
流量包476 MB操作起来比较卡顿
对攻击行为进行还原,应该首先是通过web服务也就是先查看http协议,第一个网卡就是192.168.1.8

image-20250120120226007

image-20250120120538185

1
这里发现有注入,注入点就是list[select]