
KTO v3.0.1
स्वचालित Wi-Fi डीऑथेंटिकेशन टूल जो लगातार लक्ष्य SSID पर क्लाइंट्स को स्कैन करता है और गैर-श्वेतसूचीबद्ध उपकरणों को बाहर करता है। इसमें श्वेतसूची समर्थन, मेश/मल्टी-AP हैंडलिंग, PMF डिटेक्शन, और EAPOL निकासी के माध्यम से प्रायोगिक WPA2 PMF बाईपास शामिल है।
KTO - Kick Them Out
https://github.com/user-attachments/assets/0ebf61af-c306-4825-b836-95df59052c27
इसे किसी SSID पर इंगित करें और यह उस नेटवर्क पर मौजूद डिवाइसों को डिस्कनेक्ट कर देता है, उन डिवाइसों सहित जो फिर से कनेक्ट होते हैं। आप इसे नेटवर्क का नाम देते हैं; यह एक्सेस पॉइंट ढूंढता है, क्लाइंट्स ढूंढता है, और नेटवर्क की सुरक्षा के अनुरूप डिस्कनेक्शन विधि चुनता है।
पुराने संस्करण वास्तव में केवल ओपन-मैनेजमेंट WPA/WPA2 के विरुद्ध काम करते थे। इस संस्करण में PMF (802.11w) और WPA3 के लिए भी वेक्टर हैं, किसी पासवर्ड की आवश्यकता नहीं, हालांकि वे केवल ब्रॉडकास्ट-आधारित और बेस्ट-एफर्ट हैं (नीचे देखें)।
केवल अधिकृत उपयोग के लिए। इसे उन नेटवर्कों के विरुद्ध चलाएं जिनके आप मालिक हैं या जिनका परीक्षण करने की आपके पास लिखित अनुमति है। अनधिकृत डीऑथेंटिकेशन अधिकांश स्थानों में अवैध है।
यह हमला कैसे चुनता है, और व्हाइटलिस्ट
डिफ़ॉल्ट रूप से KTO व्हाइटलिस्ट-सुरक्षित रहता है: यह प्रत्येक गैर-व्हाइटलिस्टेड क्लाइंट को, जिसे इसने ट्रांसमिट करते देखा है, दोनों दिशाओं में यूनिकास्ट डीऑथेंटिकेशन और डिसएसोसिएशन भेजता है। व्हाइटलिस्टेड MAC को कभी निशाना नहीं बनाया जाता। यह किसी भी ऐसे क्लाइंट को गिरा देता है जिसने PMF पर बातचीत नहीं की है, जो सभी WPA/WPA2 और मिश्रित नेटवर्क पर किसी भी गैर-PMF क्लाइंट को कवर करता है।
PMF (802.11w) असली अड़चन है। यह deauth, disassoc, और यूनिकास्ट एक्शन फ्रेम्स की सुरक्षा करता है, इसलिए एक PMF या WPA3 क्लाइंट प्रत्येक नकली प्रति-क्लाइंट फ्रेम को अनदेखा कर देता है, जिसमें यूनिकास्ट Channel Switch Announcement भी शामिल है। इससे बचने का कोई व्हाइटलिस्ट-सुरक्षित तरीका नहीं है; यह वास्तव में वही है जिसे रोकने के लिए PMF को डिज़ाइन किया गया है। केवल वे फ्रेम्स जो अभी भी PMF क्लाइंट तक पहुंचते हैं, वे हैं जिन्हें किसी एकल डिवाइस पर लक्षित नहीं किया जा सकता:
- CSA बीकन: एक स्पूफ़्ड AP बीकन जिसमें Channel Switch Announcement होता है जो क्लाइंट्स को एक मृत चैनल पर पहुंचा देता है। बीकन कभी संरक्षित नहीं होते, इसलिए यह पार हो जाता है, लेकिन हर क्लाइंट जो इसे सुनता है वह स्विच कर जाता है।
- अनाम रीएसोसिएशन: AP को ब्रॉडकास्ट स्रोत के साथ एक रीएसोसिएशन रिक्वेस्ट, जिससे कई AP स्वयं ब्रॉडकास्ट एड्रेस को डीऑथेंटिकेट कर देते हैं। किक AP करता है, इसलिए PMF कहीं आता ही नहीं, लेकिन यह हर क्लाइंट को गिरा देता है।
दोनों पूरे BSS पर प्रभाव डालते हैं और व्हाइटलिस्ट का पालन नहीं कर सकते, इसलिए ये --broadcast के माध्यम से ऑप्ट-इन हैं (जो एक ब्रॉडकास्ट deauth भी जोड़ता है)। इसका उपयोग तब करें जब आपको PMF/WPA3 क्लाइंट्स को डिस्कनेक्ट करना हो और आप स्वीकार कर सकें कि व्हाइटलिस्टेड डिवाइस भी गिर जाएंगे। --all-vectors ब्रॉडकास्ट वेक्टर चालू करने का पर्यायवाची है।
मूल बात: WPA2 पर व्हाइटलिस्ट काम करता है और प्रति-क्लाइंट deauth पर्याप्त है। WPA3/PMF पर डिफ़ॉल्ट रूप से कुछ भी असर नहीं करता, प्रति-क्लाइंट फ्रेम्स (deauth, और एक लक्षित CSA भी) संरक्षित और अनदेखे जाते हैं, इसलिए उन क्लाइंट्स को डिस्कनेक्ट करने के लिए आपको --broadcast पास करना होगा, और यह पूरे BSS को गिरा देता है, इसलिए व्हाइटलिस्ट अब लागू नहीं होता।
एक ईमानदार चेतावनी: PMF के साथ WPA3 नकली मैनेजमेंट फ्रेम्स का प्रतिरोध करने के लिए बनाया गया है। कोई भी अनधिकृत हमलावर इसके विरुद्ध किक की गारंटी नहीं दे सकता। ये वेक्टर बेस्ट-एफर्ट हैं और कई वास्तविक डिप्लॉयमेंट्स पर असर करते हैं, लेकिन "हर नेटवर्क पर काम करता है" WPA3 के बारे में कोई वादा नहीं कर सकता।
बिल्ड
लक्ष्य मशीन पर एक Rust टूलचेन और iw (iproute2 / वायरलेस टूल्स से) की आवश्यकता है।
cargo build --release
बाइनरी target/release/kto पर बनती है। इसे root के रूप में चलाएं।
उपयोग
sudo ./target/release/kto -i wlan0 -t "CorpNet" --auto-monitor
--auto-monitor के बिना इंटरफ़ेस पहले से ही मॉनिटर मोड में होना चाहिए। इसके साथ, KTO शुरू होने पर इंटरफ़ेस को मॉनिटर में स्विच करता है और बाहर निकलने पर वापस मैनेज्ड में। यदि आप -c पास नहीं करते हैं, तो यह लक्ष्य खोजने के लिए सामान्य 2.4 और 5 GHz चैनलों को स्वीप करता है, फिर उसके चैनल पर लॉक हो जाता है।
कई होम राउटर बैंड स्टीयरिंग के लिए दो रेडियो (2.4 GHz WPA2 और 5 GHz WPA3, अलग BSSID) से एक SSID का प्रचार करते हैं। KTO उस SSID को वहन करने वाले प्रत्येक BSSID का सर्वेक्षण करता है और, जब एक से अधिक दिखाई देते हैं, तो उन्हें बैंड और सुरक्षा के साथ सूचीबद्ध करता है और पूछता है कि किस पर हमला करना है। वह चुनें जिस पर आपका लक्ष्य डिवाइस वास्तव में है, या इसे -b/--bssid के साथ पहले से नाम दें। यह मायने रखता है: 5 GHz WPA3 BSSID पर एक क्लाइंट नहीं गिरेगा यदि आप 2.4 GHz WPA2 क्लोन पर हमला करते हैं।
KTO केवल उन क्लाइंट्स को deauth करता है जिन्हें इसने ट्रांसमिट करते देखा है, इसलिए एक निष्क्रिय डिवाइस कभी भी स्वयं प्रकट नहीं हो सकता। यदि कोई विशिष्ट डिवाइस गिरने से इनकार करता है जबकि अन्य गिर जाते हैं, तो इसे --client <MAC> के साथ नाम दें; KTO तब हर राउंड में इसे निशाना बनाएगा। तीन चीजें जांचें: यह उस BSSID/बैंड पर है जिस पर आप हमला कर रहे हैं, इसका MAC वही है जिसकी आप अपेक्षा करते हैं, और, उस दुर्लभ NIC के लिए जो deauth को अनदेखा करता है, --all-vectors आज़माएं (जो सादे WPA2 पर भी चैनल-स्विच और रीएसोसिएशन वेक्टर जोड़ता है)।
अधिक उदाहरण:
# पहले से मॉनिटर मोड में, ज्ञात चैनल पर लॉक करें
sudo ./target/release/kto -i wlan0mon -t "CorpNet" -c 6
# बैंड-स्टीयर्ड SSID: उस सटीक AP को लक्षित करें जिस पर डिवाइस है
sudo ./target/release/kto -i wlan0mon -t "CorpNet" -b 62:a6:dd:6d:0a:24
# WPA3 / PMF: प्रति-क्लाइंट अवरुद्ध है, इसलिए किक करने के लिए ब्रॉडकास्ट करें (पूरा BSS, कोई व्हाइटलिस्ट नहीं)
sudo ./target/release/kto -i wlan0mon -t "CorpNet" -b 62:a6:dd:6d:0a:24 --broadcast
# अपने ही डिवाइसों को बचाएं
sudo ./target/release/kto -i wlan0 -t "CorpNet" --auto-monitor -w AA:BB:CC:DD:EE:FF
# निष्क्रिय: क्लाइंट्स सूचीबद्ध करें, कुछ न भेजें
sudo ./target/release/kto -i wlan0mon -t "CorpNet" --scan-only
# सुरक्षा की परवाह किए बिना हर वेक्टर फेंकें
sudo ./target/release/kto -i wlan0mon -t "CorpNet" --all-vectors
विकल्प
| फ्लैग | डिफ़ॉल्ट | विवरण |
|---|---|---|
-i, --interface | आवश्यक | वायरलेस इंटरफ़ेस |
-t, --target | आवश्यक | लक्ष्य SSID |
-b, --bssid | स्वतः | BSSID द्वारा एक AP को लक्षित करें (बैंड-स्टीयर्ड / मल्टी-AP SSIDs) |
-f, --first | बंद | पाया गया पहला मेल खाता AP पर हमला करें (पिकर छोड़ें) |
-c, --channel | स्वतः | एक चैनल पर लॉक करें, डिस्कवरी स्वीप छोड़ें |
--client | कोई नहीं | इन MAC को हमेशा लक्षित करें, भले ही निष्क्रिय/अदृश्य हों |
-w, --whitelist | कोई नहीं | बचाने के लिए कॉमा-सेपरेटेड MAC |
--whitelist-file | कोई नहीं | बचाने के लिए MAC की फ़ाइल, प्रति पंक्ति एक (# टिप्पणियां) |
-n, --count | 8 | प्रति बर्स्ट, प्रति वेक्टर फ्रेम्स |
-s, --sleep | 0.05 | हमला राउंड के बीच सेकंड (छोटा = निरंतर; थ्रॉटल करने के लिए बढ़ाएं) |
--reason | 7 | Deauth कारण कोड (1 अनिर्दिष्ट, 4 निष्क्रियता, 7 क्लास-3) |
--broadcast | बंद | ब्रॉडकास्ट / AP-व्यापी वेक्टर भी उपयोग करें (व्हाइटलिस्ट को अनदेखा करता है) |
--scan-only | बंद | क्लाइंट्स खोजें, कुछ न भेजें |
--auto-monitor | बंद | शुरू होने पर मॉनिटर मोड सक्षम करें, बाहर निकलने पर पुनर्स्थापित करें |
--csa-channel | 14 | वह चैनल जिस पर CSA वेक्टर क्लाइंट्स को इकट्ठा करते हैं |
--all-vectors | बंद | --broadcast का पर्यायवाची (ब्रॉडकास्ट वेक्टर चालू करें) |
--no-deauth | बंद | deauth/disassoc अक्षम करें |
--no-csa | बंद | चैनल-स्विच वेक्टर अक्षम करें |
--no-anon | बंद | अनाम रीएसोसिएशन अक्षम करें |
--no-tui | बंद | लाइव डैशबोर्ड के बजाय सादा स्क्रॉलिंग आउटपुट |
--no-color | बंद | सादा आउटपुट |
इंटरफ़ेस MAC स्वतः व्हाइटलिस्टेड होता है ताकि KTO कभी स्वयं को निशाना न बनाए।
डैशबोर्ड
एक वास्तविक टर्मिनल पर KTO एक फुल-स्क्रीन डैशबोर्ड चलाता है: लक्ष्य विवरण, एक लाइव क्लाइंट तालिका, एक इवेंट लॉग, और एक TX-रेट स्पार्कलाइन, एक संक्षिप्त बूट एनिमेशन के बाद। STATE कॉलम उपयोगी हिस्सा है: UP का अर्थ है कि डिवाइस अभी भी ट्रांसमिट कर रहा है (हमले को झेल रहा है), quiet का अर्थ है कि यह चुप हो गया है, और DOWN का अर्थ है कि यह इतनी देर चुप रहा है कि इसे डिस्कनेक्ट माना जाए। क्लाइंट्स एक बार देखे जाने पर सूचीबद्ध रहते हैं, और KTO उन्हें डेटा के साथ-साथ एसोसिएशन और auth फ्रेम्स से भी उठाता है, इसलिए ब्रॉडकास्ट हमले के दौरान भी तालिका काम करती रहती है, आप प्रत्येक डिवाइस को गिरते ही DOWN में बदलते हुए देख सकते हैं। जब कई AP एक ही SSID साझा करते हैं तो आपको एरो कीज़ के साथ चुनने के लिए एक सूची मिलती है।
बाहर निकलने के लिए q (या Esc, या Ctrl-C) दबाएं। आउटपुट को कहीं पाइप करें, या --no-tui पास करें, और यह सादे स्क्रॉलिंग लॉग्स पर वापस चला जाता है, जो स्क्रिप्ट्स या फ़ाइल में लॉगिंग के लिए आप चाहते हैं।
रोकना
बाहर निकलना साफ़-सुथरे ढंग से रुकता है, प्रति-क्लाइंट बर्स्ट सारांश प्रिंट करता है, और यदि KTO ने इंटरफ़ेस को मॉनिटर मोड में डाला था तो उसे मैनेज्ड मोड में पुनर्स्थापित करता है।
लाइसेंस
MIT, LICENSE देखें।