aircrack-ng破解教程
原文地址:http://netsecurity.51cto.com/art/201105/264844_1.htm
其實關於無線基礎知識的內容還是挺多的,但是由於本書側重於BT4自身工具使用的講解,若是再仔細講述這些外圍的知識,這就好比講述DNS工具時還要把DNS伺服器的型別、工作原理及配置講述一遍一樣,哈哈,估計整本書的厚度就需要再翻一、兩倍了。恩,關於無線網路基礎知識建議大家可以參考我之前在黑手這裡出版的《無線黑客傻瓜書》一書,會很有幫助。
恩,先說明一下,本章的內容適用於目前市面所有主流品牌無線路由器或AP如Linksys、Dlink、TPLink、BelKin等。涉及內容包括了WEP加密及WPA-PSK加密的無線網路的破解操作實戰。
◆什麼是Aircrack-ng
Aircrack-ng是一款用於破解無線802.11WEP及WPA-PSK加密的工具,該工具在2005年11月之前名字是Aircrack,在其2.41版本之後才改名為Aircrack-ng。
Aircrack-ng主要使用了兩種攻擊方式進行WEP破解:一種是FMS攻擊,該攻擊方式是以發現該WEP漏洞的研究人員名字(Scott Fluhrer、Itsik Mantin及Adi Shamir)所命名;另一種是KoreK攻擊,經統計,該攻擊方式的攻擊效率要遠高於FMS攻擊。當然,最新的版本又集成了更多種型別的攻擊方式。對於無線黑客而言,Aircrack-ng是一款必不可缺的無線攻擊工具,可以說很大一部分無線攻擊都依賴於它來完成;而對於無線安全人員而言,Aircrack-ng也是一款必備的無線安全檢測工具,它可以幫助管理員進行無線網路密碼的脆弱性檢查及瞭解無線網路訊號的分佈情況,非常適合對企業進行無線安全審計時使用。
Aircrack-ng(注意大小寫)是一個包含了多款工具的無線攻擊審計套裝,這裡面很多工具在後面的內容中都會用到,具體見下表1為Aircrack-ng包含的元件具體列表。
表1
元件名稱 |
描述 |
aircrack-ng |
主要用於WEP及WPA-PSK密碼的恢復,只要airodump-ng收集到足夠數量的資料包,aircrack-ng就可以自動檢測資料包並判斷是否可以破解 |
airmon-ng |
用於改變無線網絡卡工作模式,以便其他工具的順利使用 |
airodump-ng |
用於捕獲802.11資料報文,以便於aircrack-ng破解 |
aireplay-ng |
在進行WEP及WPA-PSK密碼恢復時,可以根據需要建立特殊的無線網路資料報文及流量 |
airserv-ng |
可以將無線網絡卡連線至某一特定埠,為攻擊時靈活呼叫做準備 |
airolib-ng |
進行WPA Rainbow Table攻擊時使用,用於建立特定資料庫檔案 |
airdecap-ng |
用於解開處於加密狀態的資料包 |
tools |
其他用於輔助的工具,如airdriver-ng、packetforge-ng等 |
Aircrack-ng在 BackTrack4 R2下已經內建(下載BackTrack4 R2),具體呼叫方法如下圖2所示:通過依次選擇選單中“Backtrack”—“Radio Network Analysis” —“80211”—“Cracking”—“Aircrack-ng ”,即可開啟Aircrack-ng的主程式介面。也可以直接開啟一個Shell,在裡面直接輸入aircrack-ng命令回車也能看到aircrack-ng的使用引數幫助。
圖2
◆使用Aircrack-ng破解WEP加密無線網路
首先講述破解採用WEP加密內容,啟用此型別加密的無線網路往往已被列出嚴重不安全的網路環境之一。而Aircrack-ng正是破解此類加密的強力武器中的首選,關於使用Aircrack-ng套裝破解WEP加密的具體步驟如下。
步驟1:載入無線網絡卡。
其實很多新人們老是在開始載入網絡卡的時候出現一些疑惑,所以我們就把這個基本的操作仔細看看。首先檢視當前已經載入的網絡卡有哪些,輸入命令如下:
ifconfig
回車後可以看到如下圖3所示內容,我們可以看到這裡面除了eth0之外,並沒有無線網絡卡。
圖3
確保已經正確插入USB或者PCMCIA型無線網絡卡,此時,為了檢視無線網絡卡是否已經正確連線至系統,應輸入:
ifconfig -a
引數解釋:
-a 顯示主機所有網路介面的情況。和單純的ifconfig命令不同,加上-a引數後可以看到所有連線至當前系統網路介面的介面卡。
如下圖4所示,我們可以看到和上圖3相比,出現了名為wlan0的無線網絡卡,這說明無線網絡卡已經被BackTrack4 R2 Linux識別。
圖4
既然已經識別出來了,那麼接下來就可以啟用無線網絡卡了。說明一下,無論是有線還是無線網路介面卡,都需要啟用,否則是無法使用滴。這步就相當於Windows下將“本地連線”啟用一樣,不啟用的連線是無法使用的。
在上圖4中可以看到,出現了名為wlan0的無線網絡卡,OK,下面輸入:
ifconfig wlan0 up
引數解釋:
up 用於載入網絡卡的,這裡我們來將已經插入到筆記本的無線網絡卡載入驅動。在載入完畢後,我們可以再次使用ifconfig進行確認。如下圖5所示,此時,系統已經正確識別出無線網絡卡了。
圖5
當然,通過輸入iwconfig檢視也是可以滴。這個命令專用於檢視無線網絡卡,不像ifconfig那樣檢視所有介面卡。
iwconfig
該命令在Linux下用於檢視有無無線網絡卡以及當前無線網絡卡狀態。如下圖6所示。
圖6
步驟2:啟用無線網絡卡至monitor即監聽模式。
對於很多小黑來說,應該都用過各式各樣的嗅探工具來抓取密碼之類的資料報文。那麼,大家也都知道,用於嗅探的網絡卡是一定要處於monitor監聽模式地。對於無線網路的嗅探也是一樣。
在Linux下,我們使用Aircrack-ng套裝裡的airmon-ng工具來實現,具體命令如下:
airmon-ng start wlan0
引數解釋:
start 後跟無線網絡卡裝置名稱,此處參考前面ifconfig顯示的無線網絡卡名稱;
如下圖7所示,我們可以看到無線網絡卡的晶片及驅動型別,在Chipset晶片型別上標明是Ralink 2573晶片,預設驅動為rt73usb,顯示為“monitor mode enabled on mon0”,即已啟動監聽模式,監聽模式下介面卡名稱變更為mon0。
圖7
步驟3:探測無線網路,抓取無線資料包。
在啟用無線網絡卡後,我們就可以開啟無線資料包抓包工具了,這裡我們使用Aircrack-ng套裝裡的airmon-ng工具來實現,具體命令如下:
不過在正式抓包之前,一般都是先進行預來探測,來獲取當前無線網路概況,包括AP的SSID、MAC地址、工作頻道、無線客戶端MAC及數量等。只需開啟一個Shell,輸入具體命令如下:
airodump-ng mon0
引數解釋:
mon0為之前已經載入並激活監聽模式的無線網絡卡。如下圖8所示。
圖8
回車後,就能看到類似於下圖9所示,這裡我們就直接鎖定目標是SSID為“TP-LINK”的AP,其BSSID(MAC)為“00:19:E0:EB:33:66”,工作頻道為6,已連線的無線客戶端MAC為“00:1F:38:C9:71:71”。
圖9
既然我們看到了本次測試要攻擊的目標,就是那個SSID名為TP-LINK的無線路由器,接下來輸入命令如下:
airodump-ng --ivs –w longas -c 6 wlan0
引數解釋:
--ivs 這裡的設定是通過設定過濾,不再將所有無線資料儲存,而只是儲存可用於破解的IVS資料報文,這樣可以有效地縮減儲存的資料包大小;
-c 這裡我們設定目標AP的工作頻道,通過剛才的觀察,我們要進行攻擊測試的無線路由器工作頻道為6;
-w 後跟要儲存的檔名,這裡w就是“write寫”的意思,所以輸入自己希望保持的檔名,如下圖10所示我這裡就寫為longas。那麼,小黑們一定要注意的是:這裡我們雖然設定儲存的檔名是longas,但是生成的檔案卻不是longase.ivs,而是longas-01.ivs。
圖10
注意:這是因為airodump-ng這款工具為了方便後面破解時候的呼叫,所以對儲存檔案按順序編了號,於是就多了-01這樣的序號,以此類推,在進行第二次攻擊時,若使用同樣檔名longas儲存的話,就會生成名為longas-02.ivs的檔案,一定要注意哦,別到時候找不到又要怪我沒寫清楚:) 啊,估計有的朋友們看到這裡,又會問在破解的時候可不可以將這些捕獲的資料包一起使用呢,當然可以,屆時只要在載入檔案時使用longas*.cap即可,這裡的星號指代所有字首一致的檔案。 |
圖11
步驟4:對目標AP使用ArpRequest注入攻擊
若連線著該無線路由器/AP的無線客戶端正在進行大流量的互動,比如使用迅雷、電騾進行大檔案下載等,則可以依靠單純的抓包就可以破解出WEP密碼。但是無線黑客們覺得這樣的等待有時候過於漫長,於是就採用了一種稱之為“ARP Request”的方式來讀取ARP請求報文,並偽造報文再次重發出去,以便刺激AP產生更多的資料包,從而加快破解過程,這種方法就稱之為ArpRequest注入攻擊。具體輸入命令如下:
aireplay-ng -3 -b AP的mac -h 客戶端的mac mon0
引數解釋:
-3 指採用ARPRequesr注入攻擊模式;
-b 後跟AP的MAC地址,這裡就是前面我們探測到的SSID為TPLINK的AP的MAC;
-h 後跟客戶端的MAC地址,也就是我們前面探測到的有效無線客戶端的MAC;
最後跟上無線網絡卡的名稱,這裡就是mon0啦。
回車後將會看到如下圖12所示的讀取無線資料報文,從中獲取ARP報文的情況出現。
圖12
在等待片刻之後,一旦成功截獲到ARP請求報文,我們將會看到如下圖13所示的大量ARP報文快速互動的情況出現。
圖13
此時回到airodump-ng的介面檢視,在下圖14中我們可以看到,作為TP-LINK的packets欄的數字在飛速遞增。
圖14
步驟5:開啟aircrack-ng,開始破解WEP。
在抓取的無線資料報文達到了一定數量後,一般都是指IVs值達到2萬以上時,就可以開始破解,若不能成功就等待資料報文的繼續抓取然後多試幾次。注意,此處不需要將進行注入攻擊的Shell關閉,而是另外開一個Shell進行同步破解。輸入命令如下:
aircrack-ng 捕獲的ivs檔案
關於IVs的值數量,我們可以從如下圖15所示的介面中看到,當前已經接受到的IVs已經達到了1萬5千以上,aircrack-ng已經嘗試了41萬個組合。
圖15
那麼經過很短時間的破解後,就可以看到如下圖16中出現“KEY FOUND”的提示,緊跟後面的是16進位制形式,再後面的ASCII部分就是密碼啦,此時便可以使用該密碼來連線目標AP了。 一般來說,破解64位的WEP至少需要1萬IVs以上,但若是要確保破解的成功,應捕獲儘可能多的IVs資料。比如下圖16所示的高強度複雜密碼破解成功依賴於8萬多捕獲的IVs。
圖16
注意:由於是對指定無線頻道的資料包捕獲,所以有的時候大家會看到如下圖17中一樣的情景,在破解的時候出現了多達4個AP的資料報文,這是由於這些AP都工作在一個頻道所致,很常見的。此時,選擇我們的目標,即標為1的、SSID位dlink的那個資料包即可,輸入1,回車後即可開始破解。 |
圖17
看到這裡,可能有的朋友會說,這些都是弱密碼(就是過於簡單的密碼),所以才這麼容易破解,大不了我用更復雜點的密碼總可以了吧,比如×#87G之類的,即使是採用更為複雜的密碼,這樣真的就安全了嗎?嘿嘿,那就看看下圖18中顯示的密碼吧:)
圖18
正如你所看到的,在上圖18中白框處破解出來的密碼已經是足夠複雜的密碼了吧?我們放大看一看,如下圖19所示,這樣採用了大寫字母、小寫字母、數字和特殊符號的長達13位的WEP密碼,在獲得了足夠多的IVs後,破解出來只花費了約4秒鐘!
圖19
現在,你還認為自己的無線網路安全麼?哈,這還只是個開始,我們接著往下看。
補充一下:
若希望捕獲資料包時,能夠不但是捕獲包括IVS的內容,而是捕獲所有的無線資料包,也可以在事後分析,那麼可以使用如下命令:
airodump-ng –w longas -c 6 wlan0
就是說,不再--ivs過濾,而是全部捕獲,這樣的話,捕獲的資料包將不再是longas-01.ivs,而是longas-01.cap,請大家注意。命令如下圖20所示。
圖20
同樣地,在破解的時候,物件也變成了longas-*.cap。命令如下:
aircrack-ng 捕獲的cap檔案
回車後如下圖21所示,一樣破解出了密碼。
圖21
可能有的朋友又要問,ivs和cap直接的區別到底在哪兒呢?其實很簡單,若只是為了破解的話,建議儲存為ivs,優點是生成檔案小且效率高。若是為了破解後同時來對捕獲的無線資料包分析的話,就選為cap,這樣就能及時作出分析,比如內網IP地址、密碼等,當然,缺點就是檔案會比較大,若是在一個複雜無線網路環境的話,短短20分鐘,也有可能使得捕獲的資料包大小超過200MB。
如下圖22所示,我們使用du命令來比較上面破解所捕獲的檔案大小。可以看到,longas-01.ivs只有3088KB,也就算是3MB,但是longas-02.cap則達到了22728KB,達到了20MB左右!!
圖22
◆使用Aircrack-ng破解WPA-PSK加密無線網路
結合上小節的內容,下面繼續是以BackTrack4 R2 Linux為環境,講述破解WPA-PSK加密無線網路的具體步驟,詳細如下。
步驟1:升級Aircrack-ng。
前面在第一章1.3節我們已經講述了升級Aircrack-ng套裝的詳細步驟,這裡也是一樣,若條件允許,應將Aircrack-ng升級到最新的Aircrack-ng 1.1版。由於前面我已經給出了詳細的步驟,這裡就不再重複。
除此之外,為了更好地識別出無線網路裝置及環境,最好對airodump-ng的OUI庫進行升級,先進入到Aircrack-ng的安裝目錄下,然後輸入命令如下:
airodump-ng-oui-update
回車後,就能看到如下圖23所示的開始下載的提示,稍等一會兒,這個時間會比較長,恩,建議預先升級,不要臨陣磨槍。
圖23
步驟2:載入並激活無線網絡卡至monitor即監聽模式。
在進入BackTrack4 R2系統後,載入無線網絡卡的順序及命令部分,依次輸入下述命令:
startx 進入到圖形介面 ifconfig –a 檢視無線網絡卡狀態 ifconfig wlan0 up 載入無線網絡卡驅動 airmon-ng start wlan0 啟用網絡卡到monitor模式
如下圖24所示,我們可以看到無線網絡卡的晶片及驅動型別,在Chipset晶片型別上標明是Ralink 2573晶片,預設驅動為rt73usb,顯示為“monitor mode enabled on mon0”,即已啟動監聽模式,監聽模式下介面卡名稱變更為mon0。
圖24
步驟3:探測無線網路,抓取無線資料包。
在啟用無線網絡卡後,我們就可以開啟無線資料包抓包工具了,這裡我們使用Aircrack-ng套裝裡的airodump-ng工具來實現,具體命令如下:
airodump-ng -c 6 –w longas mon0
引數解釋:
-c 這裡我們設定目標AP的工作頻道,通過觀察,我們要進行攻擊測試的無線路由器工作頻道為6;
-w 後跟要儲存的檔名,這裡w就是“write寫”的意思,所以輸入自己希望保持的檔名,這裡我就寫為longas。那麼,小黑們一定要注意的是:這裡我們雖然設定儲存的檔名是longas,但是生成的檔案卻不是longas.cap,而是longas-01.cap。
mon0 為之前已經載入並激活監聽模式的無線網絡卡。如下圖25所示。
在回車後,就可以看到如下圖25所示的介面,這表示著無線資料包抓取的開始。接下來保持這個視窗不動,注意,不要把它關閉了。另外開啟一個Shell。進行後面的內容。
圖25
步驟4:進行Deauth攻擊加速破解過程。
和破解WEP時不同,這裡為了獲得破解所需的WPA-PSK握手驗證的整個完整資料包,無線黑客們將會發送一種稱之為“Deauth”的資料包來將已經連線至無線路由器的合法無線客戶端強制斷開,此時,客戶端就會自動重新連線無線路由器,黑客們也就有機會捕獲到包含WPA-PSK握手驗證的完整資料包了。此處具體輸入命令如下:
aireplay-ng -0 1 –a AP的mac -c 客戶端的mac wlan0
引數解釋:
-0 採用deauth攻擊模式,後面跟上攻擊次數,這裡我設定為1,大家可以根據實際情況設定為10不等;
-a 後跟AP的MAC地址;
-c 後跟客戶端的MAC地址;
回車後將會看到如下圖26所示的deauth報文傳送的顯示。
圖26
此時回到airodump-ng的介面檢視,在下圖27中我們可以看到在右上角出現了“WPA handshake”的提示,這表示獲得到了包含WPA-PSK密碼的4此握手資料報文,至於後面是目標AP的MAC,這裡的AP指的就是要破解的無線路由器。
圖27
若我們沒有在airodump-ng工作的介面上看到上面的提示,那麼可以增加Deauth的傳送數量,再一次對目標AP進行攻擊。比如將-0引數後的數值改為10。如下圖28所示。
圖28
步驟5:開始破解WPA-PSK。
在成功獲取到無線WPA-PSK驗證資料報文後,就可以開始破解,輸入命令如下:
aircrack-ng -w dic 捕獲的cap檔案
引數解釋:
-w 後跟預先製作的字典,這裡是BT4下預設攜帶的字典。
在回車後,若捕獲資料中包含了多個無線網路的資料,也就是能看到多個SSID出現的情況。這就意味著其它AP的無線資料皆因為工作在同一頻道而被同時截獲到,由於數量很少所以對於破解來說沒有意義。此處輸入正確的選項即對應目標AP的MAC值,回車後即可開始破解。如下圖29所示為命令輸入情況。
圖29
由下圖30可以看到,在雙核T7100的主頻+4GB記憶體下破解速度達到近450k/s,即每秒鐘嘗試450個密碼。
圖30
經過不到1分多鐘的等待,我們成功破解出了密碼。如下圖31所示,在“KEY FOUND”提示的右側,可以看到密碼已被破解出。密碼明文為“longaslast”,破解速度約為450 key/s。若是能換成4核CPU的話,還能更快一些。
圖31
◆使用Aircrack-ng破解WPA2-PSK加密無線網路
對於啟用WPA2-PSK加密的無線網路,其攻擊和破解步驟及工具是完全一樣的,不同的是,在使用airodump-ng進行無線探測的介面上,會提示為WPA CCMP PSK。如下圖32所示。
圖32
當我們使用aireplay-ng進行deauth攻擊後,同樣可以獲得到WPA握手資料包及提示,如下圖33所示。
圖33
同樣地,使用aircrack-ng進行破解,命令如下:
aircrack-ng -w dic 捕獲的cap檔案
引數解釋:
-w 後跟預先製作的字典檔案
經過1分多鐘的等待,可以在下圖34中看到提示:“KEY FOUND!”後面即為WPA2-PSK連線密碼19890305。
圖34
現在,看明白了吧?破解WPA-PSK對硬體要求及字典要求很高,所以只要你多準備一些常用的字典比如生日、8位數字等,這樣破解的時候也會增大破解的成功率。
◆使用Aircrack-ng進行無線破解的常見問題
恩,下面使一些初學無線安全的小黑們在攻擊中可能遇到的問題,列舉出來方便有朋友對號入座:
1.我的無線網絡卡為何無法識別?
答:BT4支援的無線網絡卡有很多,比如對採用Atheros、Prism2和Ralink晶片的無線網絡卡,無論是PCMCIA還是PCI,亦或是USB的,支援性還是很高的。要注意BT4也不是所有符合晶片要求的無線網絡卡都支援的,有些同型號的但是硬體韌體版本不同就不可以,具體可以參考Aircrack-ng官方網站的說明。
2.為什麼我輸入的命令老是提示錯誤?
答:呃……沒什麼說的,兄弟,注意大小寫和路徑吧。
3.為什麼使用airodump-ng進行的的ArpRequest注入攻擊包時,速度很緩慢??
答:原因主要有兩個:
(1.是可能該無線網絡卡對這些無線工具的支援性不好,比如很多筆記本自帶的無線網絡卡支援性就不好;
(2.是若只是在本地搭建的實驗環境的話,會因為客戶端與AP互動過少,而出現ARP注入攻擊緩慢的情況,但若是個客戶端很多的環境,比如商業繁華區或者大學科技樓,很多使用者在使用無線網路進行上網,則攻擊效果會很顯著,最短5分鐘即可破解WEP。
4.為什麼使用aireplay-ng傳送的Deauth攻擊包後沒有獲取到WPA握手包?
答:原因主要有兩個:
(1.是可能該無線網絡卡對這些無線工具的支援性不好,需要額外的驅動支援;
(2.是無線接入點自身問題,有的AP在遭受攻擊後會短時間內失去響應,需重起或等待片刻才可恢復正常工作狀態。
5.為什麼我找不到捕獲的cap檔案?
答:其實這是件很抓狂的問題,雖然在前面使用airodump-ng時提到檔案儲存的時候,我已經說明預設會儲存為“檔名-01.cap”這樣的方式,但是依舊會有很多由於過於興奮導致眼神不濟的小黑們抱怨找不到破解檔案。
好吧,我再舉個例子,比如最初捕獲時我們命名為longas或者longas.cap,但在aircrack-ng攻擊載入時使用ls命令察看,就會發現該檔案已變成了longas-01.cap,此時,將要破解的檔案改為此即可進行破解。若捕獲檔案較多,需要將其合併起來破解的話,就是用類似於“longas*.cap”這樣的名字來指代全部的cap檔案。這裡*指代-01、-02等檔案。
6.Linux下捕獲的WPA握手檔案是否可以放到Windows下破解?
答:這個是可以的,不但可以匯入windows下shell版本的aircrack-ng破解,還可以匯入Cain等工具進行破解。關於Windows下的破解我已在《無線黑客傻瓜書》裡做了詳細的闡述,這裡就不講述和BT4無關的內容了。
《BT4 Linux 黑客手冊》國內第一本關於BackTrack3/4/4R1/4R2/5下內建工具講解書籍,適用於各類BT4狂熱分子、BT4英文能力不強者、BT4初哥、BT4宅男宅女、BT4深度學習人士、BT5過渡期待者、BT3迷戀者、BT4無線hacking愛好者、鄙視Windows者及......(此處略去1千字),聚眾奮力編寫6個月,終於粉墨登場!
全書共15章,全書稿頁數近600頁,涉及工具近100個,攻防操作案例60個,從有線到無線、從掃描到入侵、從嗅探到PJ、從逆向到取證,全面協助小黑們從零開始一步步學習BT4下各類工具的使用及綜合運用。