Wi-Fi WPA2 「Kr00k」漏洞分析與復現

2021-02-08 ADLab

更多安全資訊和分析文章請關注啟明星辰ADLab微信公眾號及官方網站(adlab.venustech.com.cn)


在今年2月份的RSA大會上,ESET的研究人員公開披露Wi-Fi晶片存在嚴重安全漏洞CVE-2019-15126,並將其命名為「Kr00k」。攻擊者可以利用「Kr00k」解密無線網絡流量,獲取傳輸過程中的敏感數據。

Kr00k漏洞影響部分安裝Broadcom和Cypress Wi-Fi晶片的設備,這兩家晶片產品被廣泛應用於手機、平板電腦及IOT設備中。保守估計,全球總計超過10億的設備受該漏洞的影響。

2.1 漏洞原理

在介紹Kr00k漏洞之前,先簡單了解下WPA2協議。目前基於AES-CCMP的WPA2協議是Wi-Fi網絡中最普遍的標準。下圖是客戶端(Station, STA)連接接入點(Access Point, AP)的消息交互過程。

STA和AP在四次握手中,協商會話密鑰PTK(Pairwise Transient Key),PTK是由PMK和PKE計算生成,而PMK由ANonce、SNonce和雙方MAC地址等計算生成。PTK分為KCK、KEK和TK三部分,其中,KCK用於MIC校驗,KEK用於加密GTK,TK為數據加密密鑰。四次握手完成後,傳輸數據使用TK進行加密。

在WPA2協議中,解除關聯操作可以由未經身份驗證和未加密的管理幀觸發,Kr00k漏洞與解除關聯操作密切相關。在下圖所示中,當站點的連接會話解除關聯後,保存在Wi-Fi晶片中的會話密鑰(TK)被置零,如果使用已置零的TK密鑰對晶片緩存中的數據進行加密並傳輸,將導致漏洞產生。

攻擊者利用無線網卡即可完成入侵,通過不斷觸發解除關聯、重新關聯,然後使用全零TK對捕獲的數據幀進行解密,從而獲取敏感信息。本文選取Nexus5中的BCM4339晶片固件進行分析。首先,定位固件中計算ptk的位置,如下圖所示。

然後,對其上層函數wlc_wpa_sup_eapol進行分析。

wlc_wpa_sup_eapol調用wpa_pmk_to_ptk時,傳入的參數分別為mac1、mac2、Nonce1、Nonce2、pmk、pmk_len、ptk、ptk_len。ptk計算結果被保存在wpa_ptk結構體偏移0x8c位置中。

wlc_sup_attach函數用於處理STA的初始化連接,該函數對wpa_ptk結構體進行內存分配和初始化,wpa_ptk結構體大小為0x13C。

當初始化失敗、連接超時或解除連接的時候,則會調用wlc_sup_detach函數對wpa_ptk結構體進行置零操作。


3.1 測試環境


設備名稱

數量

受影響的設備

Nexus5

1

iphone6s手機

1

Attacker

NETGEAR網卡

2

3.2 測試步驟

(1)對wireshark解密數據包的相關功能進行patch,使其能夠成功解密全零TK加密的數據。

(2)使用patch後的wireshark監聽目標設備和AP通信的數據包。

(3)使用目標設備連接AP並任意訪問網頁。

(4)對AP和測試目標發送Disassocation包。

(5)重複執行步驟(3)和(4),觀察wireshark中數據包是否解密。

3.3 測試結果

可以看出,Nexus 5和iphone 6s部分數據被成功解密。Apple iPhone 6, 6S, 8, XRApple MacBook Air Retina 13-inch 2018Samsung Galaxy S4 GT-I9505

Huawei E5577Cs-321


•https://support.apple.com/en-us/HT210721

•https://support.apple.com/en-us/HT210722

•https://support.apple.com/en-us/HT210788

•https://www.arubanetworks.com/assets/alert/ARUBA-PSA-2020-003.txt

•https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20200226-wi-fi-info-disclosure

•https://www.huawei.com/en/psirt/security-notices/huawei-sn-20200228-01-kr00k-en

•https://www.microchip.com/design-centers/wireless-connectivity/embedded-wi-fi/kr00k-vulnerability

