一、wireshark语法
1、wireshark过滤语法
(1)过滤IP地址
ip.src==x.x..x.x 过滤源IP地址
ip.dst==x.x.x.x 过滤目的IP
ip.addr==x.x.x.x 过滤某个IP
(2)过滤端口号
tcp.port==80
tcp.srcport==80 显示TCP的源端口80
tcp.dstport==80 显示TCP的目的端口80
(3)过滤协议
直接输入协议名称 tcp/http/dns
(4)包长度过滤
udp.length==26
tcp.len >=7
(5)http模式的过滤(极其重要,尤其是http contains "关键字")
http.request.method=="GET"
http.request.method=="POST" 筛选请求方式
http.request.uri=="图片的路径"
http cantains "GET"
http contains "HTTP/1."
http contains "flag"
http contains "key"#看一下http协议流量包中有没有flag字段
tcp contains "flag"
2、wireshark协议分级
协议分析的目的就是为了对整个流量包有一个大致的分析!
统计 ---> 协议分级
3、wireshark 流汇聚
(1)用于追踪tcp或者http的流量
追踪流中直接寻找是否有flag
wireshark数据提取
(1)ctf题目当作可能会将flag等信息藏在一些文件当作;比如藏在图片;压缩包;文本文档等;需要我们对流量包进行数据提取;将提取的数据进一步处理!
文件 -----> 导出对象 ------> HTTP
eg:有一个ncc.pcap流量包;打开首先在协议分级当作看一下流量包的比重;输入http contains "ncc"
;发现了一张.png照片
提取!
进一步对照片进行处理拿到flag!
(2)使用networkminer工具
分析流量包直接提取出照片!
(3)手动提取!
二、流汇聚型
1、考点:
flag等信息直接藏在流量包当中;难度稍微提升提点的就是通过分析流量包看流量包中是否有其他文件;比如jpg;zip;png等等;需要进行数据提取进行下一步分析;这类题目往往和misc方向有关!
http contains "PSOT"
http contains "flag"
tcp contains "flag"
http contains "zip"
http contains "jpg"
http contains "png"
//根据筛选出来的流量包进行分析;看看是否有敏感数据;比如FFD8FF PK等等常见的文件开头;然后提取数据
2、例题:
1、流汇聚(直接流汇聚就能拿到flag)
2、提取数据的
(1)藏在压缩包中的(PK为压缩包文件的头部标识)
原始数据显示;然后保存16进制数据;010editor导入16进制数据;另存为即可
(2)藏在图片当中的
三、TLS流量
1、考点:
题目一般会提示让你导入 key;去解锁加密的流量包(flag一般藏在加密的流量包当中);一般key藏在了给出的流量包中;使用tcp contains “KEY” ftp contains "key"筛选数据包;然后具体分析数据包找到KEY;导入KEY就可看到隐藏的流量包(http数据包如果没有导入KEY;wireshark是看不到的);导入KEY的方法
编辑——>首选项——>协议——>TLS——>exit——>导入key——>应用
2、例题:
- 例题1:
(1)题目给出提示信息让我们区寻找KEY;常见的KEY藏在TCP流量包中;使用tcp contains “key”过滤数据包
追踪流分析数据包;发现了一段base64编码的内容;根据经验判断应该是base64编码转图片
base64在线解码工具:Base64解码 Base64编码 UTF8 GB2312 UTF16 GBK 二进制 十六进制 解密 - The X 在线工具
解码之后得到一张图片;图片的内容为KEY
微信识别内容后保存为txt文件(提示文件给出了key的格式)
导入KEY出现了两个http流量包;追踪流发现了flag!(没有导入key之前没有发现flag) - 例题2
题目提示是TSL加密;那就是要找到key导入密钥获取加密的流量包;输入http contains "key"
筛选流量包;然后分析流量包;发现一个流量包很奇怪;追踪http流量发现了sslkey.log;另存到桌面;然后导入key;发现http流量包多了几个;分析http流量包拿到flag!
四、大流量
1、黑客IP地址
思路:黑客攻击会产生大量的流量;根据流量的大小、包的数量来判定是否为异常流量以及攻击者的IP。可以用统计工具分析一下
统计-会话。发现183.129.152.140与内网IP建立会话的Packets较多
统计-端点。同样发现183.129.152.140的包数最多。
统计-IPv4 Statistics-ALL Address。统计下IP,183.129.152.140的数量最多。
所以,183.129.152.140应该就是黑客的IP。分析其它数据包也印证了这个结果
2、黑客邮箱
发送邮件的协议一般为SMTP
;首先尝试第一眼看到的xsser@live.cn
,发现flag正确,所以后面看见的邮箱也就不需要试了。
3、后门名称
我们得到了黑客的攻击IP183.129.152.140
,首先过滤一下这个IP
ip.addr == 183.129.152.140
后名文件一般是php;所以追踪流找到了后门文件为flag{admin.bak.php}
五、USB流量
1、键盘流量
(1)USB协议键盘数据部分,会出现在 Leftover Capture Data
或者 HID Data
中;长度为16位
提取数据:右键HID Data ;作为过滤应用;选中;然后复制
使用命令提取数据
//提取键盘流量;其中usbhid.data就是复制的字段内容
tshark -r 键盘.pcapng -T fields -e usbhid.data |sed '/^\s*$/d' >flag.txt
//使用脚本加上:;注意键盘流量是16位;鼠标是8位
python .\冒号.py
//提取键盘数据
python .\usb_keyborad.py
2、鼠标流量
(1)USB协议鼠标数据部分,会出现在 Leftover Capture Data
或者 HID Data
中;长度为8位
(2)例题:打开流量包;根据Leftover Capture Data内容得出为鼠标流量;获得字段值为usb.capdata
//提取鼠标流量;其中usb.capdata为数据的字段
tshark -r 鼠标.pcap -T fields -e usb.capdata |sed '/^\s*$/d' >flag.txt
//加上:;注意键盘流量是8位;注意修改脚本
python .\usb_mouse.py
python '.\坐标绘制图形 - 副本.py
六、webshell流量
例题
打开流量包;首先http contains "flag"
;发现了结果符合条件的流量包(发现了菜刀webshell工具的流量;解码发现让我下载6666.jpj这个图片;追踪http流量包;一个一个查看)
查看完所有的http流量包之后;发现了 1.php 6666.jpg flag.txt hello.zip 几个文件;尝试提取出来;根据流量包;只找到6666.jpg和zip的数据内容
(1)提取666.jpg(JPG的头部数据为FFD8FF)
显示原始数据;保存16进制数据到txt文档中;然后010editor导入16进制数据;另存为1.jpg
我以为是flag;发现不是;那可能是zip的密码
(2)提取zip
分析数据包发现了zip的头部内容PK;提取压缩包(和提取图片的步骤一样)
然后发现解压需要密码;使用照片中的密码解密拿到flag!
七、wifi流量
例题
打开流量包出现现wireless LAN协议
和802.11无线协议
和Tp-Link,
;判定为wifi流量包;使用airrcrack-ng工具进行破解
//获得BSSID地址BC:F6:85:9E:4E:A3
aircrack-ng xxx.cap
//生成字典解密
aircrack-ng -a2 -b BC:F6:85:9E:4E:A3 -w pass.txt wifi.cap
八、思路总结
首先打开流量包;
分别看一下不同协议的info;看看有没有什么特别奇怪或者很长的解释;
一般flag就在里面(有可能是base64编码的;注意二次编码);
然后就是利用过滤语法看看有没有什么明显的流量包;
进一步分析;看看有没有什么压缩包,图片,文件等等的;
提取出来看看是否有flag等信息;
还有注意几种特别的流量包;