知乐空间

通过字典破解WPA/WPA2加密的WIFI密码(wpa2密码破解教程)

Wpa2密码破解教程(通过字典破解WPA/WPA2加密WIFI密码)

当客户端连接到无线热点时,它们之间会交换一些数据。如果我们能捕捉到这些数据,我们就有望获得这个无线热点的密码。读完这篇文章,你会有所收获:

客户端使用正确的密码连接到无线热点的过程

是指捕获连接时传输的数据,并从中分析密码。

在进行本文的实验之前,请确保基本环境已经准备就绪:

无线网络安全第一步:在虚拟机上配置kali。

并且,Kali系统的一些基本命令行操作已经知道,今天实验必需的无线网卡也准备好了:

无线安全学习:网卡准备和常用命令行操作

在学习过程中,如有疑问,可私信作者,或在文章下评论。我会尽力为读者答疑解惑。

可能比较枯燥,但请耐心听理论解释。

这部分我们会学习WIFI认证过程中的四次握手,这是我们下一步实验的知识储备。

首先,我们的数据是无线传输的,也就是以电磁波(也就是光)的形式传输,不如有线(电)传输安全。因为电传输的介质是电线,有线网络的介质是网线,网线到哪里,数据就传输到哪里,而无线网络是以光的形式向外辐射,光能到达哪里,数据就可以到达哪里。

所以在无线传输中,一定要有一个可靠的加密算法来保护我们的数据,不让不该知道的人知道。

首先提出的加密方法是WEP,它是有线等效保密的缩写。翻译,即有线等效保密。最初提出时,它是作为IEEE 802.11的一部分提出的。提出这种算法的委员会认为这种加密方法和有线传输一样安全,所以这样命名。

遗憾的是,这种被称为“像有线一样安全”的加密方式的寿命只持续了不到五年(1999年9月提出的IEEE802.11在2003年被WPA淘汰)。它的脆弱性是如此严重,以至于解决其安全问题的唯一方法是更换更安全的WPA或WPA2。

"...WEP安全问题最广泛推荐的解决方案是改用WPA或WPA2,比WEP更安全。”——百度百科

取而代之的是WPA,Wifi保护接入,字面翻译为Wifi保护接入。2004年,IEEE802.11i发布,修订了之前的WPA,提出了更加可靠和安全的WPA2。这种加密方法一直被用来保护无线通信的安全。下面,我们来简单了解一下在这种加密方式加密的无线热点的认证过程中,客户端和路由器之间发生的故事,也就是四次握手:

①路由器向客户端发送一个随机数(记为随机数1)。这是第一次握手。

②客户端收到这个随机数1后,自己生成一个随机数(记为随机数2)。然后,客户端通过随机数1、随机数2和输入的Wifi密码三个参数的函数关系生成密码(记为PTK)。

然后,客户端将随机数2(它计算出的PTK)发送回路由器。这是第二次握手。

③路由器收到随机数2,它知道自己的Wifi密码,所以它也通过随机数1、随机数2和自己的Wifi密码三个参数,在客户端通过相同的函数关系生成一个PTK。

将客户端发送的PTK与自己的PTK进行对比,如果通过固定的函数关系,计算的结果相同,即发送的PTK等于自己计算的PTK,则说明三个参数(随机数1、随机数2、输入的密码)都相同,即客户端输入的密码是自己的Wifi密码,已经通过认证。否则握手就结束了。

在这里可能有的读者会问:一个输入只对应一个输出,但是一个输出却未必只对应一个输入?也就是说凭什么就这样认为输入的密码和正确的Wifi密码相同?也有可能是虽然不相同,但是函数运算出相同的结果呢?这是一个好问题,能够问出这个问题,就说明您已经确实地在思考了。生成PTK的这个算法,是我们软件运算中最常见的,Hash,也叫散列运算。它将不同长度的输入映射成长度相同、独一无二的输出,并且,没有办法从输出确定唯一的输入,因此,我们可以通过比较输出来在不知道输入的情况下比较输入。的确存在两个输入映射成同样的输出的情况出现,这也称为哈希碰撞。是有办法避免哈希碰撞的情形的,采取某种措施,可以将碰撞的几率降低到可以忽略的程度。有兴趣的读者可以在网上自行了解。因此,在这里,就认为输入的密码正是正确的Wifi密码。

