
CVE-2022-47522 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट जो डीऑथेंटिकेशन हमले और MAC एड्रेस स्पूफिंग के माध्यम से Wi-Fi फ्रेम इंटरसेप्शन का प्रदर्शन करता है ताकि HTTP और ICMP प्रतिक्रियाओं को कैप्चर किया जा सके।
यह एक कमजोरी है जो फ्रेम्स को इंटरसेप्ट करने की अनुमति देती है, जो किसी भी क्लाइंट को Wi-Fi नेटवर्क पर भेजे जाते हैं।
विस्तृत विवरण के लिए, यहाँ देखें।
नोट: MITRE का विवरण गलत है; कृपया सही विवरण के लिए ऊपर दिए गए लिंक को देखें।
यह रिपॉजिटरी उस लिंक पर आधारित है।
यथार्थवादी परीक्षण वातावरण के लिए, पीड़ित और हमलावर अलग-अलग होस्ट पर चलते हैं।
एक ही होस्ट पर पीड़ित और हमलावर दोनों को चलाना संभव हो सकता है, लेकिन इसके लिए तीन वायरलेस नेटवर्क इंटरफ़ेस और कोड और निष्पादन विधि में संभावित संशोधनों की आवश्यकता होगी।
निम्नलिखित कमांड चलाएँ (वैकल्पिक रूप से python venv में):
pip install scapy==2.6.1 httpx==0.28.1
वैकल्पिक रूप से, आप victim.py के बजाय ping, curl, या वेब ब्राउज़र का उपयोग कर सकते हैं।
निम्नलिखित कमांड चलाएँ:
cd macstealer/research
./build.sh
cd ../../attacker
./pysetup.sh
सुनिश्चित करें कि पीड़ित उस नेटवर्क से जुड़ा है जिसका आप परीक्षण करना चाहते हैं।
पीड़ित के कनेक्शन की नेटवर्क सेटिंग्स से मेल खाने के लिए ./attacker/attacker.conf को संपादित करें।
यदि आप सुनिश्चित नहीं हैं, तो wpa_supplicant.conf को कॉन्फ़िगर करने का तरीका देखें।
# attacker.conf
# Don't change this line, other MacStealer won't work
ctrl_interface=wpaspy_ctrl
network={
#Fill in properties of your network
key_mgmt=WPA-PSK
ssid="Your-SSID"
psk="Your-password"
}
आपको दोनों इंटरफ़ेस को अनदेखा करने के लिए NetworkManager को कॉन्फ़िगर करने की आवश्यकता है:
/etc/NetworkManager/NetworkManager.conf में निम्नलिखित पंक्तियाँ जोड़ें:
[keyfile]
unmanaged-devices=interface-name:{iface};interface-name:{mon_iface}
चलाकर परिवर्तन लागू करें:
sudo systemctl restart NetworkManager
पूर्ववत करने के लिए, जोड़ी गई पंक्तियों को हटाएँ और NetworkManager को फिर से पुनरारंभ करें।
निष्पादन से पहले venv को रूट के रूप में सक्रिय करें:
cd attacker
sudo su
source venv/bin/activate
victim.py चलाएँ और आवश्यक जानकारी दर्ज करने के लिए संकेतों का पालन करें (या डिफ़ॉल्ट मानों का उपयोग करें)।
फिर हर बार जब आप Enter दबाते हैं, तो एक ICMP Echo Request और एक HTTP GET Request भेजा जाएगा।
निम्नलिखित कमांड चलाएँ:
./attacker.py -i $iface -m $mon_iface -v $victimMAC
-i हमलावर के प्रबंधित इंटरफ़ेस को निर्दिष्ट करता है,
-m हमलावर के मॉनिटर इंटरफ़ेस को निर्दिष्ट करता है,
-v पीड़ित के MAC पते को निर्दिष्ट करता है।
उदाहरण के लिए:
./attacker.py -i wlan0 -m wlan1 -v a0:d3:65:2c:ed:71
एक बार निष्पादित होने पर, स्क्रिप्ट स्वचालित रूप से एक पूर्व-कनेक्शन स्थापित करेगी और हमले की तैयारी करेगी।
जब हमला तैयार होता है, तो आपको संकेत दिखाई देगा:
हमला शुरू करने के लिए Enter दबाएँ:
इस बिंदु पर, पहले पीड़ित की ओर से Enter दबाएँ अनुरोध भेजने के लिए, फिर तुरंत हमलावर की ओर से Enter दबाएँ हमला शुरू करने के लिए।
हमले के सफल होने के लिए, दोनों क्रियाएँ लगभग एक साथ की जानी चाहिए।
हालाँकि, पीड़ित को पहले अनुरोध भेजना होगा।
नोट:
- छोटे कनेक्शन समय से हमले की सफलता दर बढ़ती है।
- मेरे परीक्षणों में, कनेक्शन का समय लगभग 200ms था, लेकिन कभी-कभी AP ने अप्रत्याशित रूप से कनेक्शन अस्वीकार कर दिया, जिससे कनेक्शन का समय लंबा हो गया।
- यदि ऐसा होता है, तो टाइमआउट की प्रतीक्षा करें याCtrl+Cसे प्रक्रिया समाप्त करें और पुनः प्रयास करें।
- पूर्व-कनेक्शन और पुन: कनेक्शन के बीच का अंतर जितना अधिक होगा, विफलता की संभावना उतनी ही अधिक होगी।
- हमला शुरू करने के लिए जितनी जल्दी हो सके Enter दबाएँ।
- यदि हमलावर का कनेक्शन स्थिर होने के बावजूद हमला सफल नहीं होता है, तो पीड़ित द्वारा अनुरोध किए जा रहे सर्वर को अधिक दूर के स्थान पर बदलने का प्रयास करें।
चूंकि मैं कोरिया में हूँ, मैंने अर्जेंटीना में एक सर्वर चुना, जो सबसे दूर के क्षेत्रों में से एक है।

जाँच करें कि HTTP और ICMP प्रतिक्रियाएँ इंटरसेप्ट की गई हैं या नहीं, और सुनिश्चित करें कि HTTP बॉडी और ICMP पेलोड सही ढंग से प्रदर्शित हो रहे हैं।
तैयारी
Deauth हमला
इंटरसेप्ट