Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
bcm4360-wpa3 — 2014 मैकबुक प्रो में वाईफाई चिप के लिए wpa3 कार्यक्षमता | Kitploit
उपकरण/GitHubGitHub/unsignedchad/bcm4360-wpa3
वाई-फाई ऑडिटिंगरिवर्स इंजीनियरिंगवायरलेस सुरक्षाहार्डवेयर सुरक्षाबाइनरी विश्लेषणफर्मवेयर विश्लेषण
GitHubunsignedchad/bcm4360-wpa3

bcm4360-wpa3

2014 मैकबुक प्रो में वाईफाई चिप के लिए wpa3 कार्यक्षमता

रिपॉजिटरी देखें
511 महीना पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

WPA3-SAE + 802.11w Broadcom BCM4360 पर (बंद wl ब्लॉब)

Apple/Broadcom ने BCM4360 (14e4:43a0) को WPA3 कभी नहीं दिया। इसका एकमात्र Linux ड्राइवर बंद broadcom-sta (wl) ब्लॉब है; brcmfmac इसे चला नहीं सकता। यह उस बंद ब्लॉब में WPA3-SAE + पूर्ण 802.11w PMF जोड़ता है — पूरी तरह से होस्ट सॉफ्टवेयर से, कोई फर्मवेयर स्रोत नहीं।

हवा पर सिद्ध किया गया WPA3-मात्र, MFP-आवश्यक AP के विरुद्ध: SAE auth → assoc → 4-way → CCMP डेटा, स्थिर, और deauth-flood और SA-Query teardown हमलों के प्रति प्रतिरोधी।

यह कैसे काम करता है

ब्लॉब एक गैर-स्ट्रिप्ड, स्थानांतरित करने योग्य ELF .o है (अंतिम फर्मवेयर इमेज नहीं) — यही पूरा कारण है कि यह काम करता है। हम इसे फिर से नहीं लिखते; हम इसके विरुद्ध नया C लिंक करते हैं और कुछ कॉल साइट्स को रीडायरेक्ट करते हैं:

  • wpa_supplicant SAE + 4-way चलाता है (ब्लॉब का क्रिप्टो केवल SHA-1 है; SAE को SHA-256 चाहिए)।
  • एक छोटा cfg80211 गोंद (wl_cfg80211_hybrid.c, wl_linux.c) auth/assoc/keys को ब्रिज करता है।
  • तीन बिल्ड चरण ब्लॉब को हुक करने योग्य बनाते हैं:
    1. P1 बाइट-पैच — auth iovar को अन-क्लैम्प करें ताकि यह SAE (alg=3) स्वीकार करे।
    2. objcopy --globalize-symbol — लगभग 10 ब्लॉब-आंतरिक फ़ंक्शन को हमारे C से कॉल करने योग्य बनाएं।
    3. wl_reloc.py — .rela.text को फिर से लिखें ताकि ब्लॉब के wlc_recv/wlc_sendauth/wlc_authresp_client पर कॉल हमारे __wrap_* हुक में जाएं।

यह हवा पर SAE फ्रेम चलाने, assoc-req में wpa_supplicant का RSN IE इंजेक्ट करने, यूजरस्पेस-व्युत्पन्न कुंजियाँ स्थापित करने, और सॉफ्टवेयर PMF जोड़ने (असुरक्षित deauth छोड़ें; SW-CCMP SA-Queries का उत्तर दे) के लिए पर्याप्त है।

रिवर्स इंजीनियरिंग

उपकरण: Ghidra (हेडलेस), nm, objdump, strings, एक मॉनिटर-मोड स्निफर (iw + tcpdump)।

root@kitploit:~
# 1. The blob ships inside broadcom-sta and is NOT stripped (~4091 syms) -> Ghidra recovers names.
GHIDRA=/opt/ghidra
$GHIDRA/support/analyzeHeadless ./proj wl -import wlc_hybrid.o_amd64 \
    -analysisTimeoutPerFile 3600          # auto-analyze, then decompile in the GUI

# 2. Triage what's present BEFORE picking a strategy (absent crypto must move host-side):
nm wlc_hybrid.o_amd64 | grep -iE 'sha256|sae|bip|igtk|mmie'          # -> empty here
nm wlc_hybrid.o_amd64 | grep -iE 'wpa|akm|sup|sendauth|key_insert'