认证成功后,路由器向客户端发送另一个密钥。这是三次握手。

④客户端收到密钥后,向路由器发送消息,告知对方已经收到密钥。这是第四次握手。

四路握手包都是明文传输的,所以我们通过捕获四路握手包(简称握手包)可以得到随机数1、随机数2和PTK。

列出可能的Wifi密码,做一个字典。我们对每个密码和两个随机数执行同样的操作,然后与PTK进行比较。如果相同,说明密码是正确的Wifi密码。

更有趣的实用部分

首先我们设置一个Wifi,密码设置为12345678。

然后,我们让我们的物理计算机连接到这个Wifi。

打开我们的Kali Linux,用airodump-ng wlan0mon扫描周围的Wifi。

当然PWR里最大的Wifi是我设置的无线热点。因为距离最近,信号最好,所以PWR也最大。CH表示它在11频道。

使用airodump-ng-bssid * *:* * *:* * *:* * *:* *-c11-w test WLAN 0 mon指定嗅到的Wifi,将抢到的抓包保存在当前目录cap.cap当然,如果没有抓到手包,也就不会有test.cap这样的文件,只能得到这个Wifi和连接的客户端的信息。

现在可以清楚的看到,我的电脑是这个Wifi的唯一客户端。我们有我手机网卡的Mac和我电脑无线网卡的Mac。(但你实际上并没有得到)

如前所述,握手数据包是一种数据包,只有在客户端和路由器进行身份验证时才会发送。除非我们等待第二个客户端连接到我的热点,否则我们无法捕获握手数据包。

但是,有一个方法可以让我们更快的拿到这个手包。这就是deauth攻击。

路由器能够要求客户端断开与自身的连接。当它想这样做时,它将向客户机发送一个deauth包。那么客户端将与路由器断开连接。但是,这并不是客户端网卡的本意。不是那么容易打发的。被踢飞后,它会尽快尝试重新连接到此路由器。

deauth攻击的原理是模拟路由器发送这个deauth包给客户端。如果你不想让你讨厌的室友在寝室大声玩网游,而他又恰好连上了寝室的wifi,那就用deauth一直攻击他吧。

我们新建一个窗口,使用aireplay-ng-02-a * *: * * *:* * *:* * *:* *-c-:-:-:-:-:-wlan0mon命令,使用WLAN 0 mon网卡寻址mac为* *:* *。

发送后,原airodump-ng窗口右上角会出现一行。

WPA handshake:你的WIFI的MAC地址

意思是你已经抓到握手袋了。如果没抓到,可以增加攻击时间或者调整无线网卡接收器的角度。

我们按ctrl+c退出,输入ls,看到确实有一个cap文件。

然后把包含12345678的字典文件(没有12345678在网上是不可能找到字典的)passwd.txt放在这里。美国总统之行政命令

aircrack-ng -w passwd.txt cap-01.cap

发现提示键!【12345678】,真的找到了这个密码。

虚拟机缓慢运行字典。利用物理机和GPU共同操作,随着配置的提升,运行字典的速度可以达到几百万。

摘要

今天我们学习了wifi认证的四次握手,以及通过deauth攻击将连接的客户端与路由器重新连接抢握手包,通过字典设置wifi密码的操作。

但是不要以为学了这招就可以为所欲为了。

诚然,只要字典足够大,运行速度足够快,理论上wifi密码总是可以被破解的。

然而,只要做一些计算。假设我们采用一个10位的wifi密码,每一位都有a-z,A-Z,0-9,26+26+10=62种可能,也就是62 ^ 10个密码的可能,每个密码的长度是10个字节,那么我们的字典文件至少有8 * 10 ^ 17个字节,大致就是800000TB。有特殊的符号,以我们普通电脑的速度...

但是正规的密码,比如简单的拼音加数字,比如电话号码,比如固话,比如生日,还是在可以接受的范围内。

反之,使用这些常规密码更容易被破解。

然而,现在有一种新的认证。公共wifi喜欢去肯德基麦当劳,他们没有密码。要求手机号码接收验证码认证。

学习永远不能停止。一旦你停止学习,你就会落后于时代。

如果你在阅读过程中有什么疑问,或者实际操作中有什么问题,请在文章底部留言,我会尽力为你解答。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 ZLME@xxxxxxxx@hotmail.com 举报,一经查实,立刻删除。

留言与评论(共有 0 条评论)
验证码: