一道无线流量题目引发的思考

栏目: 编程工具 · 发布时间: 6年前

内容简介:学习一番IEEE 802.11后,从原理性角度分析一道无线流量的CTF题目。在文章的开头处,先贴个

一道无线流量题目引发的思考

学习一番IEEE 802.11后,从原理性角度分析一道无线流量的CTF题目。

在文章的开头处,先贴个 wireshark分析802.11协议的pdf链接 ,可根据该文档所描述的内容快速过滤相应的数据包,这也是本文讲述如何使用wireshark学习分析IEEE802.11的帮助文档。不懂就翻翻咯~。本篇以一道ciscn2018的题目为引,从原理性分析学习IEEE802.11。

帧的基本类型

关于帧的基本类型,基本上大家也都知道三种类型(贴个 基础知识链接 ,不大理解的先看其中无线网络基础知识部分),这里重点讲述下管理帧。

Management frame(管理帧)

该帧的所显示的数据包一般用于各个设备之间建立第二层的连接,提供认证和连接服务。

该帧又细分为下面14种类型,每种类型所对应的中文注释以及过滤语句均已呈现。

一道无线流量题目引发的思考

而在管理帧中,值得重要一提的是Beacon,俗称信标,Beacon就像广播一般,向周边的其他设备声明某AP的类型及配置信息。下面会详细分析该帧。

Control frames(控制帧)

协助数据帧的传递,控制数据帧和管理帧的发送。

Data frame (数据帧)

包含真正的传输数据,最重要的是它可以将数据从无线网络转发到有线网络。在wireshark中,如果AP是使用的是WEP或者WAP加密,Data frame类型包,经过wireshark自带的解密功能wep、wpa-pwd、wpa-psk任意一种方法解密后,该类型数据包就会解析为更高层次的数据包,比如http数据包,在等会讲述的例题中,便与此相关。

管理帧中Beacon的具体分析

关于管理帧的具体分析,这里直接挑选Beacon来讲解。

为什么需要重点讲述Beacon呢?Beacon作为一个广播数据包,是一个AP向所有无线设备通知存在一个可用的AP,涵盖了一个AP大量的配置参数信息。另外,在IEEE802.11下,不同管理帧的具体内容和用途虽然不一样,但其他都与Beacon相似。下面即是一个Beacon的例子:

Frame 1: 279 bytes on wire (2232 bits), 279 bytes captured (2232 bits) on interface 0
Radiotap Header v0, Length 24
802.11 radio information
IEEE 802.11 Beacon frame, Flags: ........  -beacon广播包
    Type/Subtype: Beacon frame (0x0008)    -可使用wlan.fc.type_subtype == 0x0008过滤
    Frame Control Field: 0x8000            
        .... ..00 = Version: 0              
        .... 00.. = Type: Management frame (0) -帧类型为管理帧
        1000 .... = Subtype: 8                 
        Flags: 0x00
    .000 0000 0000 0000 = Duration: 0 microseconds
    Receiver address: Broadcast (ff:ff:ff:ff:ff:ff)
    Destination address: Broadcast (ff:ff:ff:ff:ff:ff)
    Transmitter address: Tp-LinkT_ca:13:df (30:fc:68:ca:13:df)         -传输mac地址
    Source address: Tp-LinkT_ca:13:df (30:fc:68:ca:13:df)          -源地址
    BSS Id: Tp-LinkT_ca:13:df (30:fc:68:ca:13:df)           -bssid
    .... .... .... 0000 = Fragment number: 0
    0110 1110 1011 .... = Sequence number: 11
