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

栏目: 编程工具 · 发布时间: 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协议有一种快乐的感觉,虽然其中很多东西需要自己不断的搜索资料,阅读书籍,但是学习之后,再结合实验,发现学到的东西真的挺多的,那种充实感、成就感相信大家都有过,共勉吧,好好学习,天天向上。


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

查看所有标签

猜你喜欢:

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

C和指针

C和指针

Kenneth A.Reek / 徐波 / 人民邮电出版社 / 2008 年4月 / 65.00元

本书提供与C语言编程相关的全面资源和深入讨论。本书通过对指针的基础知识和高级特性的探讨,帮助程序员把指针的强大功能融入到自己的程序中去。 全书共18章,覆盖了数据、语句、操作符和表达式、指针、函数、数组、字符串、结构和联合等几乎所有重要的C编程话题。书中给出了很多编程技巧和提示,每章后面有针对性很强的练习,附录部分则给出了部分练习的解答。 本书适合C语言初学者和初级C程序员阅读,也可作......一起来看看 《C和指针》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

MD5 加密
MD5 加密

MD5 加密工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具