wpa2密码破解教程(通过字典破解WPA/WPA2加密的WIFI密码)
文章目录[隐藏]
- 序
- 可能很无聊,但请耐心听理论解释
- 更有趣的实用部分
- 摘要
wpa2密码破解教程(通过字典破解WPA/WPA2加密的WIFI密码)Wpa2密码破解教程(通过字典破解WPA/WPA2加密WIFI密码)
序
当客户端连接到无线热点时,它们之间会交换一些数据。如果我们能捕捉到数据,我们就能得到无线热点的密码。阅读本文后,您将获得:
使用正确的密码将客户端连接到无线热点的过程
用于捕获连接时传输的数据并从中分析密码的方法
在进行本文的实验之前,请确保基本环境已经准备好:
无线网络安全的第一步:在虚拟机上配置kali
除了Kali系统的一些基本命令行操作外,还准备了今天实验所必需的无线网卡:
无线网络安全学习:网卡准备和常用命令行操作
在学习过程中,如有疑问,可私信作者或在文章下评论。我会尽力为读者解答问题。
可能很无聊,但请耐心听理论解释
在这一部分,我们将了解WIFI认证中的四次握手过程,这是我们下一步实验的知识储备。
首先,我们的数据是无线传输的,也就是以电磁波(也就是光)的形式,没有有线传输那么安全。因为电传输的媒介是电线,所以有线网络的媒介是网线,无论网线走到哪里,数据就传输到哪里,而无线网络以光的形式向外辐射,光能到达哪里,数据就能到达哪里。
因此,在无线传输中,我们必须有一个可靠的加密算法来保护我们的数据,并保护它免受不应该知道它的人的攻击。
提出的第一种加密方法是WEP,它是有线等效隐私的简称。翻译过来,就是有线等效保密。最初提出时,它是作为IEEE 802.11的一部分提出的。提出这种算法的委员会认为这种加密方式和有线传输一样安全,因此得名。
不幸的是,这种被称为“像有线一样安全”的加密方法的寿命不到5年(1999年9月提出的IEEE802.11在2003年被WPA淘汰)。它的脆弱性太严重了,解决其安全问题的唯一办法就是取代更安全的WPA或WPA2。
“…针对WEP安全问题,最广泛推荐的解决方案是改用WPA或WPA2,这比WEP更安全。”-百度百科
WPA,Wifi保护访问,字面意思是Wifi保护访问。2004年,IEEE802.11i发布,修订了之前的WPA,提出了更可靠、更安全的WPA2。这种加密方法至今一直被用来保护无线通信的安全。下面,我们就来简单了解一下用这种加密方式加密的无线热点认证过程中,客户端和路由器之间的故事,也就是四次握手:
①路由器向客户端发送一个随机数(记录为随机数1)。这是第一次握手。
②客户端收到这个随机数1后,生成另一个随机数(记录为随机数2),然后客户端通过函数关系生成一个密码(记录为PTK),密码有三个参数:随机数1、随机数2和输入的Wifi密码。
客户端立即将随机数2(由它计算的PTK数)发送回路由器。这是第二次握手。
③路由器收到随机数2,知道自己的Wifi密码,所以也通过随机数1、随机数2和自己的Wifi密码三个参数,在客户端通过同样的函数关系生成一个PTK。
将客户端发送的PTK与自己的PTK进行比较,如果通过固定的函数关系计算结果相同,即发送的PTK等于自己计算的PTK,说明三个参数(随机数1、随机数2、输入密码)相同,即客户端输入的密码只是自己的Wifi密码,已经通过认证。否则,握手结束。
在这里可能有的读者会问:一个输入只对应一个输出,但是一个输出却未必只对应一个输入?也就是说凭什么就这样认为输入的密码和正确的Wifi密码相同?也有可能是虽然不相同,但是函数运算出相同的结果呢?这是一个好问题,能够问出这个问题,就说明您已经确实地在思考了。生成PTK的这个算法,是我们软件运算中最常见的,Hash,也叫散列运算。它将不同长度的输入映射成长度相同、独一无二的输出,并且,没有办法从输出确定唯一的输入,因此,我们可以通过比较输出来在不知道输入的情况下比较输入。的确存在两个输入映射成同样的输出的情况出现,这也称为哈希碰撞。是有办法避免哈希碰撞的情形的,采取某种措施,可以将碰撞的几率降低到可以忽略的程度。有兴趣的读者可以在网上自行了解。因此,在这里,就认为输入的密码正是正确的Wifi密码。
身份验证成功后,路由器会向客户端发送另一个密钥。这是第一次三方握手。
(4)客户端收到密钥后,向路由器发送消息,告知对方已经收到密钥。这是第四次握手。
四次握手的数据包都是明文传输的,所以我们可以通过捕获四次握手的数据包得到随机数1、随机数2和PTK。
列出可能的Wifi密码,并编一本字典。我们对每个密码和两个随机数做同样的操作,然后与PTK进行比较。如果相同,说明这个密码是正确的Wifi密码。
更有趣的实用部分
首先我们设置一个Wifi,密码设置为12345678。
然后,我们把我们的物理电脑连接到的Wifi上。
打开我们的Kali Linux,使用airodump-ng wlan0mon扫描周围的Wifi
PWR最大的Wifi当然是我设置的无线热点,因为最近,信号最好,所以PWR也是最大的。频道指示它在11频道。
使用airodump-ng-bssid * *:* * *:* * *:* * *:* *-c11-w test WLAN 0 mon指定嗅探到的Wifi,并将捕获到的握手包保存在当前目录cap.cap当然,如果没有捕获到握手包,就不会有test.cap这样,就只能获得这个Wifi和连接的客户端的信息。
现在可以清楚地看到,我的电脑是这个Wifi的唯一客户端。我们有我手机网卡的Mac和我电脑无线网卡的Mac。(但是你没有得到。)
如前所述,握手数据包是只有在客户端和路由器进行身份验证时才会发送的数据包。除非我们等到第二个客户端连接到我的热点,否则我们无法捕获握手数据包。
然而,有一种方法可以让我们更快地拿到这个握手包。这就是德卢斯袭击。
路由器能够要求客户端断开与自身的连接。当它想这样做时,它会向客户端发送一个deauth包。然后,客户端将断开与路由器的连接。但是,这不是客户端网卡的意图。这不是那么容易处理的。被踢出后,它会尽快尝试重新连接到这台路由器。
deauth攻击的原理是模拟路由器将这个deauth数据包发送给客户端。如果你不想让你讨厌的室友在宿舍大声玩网游,而他恰好在宿舍连上了wifi,那就一直用deauth攻击他。
我们创建一个新窗口,使用Airplay-ng-02-a * *: * * *:* * *:* *-c-:-:-:-::-:-wlan0mon,使用WLAN 0 mon网卡作为mac地址* *:* *。
发送后,原始airodump-ng窗口的右上角会出现一行
WPA
handshake:你的WIFI的MAC地址
意味着我们拿到了握手套餐。如果没抓到,可以增加攻击时间或者调整无线网卡接收器的角度。
我们按ctrl+c退出,输入ls,看到有一个cap文件。
然后放passwd.txt,一个包含12345678的字典文件(没有12345678是不可能在网上找到字典的)。美国总统之行政命令
aircrack-ng
-w
passwd.txt
cap-01.cap
找到提示键![12345678],我们真的找到了这个密码。
虚拟机中运行字典的速度比较慢,随着配置的提升,运行字典的速度可以达到几百万。
摘要
今天我们学习了wifi认证的四次握手,以及通过deauth攻击将连接的客户端与路由器重新连接的操作,以抓取握手包并通过字典设置wifi密码。
但是不要以为学了这个招数就可以随意蹭网。
诚然,只要字典够大,运行够快,理论上wifi密码总能破解。
但是,算算就行了。假设我们采用一个10位的wifi密码,每一位有62种可能,即62个10位密码,每个密码的长度是10个字节,那么我们的字典文件至少有8 * 10个17字节,大致是800000TB还有特殊的符号,以我们普通电脑的计算速度…
但是常规密码,比如简单拼音加数字,比如电话号码,固定线路,比如生日,还是在可以接受的范围内。
相反,使用这些常规密码更容易被破解。
然而,一种新的认证已经出现。公共wifi,比如去肯德基、麦当,没有密码。要求用手机号接收验证码进行认证。
学习永远不会停止。一旦你停止学习,你就会落后于时代。
如果您在阅读过程中有任何疑问,或者在实际操作中有任何问题,请在文章下方留言,我会尽力为您解答。