IEEE 802.11 wireless LAN           -IEEE 802.11帧信息
    Fixed parameters (12 bytes)            -固定参数
        Timestamp: 0x000000017752d876          -发送数据包的时间戳
        Beacon Interval: 0.102400 [Seconds]    -beacon数据包的重传间隔
        Capabilities Information: 0x0431       -Wap的硬件容量信息
    Tagged parameters (219 bytes)          -标记参数
        Tag: SSID parameter set: T35t          -ssid(网络名称) 
        Tag: Supported Rates 1(B), 2(B), 5.5(B), 11(B), 6, 9, 12, 18, [Mbit/sec]
        Tag: DS Parameter set: Current Channel: 1            -Wap广播信道
        Tag: Traffic Indication Map (TIM): DTIM 0 of 0 bitmap        -传输指示映射
        Tag: ERP Information                                 
        Tag: Extended Supported Rates 24, 36, 48, 54, [Mbit/sec]     -扩展支持速率
        Tag: HT Capabilities (802.11n D1.10)                 -超线程性能
        Tag: HT Information (802.11n D1.10)               -超线程信息
        Tag: RSN Information                      -安全网络信息
        Tag: Vendor Specific: Microsoft Corp.: WPA Information Element     -供应商及WPA信息
            Tag Number: Vendor Specific (221)                 -供应商编号
            Tag length: 22                     -长度
            OUI: 00:50:f2 (Microsoft Corp.)               -安装程序
            Vendor Specific OUI Type: 1  
            Type: WPA Information Element (0x01)              -类型
            WPA Version: 1                     -WPA版本为1
            Multicast Cipher Suite: 00:50:f2 (Microsoft Corp.) AES (CCM) -多播密码插件
            Unicast Cipher Suite Count: 1                 -单播密码套件数
            Unicast Cipher Suite List 00:50:f2 (Microsoft Corp.) AES (CCM)  -单播密码套件列表
            Auth Key Management (AKM) Suite Count: 1      -认证密钥管理套件数
            Auth Key Management (AKM) List 00:50:f2 (Microsoft Corp.) PSK   -认证密钥管理列表
        Tag: Vendor Specific: Microsoft Corp.: WMM/WME: Parameter Element  
        Tag: Vendor Specific: TP-LINK TECHNOLOGIES CO.,LTD.                
        Tag: Vendor Specific: Microsoft Corp.: WPS               

原理性题解:2018ciscn-misc-寻找入侵者

黑客使用无线钓鱼攻击一个SSID为“CyberPeace”的热点,但是我们的蜜罐系统捕获了他的数据包,并且已经得知他的握手包密码就是他的网卡地址。可是根据我们最新获得的情况,他又发送重连请求的Malformat Frame试图崩溃我们的无线路由器。请从attack包中找到密码,并解开他的数据包,找到那条畸形数据。

题目所给附件:

一道无线流量题目引发的思考

思路解析

attack.pcapng记录着蜜罐系统所抓取的所有数据包,而hanshake.cap则是蜜罐系统抓取的黑客的握手包。本题的思路也就是通过分析attack.pcapng,寻找到黑客mac地址,然后通过aircrack-ng工具验证hanshake.cap握手包的密码,并且使用这个密码解密hanshake.cap的数据。通过分析解密后的hanshake.cap的http数据,找到另外一个key.pcap的在线下载链接,然后分析key.pcap,找到其中的畸形数据,也就是最终的答案。

解题步骤

wireshark打开attack.pcapng数据包,依照题意“黑客使用无线钓鱼攻击一个SSID为‘CyberPeace’的热点”,我们可以先过滤SSID名为CyberPeace的Beacon的信标分组(一般通过Beacon就可以分析出AP的基本信息),过滤语句wlan.fc.type_subtype == 0x0008&&wlan.ssid==CyberPeace,如下图

一道无线流量题目引发的思考

坑点一:使用时钟偏差检测AP的真伪

过滤之后,发现数据分组依旧多的一匹,思考了半天,网上翻阅资料一堆,隔天才找到 相关的资料 ,其中有此描述

一道无线流量题目引发的思考

也就是根据 IEEE802.11协议中的TSF(Time Synchronization Function,定时同步功能),通过收集AP的Beacon(信标帧)或者Probe response(探头响应消息)来计算AP的时钟偏差,通过与特征库中储存的偏差值比较,判断此AP是否为无线钓鱼AP。

那么问题来了,wireshark怎么查看时间戳在哪呢?额,我们随便挑个Beacon的分组看看,时间戳在IEEE 802.11 wireless LAN的分支下(上面),如下图:

一道无线流量题目引发的思考

接着,我们继续往下观察各分组的Timestamp的值,一直到2153分组,终于观察到不同的地方

一道无线流量题目引发的思考

第2153分组中Timestamp的值为0x0000000000000000,与其他AP中Beacon的Timestamp值不同,而此时的AP对应mac地址的值为88:25:93:c1:c8:eb(上图显示为TP-LinkT_c1:c8:eb)。再查看此mac地址其他Beacon的分组包,比如序号分组为2192、2237、2306(SN的值依次为2,3,4)中的Timestamp的值,你会发现Timestamp的值均为0x0000000000000000。

或者更直观一点,执行过滤语句:

wlan.fc.type_subtype == 0x0008&&wlan.ssid==CyberPeace&&wlan.fixed.timestamp == 0x00,观察下图,会发现均值mac地址的值为88:25:93:c1:c8:eb的Beacon,且Timestamp均为0x0000000000000000。(分析结束后,发现直接执行过滤语句wlan.fixed.timestamp ==0x00,也可以得到相同的结果)