# 3. Verify any offset before you patch it (.text vaddr V == file offset V+0x40 in this blob):
objdump -d --start-address=0x47d40 --stop-address=0x47d60 wlc_hybrid.o_amd64

रणनीति: खुले गोंद (wl_cfg80211_connect, wl_set_auth_type) में cfg80211 एंट्री पॉइंट से शुरू करें और iovars (auth, wpa_auth, wsec) का ब्लॉब में अनुसरण करें। वे जहाँ पहुँचते हैं, उसे डीकंपाइल करें: AKM गेट (bcmwpa_akm2WPAauth), जॉइन/auth FSM (wlc_join_BSS + auth→assoc एडवांसर 0x5b79d पर), RX डिस्पैच (wlc_recv), और PMK/कुंजी पथ (wlc_sup_set_pmk, wlc_key_insert)। objdump से प्रत्येक पते की क्रॉस-चेक करें।

दूसरे चिप पर पोर्ट करना

  1. पुष्टि करें कि ब्लॉब एक गैर-स्ट्रिप्ड स्थानांतरित करने योग्य .o है (file, nm). एक स्ट्रिप्ड फर्मवेयर इमेज इस तरह काम नहीं करेगी।
  2. Ghidra में खोजें: auth-alg क्लैम्प, join→auth→assoc FSM + इसका "auth-succeeded" एडवांसर, RX डिस्पैच, और set_pmk/कुंजी-इन्सर्ट।
  3. उनके पते build.sh (--add-symbol re_auth_advance=..., वैश्वीकरण सूची) और patches/wl_reloc.py (__wrap_* लक्ष्य) में डालें।
  4. wl_linux.c में स्ट्रक्ट ऑफसेट ठीक करें (wlc+0x6a8 txq, bsscfg+0x320 assoc, scb+0x18 bss) — ये लेआउट हैं और प्रति ब्लॉब संस्करण भिन्न होते हैं।
  5. स्निफर के साथ हवा पर पुनरावृति करें; फर्मवेयर दोष कर्नेल पैनिक्स हैं — नेटवर्क पर कैप्चर करें (देखें संघर्ष)।

संघर्ष → समाधान

  • SAE के दौरान कर्नेल हार्ड-लॉक, कोई बैकट्रेस नहीं। एक --add-symbol पता एक हेक्स अंक से गलत था (0x15b79d बनाम 0x5b79d), जो मध्य-निर्देश पर उतरा → call <garbage> → NX दोष। संकेत है बिल्ड चेतावनी objtool: ... can't find starting instruction; प्रत्येक सिंथेटिक प्रतीक एक वास्तविक फ़ंक्शन प्रारंभ है इसकी पुष्टि करें।
  • पैनिक कैप्चर नहीं कर सकते। Apple EFI पर efi-pstore टूटा हुआ है; netconsole USB-ईथरनेट NIC पर TX नहीं कर सकता। SSH पर दूसरी मशीन पर dmesg --follow स्ट्रीम करें — यह रीबूट से पहले oops फ्लश करता है।
  • AP assoc अस्वीकार करता है (स्थिति 31, MFP नीति)। ब्लॉब अपना स्वयं का PSK/नो-MFP RSN IE बनाता है। .connect में wpa_supplicant का sme->ie कैप्चर करें और ब्लॉब के assoc-req IE बफ़र (*(bsscfg+0x320)+0x30) को उस पर इंगित करें — यह 4-way के RSN-IE चेक को भी संतुष्ट करता है।
  • कुंजी स्थापना विफल होती है -22 — केवल IGTK (BIP, idx 4); HW कुंजी इंजन में कोई BIP स्लॉट नहीं है।

बिल्ड

कर्नेल हेडर, gcc, binutils, python3 चाहिए। ब्लॉब इस रेपो में नहीं है (स्वामित्व)।

root@kitploit:~
# 1. Get the pristine blob from broadcom-sta 6.30.223.271:
#    hybrid-v35_64-nodebug-pcoem-6_30_223_271.tar.gz  ->  lib/wlc_hybrid.o_amd64
cp /path/to/wlc_hybrid.o_amd64 wl-src/lib/wlc_hybrid.o_amd64.orig

