CTF 之 流量分析(01)

admin 2021年10月1日00:32:27CTF 之 流量分析(01)已关闭评论2,267 views字数 2700阅读9分0秒阅读模式

在CTF比赛中,流量分析是一种十分重要的题型。通常这类题目都是会提供一个包含流量数据的pcap文件和pcapng文件 ,参赛选手通过该文件筛选和过滤其中无关的流量信息,根据关键流量信息找出flag或者相关线索。有时候也会需要选手们先进行修复或重构传输文件后,再进行分析。


总的来说有以下几个步骤

  • 总体把握

    • 协议分级

    • 端点统计

  • 过滤筛选

    • 过滤语法

    • Host,Protocol,contains,特征值

  • 发现异常

    • 特殊字符串

    • 协议某字段

    • flag 位于服务器中

  • 数据提取

    • 字符串取

    • 文件提取

总的来说比赛中的流量分析可以概括为以下三个方向:

  • 流量包修复

  • 协议分析

  • 数据提取

pcap文件和pcapng文件流量包的分析通常都是通过图形化的网络嗅探器——WireShark进行的,这款嗅探器经过众多开发者的不断完善,现在已经成为使用最为广泛的安全工具之一。


WireShark的基本使用分为数据包筛选、数据包搜索、数据包还原、数据提取四个部分。


1. 数据包筛选:

数据包筛选功能是WireShark的核心功能,比如需要筛选出特定的协议如HTTP,Telnet等,也可能需要筛选出ip地址,端口等。

1.1  筛选ip:

●源ip筛选

输入命令:

ip.src == 192.168.31.109

图片

或者手动操作:

点击任意一个符合筛选条件的数据包,找到IPv4下的Source字段。

图片

右键点击Source字段,作为过滤器应用 – 选中。

图片

●目的ip筛选

输入命令:

ip.dst == 192.168.31.143

图片

或者手动操作:

点击任意一个符合筛选条件的数据包,找到IPv4下的Destination字段,右键点击Source字段,作为过滤器应用 – 选中。

图片

 1.2  mac地址筛选:

输入命令:

eth.src == 3c:22:fb:53:91:e4
eth.dst == 00:0c:29:e7:2e:c6

图片

1.3  端口筛选:

输入命令:

tcp.srcport == 80
tcp.dstport == 80

图片

1.4  协议筛选:


输入命令:

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

图片

1.5  包长度筛选:


输入命令:

http.content_length == 2577

图片

1.6   http请求筛选

输入命令:

http.request.method == "POST"
http.request.uri.path == "/admin.php"
http.request.uri.query.parameter == "p=/Site/mod"
http.host == "192.168.31.143:30080"
http.request.line == "Origin: http://192.168.31.143:30080x0dx0a"
http.referer == "http://192.168.31.143:30080/admin.php"
http.cookie == "Hm_lvt_f6f37dc3416ca514857b78d0b158037e=1631013486; lg=cn; PbootSystem=356687690609038eaf55d7d65683c468; Hm_lpvt_f6f37dc3416ca514857b78d0b158037e=1631017394"
http.cookie_pair == "PbootSystem=356687690609038eaf55d7d65683c468"
http.user_agent == "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36"
http.content_type == "application/x-www-form-urlencoded; charset=UTF-8"
http.request.version == "HTTP/1.1"
http.accept == "application/json, text/javascript, */*; q=0.01"
http.request.line == "X-Requested-With: XMLHttpRequestx0dx0a"
http.request.uri == "/admin.php?p=/Site/index"
http.request.uri.query contains "6.html"
http contains "wvs"

图片

图片

2. 数据包搜索:

在WireShark界面按“Ctrl+F”,可以进行关键字搜索:

搜索关键字 X-Forwarded-For ,分别选择分组字节流 、字符串

图片

WireShark的搜索功能支持正则表达式、字符串、十六进制等方式进行搜索,通常情况下直接使用字符串方式进行搜索。

图片

搜索栏的左边下拉,有分组列表、分组详情、分组字节流三个选项,分别对应WireShark界面的三个部分,搜索时选择不同的选项以指定搜索区域:

图片

图片

3.  数据包还原

在WireShark中,存在一个交追踪流的功能,可以将HTTP或TCP流量集合在一起并还原成原始数据,具体操作方式如下:

选中想要还原的流量包,右键选中,选择追踪流 – TCP流/UPD流/SSL流/HTTP流。

图片

图片

4. 数据提取

WireShark支持提取通过http传输(上传/下载)的文件内容,方法如下:

选中http文件传输流量包,在分组详情中找到data或者Line-based text data:text/html层,鼠标右键点击 – 选中 导出分组字节流。

图片

如果是菜刀下载文件的流量,需要删除分组字节流前开头和结尾的X@Y字符,否则下载的文件会出错。鼠标右键点击 – 选中 显示分组字节


图片

在弹出的窗口中设置开始和结束的字节(原字节数开头加3,结尾减3)

图片

最后点击save as按钮导出。

图片

参考资料 :

https://www.freebuf.com/sectool/199838.html

作者:漏斗社区

链接:https://www.freebuf.com/sectool/199838.html

来源:简书

相关推荐: 2021年中科实数杯团队赛手机部分write up

本文由湖北警官学院19级网安乔同学编写,转载请注明。回顾今年五月份在江苏警官学院举办的中科实数杯,作为初出茅庐的参赛选手,解题时一度卡在了模拟器的锁屏密码上,无法打开模拟器,后面的题目岂不是要全军覆没了?有很多队伍都因为这个问题,或多或少地放弃了后面的题目,导…

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年10月1日00:32:27
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CTF 之 流量分析(01)http://cn-sec.com/archives/561323.html