CTF| 吃个鸡,一起破流量分析题吧!
流量分析题是CTF杂项类常见的一种考点,考察我们分析网络流量包的能力。一般flag隐藏在某个数据包里面,或者需要从中提取一个文件出来等等,还有wifi的握手包,需要获取wifi密码等。
一、Wireshark的使用姿势
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
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 聊聊RedisTokenVisitor
- 聊聊claudb的exportRDB
- 聊聊claudb的importRDB
- 妙啊,阻塞到底是个啥?黄袍加身,亦能谈古说今
- 失联的架构师,只留下一段脚本
- 国人开源了一款小而全的 Java 工具类库,厉害啊!!
- Java自动化测试(mock 21)
- Java自动化测试(allure 20)
- Java自动化测试(jenkins 21)
- C#刷剑指Offer | 链表的倒数第k个节点
- 二叉树常见算法总结和C++实现
- Qt音视频开发15-mpv事件订阅
- MySQL案例:8.0统计信息不准确?
- Chaos Mesh® X GitHub Actions —— 把混沌工程集成到你的 CI 中
- 链表常见操作总结及C++实现