一道无线流量题目引发的思考

故根据以上分析,再依照题意“并且已经得知他的握手包密码就是他的网卡地址”,我们可以确定黑客的网卡地址为88:25:93:c1:c8:eb,hanshake.cap的握手密码也应是88:25:93:c1:c8:eb,将这个密码写入文件d1.txt中,然后通过aircrack-ng工具验证下密码的正确与否,执行命令aircrack-ng hanshake.cap -w d1.txt。

一道无线流量题目引发的思考

如上图结果所示,验证成功。接下来就是解开hanshake.cap这个wpa握手包里的数据了。

坑点二:已知wifi密码如何正确解密cap数据包

这里主要有两种方法(当然还有其他的方法,比如使用Cain解密),一种通过wireshark提供的 转化网址 ,只需输入ssid和密码就能将其转化为PSK值。

一道无线流量题目引发的思考

然后打开wireshark,依次按照步骤操作:编辑 -> 首选项 -> Protocols -> IEEE 802.11 ,点击Edit

一道无线流量题目引发的思考

然后选填wpa-psk,输入刚刚转化得到的PSK值,进行解密

一道无线流量题目引发的思考

尝试过wpa-pwd,发现格式错误,解密无效

一道无线流量题目引发的思考

另一种方法是通过airdecap-ng工具解密,执行命令airdecap-ng -p 88:25:93:c1:c8:eb -e Honey hanshake.cap

一道无线流量题目引发的思考

打开解密后的流量包,会发现解析出了其他协议的数据分组

一道无线流量题目引发的思考

仔细分析后,发现执行http.request.method==GET语句过滤后,存在个key.rar压缩包的下载网址

一道无线流量题目引发的思考

因为这个文件当时是通过分析出来的,然后通过在线网址直接下载的。但之前链接已经失效(自己之前的没存(╥╯^╰╥)),不过还好,左问右问,还有老哥存着key.rar,要了一份,在这里特别感谢 阿烨 老哥,谢谢。

打开压缩包,解压得到个key.pcap,wireshark打开分析,这里先将正常的预期做法,包括踩坑步骤讲述下:

打开数据包后,再仔细看看题目,其中讲到“他又发送重连请求的Malformat Frame试图崩溃我们的无线路由器”,故我们先执行过滤语句wlan.addr==88:25:93:c1:c8:eb过滤出黑客网卡发出的所有包。

一道无线流量题目引发的思考

可以看到所有的过滤后所有的分组都是Type/Subtype: Association Request (0x0000),上面讲过 Association Request中文释义”关联请求“,顾名思义,而黑客通过Association Request发送了大量的Malformat,企图崩溃无线路由器。而在最后一条分组中找到了答案,也就是那条“畸形数据”。

一道无线流量题目引发的思考

最终答案:CISCN{Z9DY20jZIyjzY5vs0UQZVUg86eMYlNMzH}

在其中的数据包中,我们发现黑客是使用了大量的Association Request发送了大量的Malformat攻击路由器,这其实是无线AP中dos攻击中一种Association Flood Attack(关联洪水攻击),简称Asso攻击。关于几种攻击方式,计划着之后来篇动手实践fuzz玩AP的总结(✪ω✪)。

关于此题的思考

关于此题,看了许多资料,想了想这题的出题原理,在安全客上顺带找到一篇 【技术分享】基于802.11Fuzz技术的研究 ,发现就是原出题作者写的,在此先膜下。orz~。

此题,那时比赛后看了许多writeup,基本上黑客mac地址都是wireshark提取出来,然后爆破的,而最后的畸形数据也是strings key.pcap出来的。自己那时也是差不多的做法,正好最近学习了一波IEEE 802.11,那就从原理角度梳理下这题,发现学到的东西也是不少啊。如果有其他的做法,欢迎师傅们一起讨论。

结语

不得不说,最近学习IEEE 802.11协议有一种快乐的感觉,虽然其中很多东西需要自己不断的搜索资料,阅读书籍,但是学习之后,再结合实验,发现学到的东西真的挺多的,那种充实感、成就感相信大家都有过,共勉吧,好好学习,天天向上。


以上所述就是小编给大家介绍的《一道无线流量题目引发的思考》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Django 1.0 Template Development

Django 1.0 Template Development

Scott Newman / Packt / 2008 / 24.99

Django is a high-level Python web application framework designed to support the rapid development of dynamic websites, web applications, and web services. Getting the most out of its template system a......一起来看看 《Django 1.0 Template Development》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具