•https://www.mist.com/documentation/mist-security-advisory-kr00k-attack-faq/

•https://www.zebra.com/us/en/support-downloads/lifeguard-security/kr00k-vulnerability.html








ADLab成立於1999年,是中國安全行業最早成立的攻防技術研究實驗室之一,微軟MAPP計劃核心成員,「黑雀攻擊」概念首推者。截止目前,ADLab已通過CVE累計發布安全漏洞1000餘個,通過 CNVD/CNNVD累計發布安全漏洞600餘個,持續保持國際網絡安全領域一流水準。實驗室研究方向涵蓋作業系統與應用系統安全研究、移動智能終端安全研究、物聯網智能設備安全研究、Web安全研究、工控系統安全研究、雲安全研究。研究成果應用於產品核心技術研究、國家重點科技項目攻關、專業安全服務等。






相關焦點

  • WPA2 KRACK攻擊漏洞,多家公司的固件及驅動升級情況
    /zGeneral_Administration/Support/802.11r_Vulnerability_(CVE%3A_2017-13082)_FAQ 微芯科技微芯科技已發布公告提供可用更新:http://www.microchip.com/design-centers/wireless-connectivity/embedded-wi-fi
  • 你的Wi-Fi 還安全嗎?全球重大漏洞WPA2 KRACK 詳細分析報告
    因為報文可能丟失,如果AP未接收到client的響應會重發第三個消息報文,所以client可能重複接收到第3個消息報文多次。每次當client接收到此消息,都會重新安裝相同的加密密鑰,然後重置協議加密使用到的nonce值及重放計數。
  • WPA2 「KRACK」 漏洞簡介與重現
    2017年10月,比利時安全研究員Mathy Vanhoef披露了無線網絡協議WPA2存在高危漏洞,漏洞允許攻擊者監聽AP和接入點STA之間傳輸的Wi-Fi數據流量。作者公布了漏洞驗證演示視頻(詳見參考連結[1]和[2])。
  • CVE-2019-5475:Nexus2 yum插件RCE漏洞復現
    0x00 前言如果有想一起做漏洞復現的小夥伴,歡迎加入我們,公眾號內點擊聯繫作者即可
  • 路由器漏洞復現:從原理到第一步驗證
    hello大家好,我是安全客小安,今天給大家帶來來自desword的原創文章,本文以路由器漏洞D-Link DIR-505為例,介紹如何在本地虛擬機中完成漏洞復現
  • DLINK-DIR-645棧溢出漏洞分析復現
    2013年爆出一個棧溢出漏洞,可因cookie的值過長而引起棧溢出,本文詳細記錄了該漏洞復現過程。     漏洞公告:    http://roberto.greyhats.it/advisories/20130801-dlink-dir645.txt0x01 漏洞靜態分析    我的環境:    kali-linux
  • 【權威發布】WiFi網絡WPA2 KRACK漏洞分析報告
    作者:東帆@阿里安全技術平臺團隊————————0x00
  • WordPress Plugin Quizlord 2.0 XSS漏洞復現與分析
    WordPress經常爆出漏洞基本都是它的插件存在安全問題。漏洞復現首先搭建worepress,我的版本是4.4。然後進入後臺下載插件Quizlord,版本是2.0。根據exploit-db給出的漏洞詳情,找到觸發漏洞的位置。
  • Apache 提權漏洞(CVE-2019-0211)復現
    ,並且前天在GitHub上公布出了利用腳本,這幾天我負責漏洞應急這個漏洞。本篇文章沒有叫:《Apache 提權漏洞分析》是因為我覺得 CARPE (DIEM): CVE-2019-0211 Apache Root Privilege Escalation 這篇文章的分析寫的挺好的,所以我沒必要再翻譯一遍了,本篇文章主要敘述復現該漏洞的過程中踩過的坑。
  • Android wpa_supplicant WLAN直連遠程溢出漏洞
    漏洞信息類別:堆溢出影響:內存信息洩露和遠程代碼執行遠程利用:是本地利用:否CVE編號:CVE-2015-1863漏洞公告及補丁地址:http://w1.fi/security/2015-1/ 3.漏洞描述android/linux的wpa_supplicant
  • WPA2「密鑰重裝攻擊」漏洞曝光(附分析報告)
    深入分析 WPA2 KRACK Attacks本次的WPA2「密鑰重裝攻擊」,基本原理為利用WPA協議層中的邏輯缺陷,多次重傳握手過程中的消息3從而導致重放隨機數和重播計數器,為攻擊者提供了利用條件。而使用了wpa_supplicant的Linux及Android設備便因此遭受嚴重威脅。 整體來說,此次漏洞的危害程度弱於WEP漏洞的影響,但對於Linux及Android設備需額外注意要及時更新修補此漏洞,防止遭受嗅探、劫持等攻擊。需要注意的是:此攻擊無法破解WIFI密碼,同時更改WiFi密碼無法緩解此類攻擊。
  • ECShop 2.x SQL注入/任意代碼執行漏洞分析復現
    ,模版變量可控,導致注入,配合注入可達到遠程代碼執行漏洞環境直接在vulhub開始:cd vulhub/ecshop/xianzhi-2017-02-82239600/docker-compose up -decshop2.x環境漏洞分析0x01-SQL注入
  • 華為路由器漏洞CVE-2017-17215復現分析
    0x00 漏洞描述CheckPoint報告華為HG532產品存在遠程命令執行漏洞,華為HG532 系列路由器是一款為家庭和小型辦公用戶打造的高速無線路由器產品,如下是京東搜索的結果。遠程命令執行漏洞,沒有對代碼中可執行的特殊函數入口做過濾,導致客戶端可以提交惡意構造的語句提交,讓伺服器端執行。
  • 玩轉「Wi-Fi」系列之wpa_supplicant 目錄詳解
    之後的文章基本都是wpa_supplicant源碼分析的介紹, wpa_supplicant 一個龐大的開源項目, 最新版本的為2016-10-V2.6。據目前來開,WiFi相關應用層的操作基本都是wpa_supplicant 的封裝,包括Android 。初步統計一下,wpa_supplicant 源文件個數 552個, 20萬行代碼。
  • Struts2命令執行漏洞分析與復現
    那麼我們先挑選其中一個s2-045來進行復現和詳細的分析。#S2-045分析與復現ApacheStruts 2.3.5 – 2.3.31版本及2.5 –2.5.10版本存在遠程代碼執行漏洞(CVE-2017-5638)。該漏洞是由於上傳功能的異常處理函數沒有正確處理用戶輸入的錯誤信息。導致遠程攻擊者可通過發送惡意的數據包,利用該漏洞在被攻擊伺服器上執行任意命令。
  • Flask服務端模板(Jinja2)注入漏洞(SSTI)復現
    3.漏洞等級4.漏洞復現(1)環境搭建(2)漏洞利用5.漏洞原理(1)分析payload(2)分析源碼6.修復建議1.漏洞概述  伺服器模板注入(SSTI)是一種利用公共 Web框架的伺服器端模板作為攻擊媒介的攻擊方式,該攻擊利用了嵌入模板的用戶輸入方式的弱點。
  • CVE-2014-0160OpenSSL漏洞復現
    >漏洞等級:高危影響範圍:OpenSSL Project OpenSSL < 1.1.0a、OpenSSL Project OpenSSL < 1.0.2i、OpenSSL Project OpenSSL < 1.0.1u漏洞類型:信息洩露
  • Struts2 部分漏洞復現
    s2-061已經復現過了,低版本漏洞可以使用k8哥哥和安恆的工具完成檢測和寫馬,就不再做復現了,當然也可以使用漏掃去發現漏洞。
  • 微軟通殺漏洞-CVE-2021-1675復現
    %m max log size = 5 min protocol = SMB2[smb] comment = Samba browseable = yes writeable = yes public = yes path = /tmp/ read only = no guest ok = yes按照這個配置以後就可以使用impacket-smbserver 文件名、目錄、開啟伺服器
  • 安天鍊石聯合發布WPA2高危漏洞綜合分析報告
    2.2KRACK攻擊中nonce重用的密碼分析Nonce重用引發的後果與所採用的數據保密協議密切相關。三種數據保密協議TKIP、CCMP和GCMP所採用的數據加密算法分別為流密碼RC4、認證加密算法AES-CCM和認證加密算法AES-GCM,其中AES-CCM和AES-GCM的加密部分都是基於CTR模式的流式加密。