无线网络安全学习:通过字典破解WPA/WPA2加密的WIFI密码

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 握手包跑包

各位好 又见面了 我是曹操 今天给大家带来一篇新的教程

希望各位细心学习 低调用网

wifi字典破解

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

引言
当一个客户端连接到一个无线热点时,它们之间会进行一些数据交换。如果我们能够捕获这些数据,就有可能获取到该无线热点的密码。通过阅读本文,您将学到以下内容:
在进行本文实验之前,请确保已经准备好了基本的环境:

  • 在虚拟机上配置Kali
  • 对Kali系统的基本命令行操作有所了解
  • 准备一块无线网卡,用于今天的实验
    在学习过程中,如果有任何疑问,请私信作者或在文章下方评论,我将尽力为读者解答。

可能有些枯燥,但请耐心听完的理论讲解
在这一部分,我们将了解WIFI认证过程中的四次握手过程,这将为我们接下来的实验提供基础知识。
首先,我们的数据通过无线方式传输,即通过电磁波(光)传输。与有线传输相比,无线传输的安全性较低。有线网络通过导线传输,网线走到哪里,数据就传输到哪里;而无线网络以光的形式向外辐射,光能到达的地方,数据也能到达。
因此,在无线传输中,我们必须使用可靠的加密算法来保护数据,确保它不会被未授权的人获取。
最早提出的加密方式是WEP(Wired Equivalent Privacy),它是IEEE 802.11标准最初提出时的一部分。当时,该委员会认为WEP与有线传输一样安全,因此将其命名为“有线等效保密”。然而,WEP的漏洞非常严重,只用了不到5年的时间就被更安全的WPA或WPA2取代。
“……The most widely recommended solution to WEP security issues is to switch to WPA or WPA2, both of which are more secure than WEP.” – 百度百科
取而代之的是WPA(Wifi Protected Access),它在2004年发布了IEEE 802.11i标准,修订了之前的WPA,并提出了更可靠、更安全的WPA2加密方式。WPA2至今仍被广泛使用,用于保护无线通信的安全性。接下来,我们将简要了解采用WPA2加密的无线热点认证过程中,客户端和路由器之间发生的四次握手过程:

  1. 路由器向客户端发送一个随机数(称为随机数1),这是第一次握手。
  2. 客户端收到随机数1后,生成另一个随机数(称为随机数2),然后使用随机数1、随机数2和输入的Wifi密码通过一个函数关系生成一个密码(称为PTK)。
    然后,客户端将随机数2和计算得到的PTK发送回路由器,这是第二次握手。
  3. 路由器收到随机数2后,使用自己的Wifi密码和随机数1、随机数2通过与客户端相同的函数关系生成一个PTK。
    路由器将客户端发送的PTK与自己计算得到的PTK进行比较,如果结果相同,即客户端输入的密码与路由器的Wifi密码一致,则认证通过。否则,握手结束。

wifi字典破解

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

  1. 客户端收到密钥后,向路由器发送消息,告知已收到密钥,这是第四次握手。
    四次握手的数据包都是以明文形式传输的,因此,我们可以通过捕获这些握手包来获取随机数1、随机数2和PTK。
    我们可以创建一个字典,列出可能的Wifi密码。然后,我们将每个密码与两个随机数进行相同的运算,并与PTK进行比较。如果相同,说明该密码就是正确的Wifi密码。

更有趣的实际操作部分
首先,我们设置一个Wifi,密码随意设置为12345678。

wifi字典破解wifi字典破解wifi字典破解

然后,我们让我们的物理电脑连接到这个Wifi。
打开Kali Linux,使用命令airodump-ng wlan0mon来扫描周围的Wifi。
PWR值最大的Wifi应该是我们设置的无线热点,因为它离得最近,信号最强,所以PWR值最大。CH表示它在11信道上运行。

使用命令airodump-ng --bssid **:**:**:**:**:** -c 11 -w test wlan0mon来指定要嗅探的Wifi,并将捕获到的握手包保存在当前目录下的cap.cap文件中。如果您没有捕获到握手包,将不会生成test.cap这样的文件。这样可以仅获取该Wifi及连接的客户端的信息。

wifi字典破解

现在,我们可以清楚地看到,我的电脑是该Wifi的唯一客户端。我们已经获取到了我手机网卡的Mac地址和我电脑的无线网卡的Mac地址。(但实际上,您并没有获取到)

之前我们提到,握手包只有在客户端和路由器进行认证时才会发送。除非我们等到第二个客户端连接到我的热点,否则无法捕获握手包。

然而,有一种方法可以更快地获取握手包,那就是使用deauth攻击。
路由器有能力要求客户端断开连接。当它这样做时,它会向客户端发送一个deauth数据包,然后客户端会与路由器断开连接。但是客户端并不愿意断开连接,它会尝试重新连接到该路由器。
deauth攻击的原理就是模拟路由器向客户端发送deauth数据包。如果您不想让室友在寝室大声玩网络游戏,而他恰好连接到寝室的Wifi,您可以不断对他使用deauth攻击。

我们打开一个新窗口,使用命令aireplay-ng -0 2 -a **:**:**:**:**:** -c --:--:--:--:--:-- wlan0mon,使用wlan0mon网卡对mac地址为:::::的路由器和mac地址为–:–:–:–:–:–的客户端发送持续2秒钟的deauth攻击。

WPA handshake:你的WIFI的MAC地址

wifi字典破解

发送后,在之前的airodump-ng窗口的右上角,会出现一行提示,表示已捕获到握手包。如果没有捕获到,可以增加攻击时间或调整无线网卡接收器的角度。

我们按下Ctrl + C退出,输入ls命令,可以看到确实有cap文件生成。

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

wifi字典破解wifi字典破解

然后,将包含12345678的字典文件(可以在网上随便找一个字典文件,肯定会包含12345678)passwd.txt也放在这个目录下。执行命令

提示”KEY FOUND! [12345678]”,说明已经找到了该密码。

虚拟机运行字典攻击的速度较慢,如果将物理机与GPU结合起来运算,字典攻击的速度可以达到数百万次每秒。

总结
今天,我们学习了Wifi认证的四次握手过程,以及通过deauth攻击来获取握手包,并使用字典来破解Wifi密码的操作。
但是,请不要以为掌握了这个技巧就可以随意使用他人的网络。
诚然,只要字典足够大,运算足够快,理论上来说,任何Wifi密码都可以被破解。
然而,让我们简单计算一下。假设我们使用10位的Wifi密码,每一位可以是小写字母、大写字母和数字,共62种可能性。那么,总共有62^10种密码的组合,每个密码长度为10字节,所以我们的字典文件至少需要8*10^17字节,粗略换算为800,000TB。考虑到特殊字符,以及我们普通电脑的运算速度…

wifi字典破解

然而,对于有规律的密码,例如简单的拼音加上数字、电话号码、固定日期等,这些密码的组合数量在可接受的范围内。
反过来,使用这些有规律的密码,被破解的可能性更大。
然而,现在出现了一种新的认证方式,例如去肯德基或麦当劳等公共Wifi,它们不设置密码,而是要求使用手机号码接收验证码进行认证。

赞(0)