# 2. Build:
./build.sh                 # -> wl-src/wl.ko   (or download it from Releases)

स्थापित करें

त्वरित परीक्षण

root@kitploit:~
sudo rmmod b43 brcmfmac bcma ssb wl 2>/dev/null   # free the card
sudo insmod wl-src/wl.ko                          # wlan0 appears

NetworkManager इस ड्राइवर के माध्यम से WPA3-SAE चलाता है — बस wifi GUI का उपयोग करें: अपना नेटवर्क चुनें, पासवर्ड दर्ज करें, हो गया। NM इसे सहेजता है और हर बूट पर ऑटो-रीकनेक्ट करता है। CLI समकक्ष:

root@kitploit:~
nmcli con add type wifi ifname wlan0 con-name w ssid "YOUR_SSID"
nmcli con modify w wifi-sec.key-mgmt sae wifi-sec.psk "YOUR_PASS" 802-11-wireless-security.pmf 3
nmcli con up w        # NM does SAE + 4-way + DHCP

(स्टैंडअलोन विकल्प: sudo ./examples/connect.sh wlan0 examples/wpa3-sae.conf.example.)

स्थायी (रीबूट + कर्नेल अपडेट से बचता है)

root@kitploit:~
sudo dkms/install.sh

DKMS के साथ ड्राइवर को पंजीकृत करता है (कर्नेल अपग्रेड पर ऑटो-रीबिल्ड), विरोध करने वाले इन-ट्री ड्राइवरों + स्टॉक wl को ब्लैकलिस्ट करता है, और NetworkManager से पहले बूट पर हमारा लोड करता है। फिर wifi GUI से कनेक्ट करें। विवरण और एक DKMS समस्या: dkms/README.md। बजाय एक बार के मैन्युअल रीबिल्ड के लिए, ./build.sh → wl-src/wl.ko चलाएँ।

डीबग लॉगिंग

ड्राइवर डिफ़ॉल्ट रूप से विस्तृत WPA3/PMF डीबग प्रिंट करता है। इसे रनटाइम (या स्थायी रूप से) शांत करें:

root@kitploit:~
echo 0 | sudo tee /sys/module/wl/parameters/re_verbose          # this boot
echo 'options wl re_verbose=0' | sudo tee /etc/modprobe.d/wl-quiet.conf   # permanent

चेतावनियाँ

  • मिश्रित WPA2/WPA3 (ट्रांज़िशन-मोड) AP अविश्वसनीय हैं — होस्ट-संचालित SAE हमेशा वार्ता नहीं जीतता। एकल मोड का उपयोग करें: AP को केवल WPA3 (या केवल WPA2) पर सेट करें, या NetworkManager कनेक्शन में सुरक्षा को पिन करें (WPA3 Personal / SAE, या WPA2)। एक शुद्ध-WPA3 नेटवर्क हर बार कनेक्ट होता है।
  • ब्लॉब (wlc_hybrid.o_amd64) Broadcom स्वामित्व है — इसे स्वयं broadcom-sta से प्राप्त करें। Releases में wl.ko इसे एम्बेड करता है (डेबियन के broadcom-sta-dkms के समान स्थिति)।
  • ऑफसेट broadcom-sta 6.30.223.271 / BCM4360 के लिए विशिष्ट हैं।
  • Linux 6.12 (Debian 13), Intel MacBookPro11,3 पर परीक्षण किया गया।
  • अनुसंधान कोड। लाइसेंस: GPL-2.0 (यह रैपर) + Broadcom का लाइसेंस (ब्लॉब)।
टूल डाउनलोड करें
dmesg
IGTK को सॉफ्टवेयर में स्वीकार करें; PTK/GTK ठीक स्थापित होते हैं और डेटा प्रवाहित होता है।
  • ब्लॉब कभी प्रबंधन फ्रेम डिक्रिप्ट नहीं करता, इसलिए 802.11w SA-Queries सिफरटेक्स्ट के रूप में आते हैं। PTK कैप्चर करें और सॉफ्टवेयर में AES-CCM (कर्नेल ccm(aes)) करें ताकि क्वेरी पढ़ें और एक एन्क्रिप्टेड उत्तर उत्सर्जित करें।