聊聊WiFi Hacks:為何你的Karma攻擊不好使了

首發(fā)于FreeBuf:http://www.freebuf.com/articles/wireless/145259.html

0.前言

三年前我發(fā)表了一篇文章《黑客有辦法讓你自動連上陌生WiFi》,介紹Karma攻擊可以讓你的無線設(shè)備自動連上黑客的WiFi。當(dāng)時引起了還算比較熱烈的討論,關(guān)于WiFi安全,關(guān)于Karma攻擊等。同時,我也提到WiFi釣魚將會成為接下來幾年的一個熱門。

如今WiFi安全發(fā)生了許多變化,相比于三年前我對WiFi安全也有了更多的了解。本篇文章將介紹為什么Karma攻擊逐漸失效了,廠商是如何修補(bǔ)的,以及我們還有哪些攻擊方式。

1. Karma攻擊

被動掃描(Passive Scan)和主動掃描(Active Scan)

無線客戶端可以使用兩種掃描方式:主動掃描和被動掃描。在主動掃描中,客戶端發(fā)送probe request,接收由AP發(fā)回的probe response。在被動掃描中,客戶端在每個頻道監(jiān)聽AP周期性發(fā)送的Beacon。之后是認(rèn)證(Authentication)和連接(Association)過程。

image.png-40.3kB
image.png-40.3kB

Karma

2004年,Dino dai Zovi和Shane Macaulay發(fā)布了Karma工具。Karma通過利用客戶端主動掃描時泄露的已保存網(wǎng)絡(luò)列表信息(preferred/trusted networks),隨后偽造同名無密碼熱點(diǎn)吸引客戶端自動連接。

image.png-75.4kB
image.png-75.4kB

如上圖所示,當(dāng)Karma發(fā)現(xiàn)有客戶端發(fā)出對SSID為Telekom的熱點(diǎn)請求時,向其回復(fù)Probe
Response;當(dāng)Karma發(fā)現(xiàn)有客戶端發(fā)出對SSID為RUB-WiFi的熱點(diǎn)請求時,也向其回復(fù)Probe Response。

這實(shí)質(zhì)上是違反了802.11標(biāo)準(zhǔn)協(xié)議,無論客戶端請求任何SSID,都向其回復(fù)表示自己就是客戶端所請求的熱點(diǎn),使客戶端對自己發(fā)起連接。

Why works?

  • 主動掃描過程中(Active Scan)泄露客戶端已保存網(wǎng)絡(luò)列表信息
    為實(shí)現(xiàn)自動連接已保存網(wǎng)絡(luò)等功能,客戶端會定時發(fā)送帶有已保存網(wǎng)絡(luò)信息的Probe Request(在后文統(tǒng)稱為Directed Probe Request)。黑客通過無線網(wǎng)卡監(jiān)聽無線幀便能輕松獲取這些信息。

  • 客戶端對保存熱點(diǎn)不檢驗(yàn)MAC地址
    為了增大信號覆蓋范圍,通常會部署多個同名熱部署在整個區(qū)域。當(dāng)客戶端發(fā)現(xiàn)信號更強(qiáng)的同名熱點(diǎn),滿足“一定條件”后便會切換過去,即所謂的無線漫游功能。為了實(shí)現(xiàn)這種特性同時也意味著,只需要SSID名稱及加密方式相同客戶端便能自動連接,不會檢查MAC地址。

在曾經(jīng)某段時間里,甚至加密方式不一樣,只要SSID同名也能讓客戶端連接。比如客戶端曾連過SSID為“yyf”的WPA熱點(diǎn),只需建立SSID為“yyf”的OPEN熱點(diǎn),客戶端也會自動連接。具體的時間點(diǎn)及手機(jī)操作系統(tǒng)版本號我暫時沒檢索到。

相關(guān)工具

  • Pineapple
    Hak5的便攜式無線安全審計設(shè)備——WiFi Pineapple,內(nèi)置了Karma攻擊功能。


    image.png-278.9kB
    image.png-278.9kB
  • airbase-ng
    它是著名的wifi攻擊套件aircrack-ng中的一個工具。其用法如下,其中-P、-C為Karma相關(guān)的參數(shù)

airmon-ng start wlan0 #網(wǎng)卡設(shè)為monitor模式
airbase-ng -c 6 -P -C 20 -v mon0
-c channel
-v be verbose
-P (karma mode) respond to all probes.
-C enables beaconing of probed ESSID values (requires -P)

危害性

如果黑客在公共場合開啟了Karma攻擊,便能輕松吸引周邊大量設(shè)備連接到黑客的熱點(diǎn)(一般會配合著Deauth攻擊)。隨后,黑客便能隨心所欲對網(wǎng)絡(luò)內(nèi)的客戶端進(jìn)行流量嗅探或其他的中間人攻擊了??芍^危險性巨大。

2. 后來Karma攻擊逐漸不好使了

Broadcast Probe Request

隨著各廠商對于Directed Probe泄露SSID導(dǎo)致釣魚攻擊問題的重視,在較新的設(shè)備中都改變了主動掃描的實(shí)現(xiàn)方式。主要使用不帶有SSID信息的Broadcast Probe,大大降低了Directed Probe的使用頻率。Broadcast Probe流程如下圖所示。

