Aircrack- NG是一個完整的工具來評估Wi-Fi網絡安全套件。
它專注于WiFi安全的不同領域:
- 監控:數據包捕獲和導出數據到文本文件,以供第三方工具進一步處理。
- 攻擊:通過數據包注入回放攻擊,去認證,僞造接入點等。
- 測試:檢查WiFi卡和驅動程序的能力(捕捉和注入)。
- 破解:WEP 和 WPA PSK(WPA 1和2)。
所有的工具都是命令行,它允許重的腳本。很多GUI都利用了這個功能。它主要工作在 Linux,但也支持 Windows,OS X,FreeBSD,OpenBSD,NetBSD以及Solaris甚至eComStation 2。
所需工具需要:
- 一台裝有 Linux(推薦Kali) 系統的計算機,或虛拟機
- aircrack-ng 套件
- 一張支持數據包Inject(注入)的和網絡監聽的無線網卡
關于aireplay-ng的幾個參數
aireplay-ng是aircrack-ng套件裡的一款抓包工具,aireplay-ng 中集成了10種攻擊方式,分别是:
- Attack 0: Deauthentication 解除認證
- Attack 1: Fake authentication 僞造身份驗證
- Attack 2: Interactive packet replay 交互式數據包重播
- Attack 3: ARP request replay attack ARP請求重播攻擊
- Attack 4: KoreK chopchop attack KoreK斬殺攻擊
- Attack 5: Fragmentation attack 碎片攻擊
- Attack 6: Cafe-latte attack 咖啡拿鐵攻擊
- Attack 7: Client-oriented fragmentation attack 面向客戶的分片攻擊
- Attack 8: WPA Migration Mode WPA遷移模式
- Attack 9: Injection test 注射試驗
aireplay-ng在後面數據分析環節中擔任非常重要的的角色,他的作用是抓取重要數據包,并用于為後面的字典暴擊破解。
破解步驟教程
– 首先,進入系統,打開terminal,更新源。
sudo apt-get update sudo apt-get upgrade
– 安裝 aircrack-ng 套件。
注:Kali linux 是自帶組件的。
sudo apt-get install aircrak-ng
– 完成後,插入你的網卡,并檢測硬件狀态。
在terminal裡輸入:
iwconfig
注意:如果顯示:
no wireless extensions.
請檢查 是否正确連接 或 安裝你的網卡驅動。
– 使用airmon-ng查看你無線網卡。
sudo airmon-ng
因為linux發行版不同,使用的内核也不同,Kali 4.9.0會在界面中多一個phy選項。
找到interface欄,記下你的無線網卡。
我的無線網卡為wlan0。
– 使用airmon-ng開啟網卡監聽模式。
記下你的monitor名稱。
sudo airmon-ng start wlan0
注:例如,我使用的Linux kali 4.9.0-kali4-amd64中無線網卡的monitor為 wlan0mon,老版本則為 mon0。
– 使用airodump-ng掃描信号。
掃描附件的wifi。
sudo airodump-ng wlan0mon
注:airodump-ng <你的monitor名稱>
- BSSID是AP端的MAC地址
- PWR是信号強度,數字越小越好
- #Data是對應的路由器的在線數據吞吐量,數字越大,數據上傳量越大。
- CH是對應路由器的所在頻道
- ESSID是對應路由器的名稱
停止掃描,并選取合适的目标
//快捷鍵 Ctrl C
– 使用airodump-ng監聽指定目标頻道。
sudo airodump-ng -c 6 -w Desktop/handshake --bssid C0:00:00:00:00:48 wlan0mon
注:airodump-ng -c <AP的頻道(如紫色所示)> -w <抓取握手包的存放位置(如黃色所示)> --bssid <AP的MAC地址(如紫色所示)> <你的的monitor名稱>
在你的抓取握手包的存放目錄會生成4個文件。
注:握手包文件的拓展名為 .cap 如紅色方框所示。
然後,你的網卡會開始監聽你目标端的頻道
注:請注意右上方(日期和時間右邊的區域),如紅色方框所示。以及在STATION欄中的Client MAC地址,選取一個客戶端MAC地址并記錄。
– 使用aireplay-ng進行解除認證攻擊模式。
在這裡有必要補充一下什握手包的概念,握手包指的是采用WPA加密方式的無線AP與無線客戶端進行連接前的認證信息包。
一個合法的客戶端要連上AP要經曆四次握手(ex.2)
- 你請求連AP
- AP發一個數據包給你
- 你将收到的數據包用wpa密鑰加密,然後發給AP
- AP用自己保存的wpa密鑰加密相同數據包,然後和你發給他的比較,如果相同,就發準許接入的許可。
上面就是一個合法客戶端四次握手的全過程,我們所說的抓握手包,是指抓AP發給合法客戶的數據包,和合法客戶端加密後發給AP的數據包。所以我們就抓這兩個包,當我們有了明文和密文,就可以破解出密鑰。
所以我們這裡的關鍵是要發動攻擊,迫使合法的客戶端斷線,進行重新認證,我們趁機抓包。
保持上一個terminal窗口的運行狀态,打開一個新的terminal。
sudo aireplay-ng -0 0 -a C0:00:00:00:00:48 -c 18:00:00:00:00:88 wlan0mon
注:aireplay-ng -<攻擊模式,我們這裡使用 解除認證攻擊(黃色區域)> [攻擊次數,0為無限攻擊] -a <AP端的MAC地址> -c <客戶端端的MAC地址> <你的的monitor名稱>
這裡我使用的是解除認證攻擊模式,給客戶端無限發送測試包使其下線。當你獲取到握手包時,可以使用快捷重點内容鍵Ctrl C 停止發送測試包。
注:當你獲取道握手包時,紅色區域會顯示”WPA handshake”。
– 關閉監聽模式。
sudo airmon-ng stop wlan0mon
– 使用字典進行暴力破解。
sudo aircrack-ng -w Desktop/wordlist.txt Desktop/handshake-01.cap
注:`aircrack-ng -w <字典路徑> <握手包路徑>
破解速度取決你CPU的核心數和頻率
我在虛拟機上使用的i5 6400的速度為 2481.88 k/s(黃色區域)。圖中紅色區域分别為:跑完字典的剩餘時間;完成率;當前嘗試的密碼。
當密碼破解成功時,會在圖紅色區域位置顯示”KEY FOUND!”字樣,中括号為AP端的密碼。
– (附) 如何制作一個簡單字典文件。
在Linux中可以使用crunch來制作一個簡單的字典,下面是自作方法。
- 安裝crunch
sudo apt-get install crunch
- 使用語法 crunch <min> max<max> <characterset> -t <pattern> -o <output filename>
例如,如果您知道目标的生日是0728(7月28日),并且認為他們以自己的密碼包含他們生日,則可以生成一個以0728為結尾的密碼列表,方法為@@@@@@@0728。 該字最多可生成11個字符(7個變量和4個固定)密碼,然後全部都以0728結尾。
<min> = 最小密碼長度。 <max> = 最大密碼長度。 <characterset> = 用于生成密碼的字符集。 <pattern> = 生成的密碼的指定模式。 <outputfile> = 保存字典文件的路徑。
注: pattern中可以使用的特殊标記字符(ex.3)
- [%]插入數字
- [@] 插入小寫字母
- [,] 插入大寫字母
- [^] 插入符号
桌面上是我生成字典,就像上面提到的那樣,第一個8是我設定字典的最小長度;第二個8是我設定字典的最大長度(如橘色區域),0123456789是生成密碼中包含的字符(如黃色區域)。所以,我生成的字典中隻包含長度為8的0-9字符集。
– 注意:
wpa/wpa2的密碼破解就像是買,破解的成敗完全靠運氣,不管怎麼說,一個強大字典是肯定可以提高破解的成功幾率。
注:
window平台上可使用EWSA進行破解,它可以同時使用gpu進行破解運算。
,