圖片2.png-74.4kB
圖片2.png-74.4kB

對比下兩種方式

image.png-78.1kB
image.png-78.1kB

Directed Probe的交互如(b)所示,客戶端定時發(fā)送攜帶已保存網(wǎng)絡(luò)列表信息的Probe Request,造成了泄露;而在Broadcast Probe中,客戶端的Probe Request不再帶有已保存網(wǎng)絡(luò)列表信息,SSID字段為空。而所有收到該請求的熱點(diǎn)都將回復(fù)Probe Response,其中帶有AP的SSID名稱,客戶端根據(jù)回復(fù)的SSID來決定是否進(jìn)行連接。如此一來,在實(shí)現(xiàn)原有功能的同時,解決了泄露保存熱點(diǎn)信息的問題。

iPhone大概在iOS7做了這個改變。Android大概在Android 4.x,還有同樣使用了wpa_supplicant的Linux。

wpa_supplicant 在2014年7月的一個patch修復(fù)了Android在省電模式下的掃描依然會發(fā)送暴露SSID的Directed Probe Request的行為。
http://w1.fi/cgit/hostap/commit/?id=4ed3492206097c24aa37b4429938fec049ba1827

隱藏?zé)狳c(diǎn)(Hidden SSID)

當(dāng)AP配置為隱藏模式時,在主動掃描的Beacon幀和被動掃描的Probe Response幀中都不會公布自身SSID。于是客戶端連接隱藏?zé)狳c(diǎn)的唯一方法就是持續(xù)不斷的發(fā)送帶SSID的Directed Probe Request。

image.png-124.8kB
image.png-124.8kB

顯然這會導(dǎo)致SSID泄露。后來發(fā)現(xiàn)iOS對此也做了些改進(jìn),設(shè)備會首先檢測周圍是否存在隱藏?zé)狳c(diǎn),當(dāng)至少存在一個隱藏?zé)狳c(diǎn)時才會發(fā)送。這增加了一些利用難度。

21.png-54.5kB
21.png-54.5kB

Mana工具

在2014年的Defcon 22上,由Dominic White 和 Ian de Villiers 發(fā)布了mana。mana可以理解為karma 2.0,它針對前文提到的問題做了一些改進(jìn):

  • 收集周圍空間的SSID信息(來自于老設(shè)備的Directed Probe)或者用戶自定義。當(dāng)接收到Broadcast Probe Request時,mana會根據(jù)列表中的每一個SSID構(gòu)造成 Probe Response向客戶端回復(fù)。

客戶端在面對同一MAC有多個不同SSID時不會產(chǎn)生問題

  • 針對iOS對Hidden SSID的處理,mana會自動創(chuàng)建一個隱藏?zé)狳c(diǎn)用于觸發(fā)iOS設(shè)備發(fā)Directed Probe Request

  • 增加了偽造PEAP等EAP SSL方案的熱點(diǎn)功能,可以抓取并破解EAP hash。破解后將認(rèn)證信息存入radius服務(wù)器,客戶端下次重連就能成功連接了。

對Broadcast Probe的解決方案就是通過手動指定常見或自動收集周邊的開放式熱點(diǎn)信息(城市、機(jī)場、公司、超商等公共WiFi)以期望覆蓋到客戶端曾經(jīng)連接過的熱點(diǎn)。

圖片3.png-74.5kB
圖片3.png-74.5kB

在吸引客戶端連入熱點(diǎn)的目的上能起到不錯的效果。但需要明白的是,類似于“查看目標(biāo)設(shè)備以前連接過哪些熱點(diǎn)”這種需求已基本沒法實(shí)現(xiàn)。

而對PEAP的攻擊可參考我之前發(fā)布的文章《企業(yè)級無線滲透之PEAP》,這里不再贅述。

圖片1.png-60.1kB
圖片1.png-60.1kB

3. 如今的攻擊面

最后總結(jié)一下,在如今,吸引客戶端連入惡意熱點(diǎn)的辦法有:

  • 對于老舊的移動設(shè)備和筆記本,Karma依然可用,客戶端自動連接。
  • 由于隱藏?zé)狳c(diǎn)的特性,連接依賴于Directed Probe,Karma依然可用(記得創(chuàng)建隱藏?zé)狳c(diǎn)觸發(fā)客戶端發(fā)送),客戶端自動連接。
  • 根據(jù)周邊熱點(diǎn)及常見公共熱點(diǎn)構(gòu)造SSID列表進(jìn)行偽造(比如CMCC、StarBucks等),如果覆蓋到客戶端曾經(jīng)連接過的熱點(diǎn),也會自動連接。
  • 偽造PEAP熱點(diǎn)獲取hash,破解后存入radius服務(wù)器,客戶端下次重連便能成功。
  • 偽造公共熱點(diǎn),用戶受騙主動點(diǎn)擊發(fā)起連接。

4.參考文獻(xiàn)


Author: qingxp9 @ 360PegasusTeam

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容