
أداة إلغاء مصادقة Wi-Fi آلية تفحص باستمرار العملاء على SSID مستهدف وتطرد الأجهزة غير المسموح بها في القائمة البيضاء. تتضمن دعم القائمة البيضاء، التعامل مع الشبكات المتداخلة/نقاط الوصول المتعددة، كشف حماية الإطار المُدار (PMF)، وتجاوزًا تجريبيًا لـ PMF في WPA2 عبر استخراج EAPOL.
وجِّهه إلى SSID وسيكتشف تلقائياً كل عميل متصل ويطردهم — بما في ذلك من يحاول إعادة الاتصال — دون الحاجة إلى استهداف يدوي.
أدوات مثل aireplay-ng تطلب منك تقديم BSSID وعنوان MAC للعميل. عليك أولاً معرفة من على الشبكة، وإذا أعاد أحدهم الاتصال فعليك اكتشافه بنفسك وتشغيل الأداة مرة أخرى. KTO يقوم بكل ذلك تلقائياً في حلقة: مسح مستمر ← قائمة عملاء حية ← إلغاء مصادقة تلقائي ← تكرار. أي شخص يعيد الاتصال سيتم القبض عليه في الجولة التالية.
للاستخدام المصرح به فقط. قم بتشغيل هذا فقط ضد الشبكات التي تملكها أو لديك إذن كتابي صريح لاختبارها. إلغاء المصادقة غير المصرح به غير قانوني في معظم الولايات القضائية.
--live-table يعرض جدول عملاء محدّث بدلاً من سجل التمرير، جيد للعروض التوضيحية--log FILE يحفظ كل طرد مع طابع زمني، يضيف عبر الجلسات--scan-only يكتشف ويسجل العملاء دون إرسال أي إطارات# Python 3.10+
pip install scapy
# aircrack-ng suite
sudo apt install aircrack-ng
يجب تشغيله كجذر (root).
git clone https://github.com/Ymsniper/KTO.git
cd KTO
pip install scapy
لا حاجة لإعدادات أخرى. سكريبت واحد، لا ملفات إعداد.
sudo python3 kto.py -i <interface> -t <SSID> [options]
يجب أن تكون الواجهة في وضع المراقبة، أو مرر --auto-monitor ليجعل KTO يتولى ذلك.
# أساسي
sudo python3 kto.py -i wlan0mon -t "CorpNet"
# دع KTO يتولى وضع المراقبة
sudo python3 kto.py -i wlan0 -t "CorpNet" --auto-monitor
# الوضع العدواني — بدون نافذة إعادة اتصال
sudo python3 kto.py -i wlan0mon -t "CorpNet" --aggressive
# احفظ جهازك الخاص
sudo python3 kto.py -i wlan0mon -t "CorpNet" -w AA:BB:CC:DD:EE:FF
# اكتشاف سلبي فقط، بدون إلغاء مصادقة
sudo python3 kto.py -i wlan0mon -t "CorpNet" --scan-only
# شبكة Mesh أو متعددة BSSID
sudo python3 kto.py -i wlan0mon -t "CorpNet" --auto-bssid
# حفظ سجل وإظهار جدول حي
sudo python3 kto.py -i wlan0mon -t "CorpNet" --log session.txt --live-table
# دفعة أثقل مع aireplay-ng
sudo python3 kto.py -i wlan0mon -t "CorpNet" -n 10 --aireplay --broadcast
# تعطيل تجاوز PMF (العودة إلى إلغاء المصادقة القياسي على WPA2+PMF)
sudo python3 kto.py -i wlan0mon -t "CorpNet" --no-bypass
# هاتفي
AA:BB:CC:DD:EE:FF
# اللابتوب
11:22:33:44:55:66
بدءاً من الإصدار v2.1.6، يتضمن KTO ميزة PMF تجريبية لشبكات WPA2-PSK مع إطارات الإدارة المحمية (PMF) المفعلة. عند اكتشاف PMF على شبكة WPA2، يحاول KTO تلقائياً استخراج EAPOL بكلمة مرور خاطئة:
هذا التجاوز لا يتطلب كلمة مرور الشبكة الفعلية — يحتاج فقط إلى SSID.
القيود الهامة:
إذا كنت تريد تخطي التجاوز بالكامل وإرسال إطارات إلغاء مصادقة قياسية (مع قبول أن العملاء القادرين على PMF سيتجاهلونها)، استخدم العلامة --no-bypass.
إذا كانت نقطة الوصول الهدف لديها إطارات إدارة محمية مفعلة، ستحذرك KTO عند بدء التشغيل. العملاء الذين يدعمون 802.11w سيتجاهلون بصمت إطارات إلغاء المصادقة غير المحمية، لذا تعتمد الفعالية على الأجهزة المتصلة.
ومع ذلك، في الوضع العدواني مع دفعة إلغاء مصادقة عالية بما يكفي، لوحظ أن KTO لا تزال تقطع الاتصال بالعملاء المحميين بـ PMF على بعض الشبكات — حتى بدون تجاوز. يبدو أن الكم الهائل من الإطارات يغلب على بعض التطبيقات. لذا بينما PMF هو دفاع حاسم، فهو ليس مضموناً في كل الإعدادات.
Ctrl+C يوقف كل شيء بشكل نظيف، يعيد الواجهة إلى وضع الإدارة إذا كانت KTO قد أنشأت واجهة المراقبة، ويطبع ملخص الجلسة مع أعداد الدفعات لكل عميل.
رخصة MIT — انظر LICENSE
| العلامة | الافتراضي | الوصف |
|---|
-i، --interface | مطلوب | واجهة لاسلكية (مثل wlan0mon) |
-t، --target | مطلوب | اسم SSID الهدف |
-w، --whitelist | --- | عناوين MAC مفصولة بفواصل لحفظها |
--whitelist-file FILE | --- | ملف عناوين MAC لحفظها، واحد لكل سطر (# = تعليق) |
-c، --channel | تلقائي | قفل على قناة محددة |
-n، --count | 5 | عدد إطارات إلغاء المصادقة لكل دفعة لكل اتجاه |
-s، --sleep | 5.0 | ثوانٍ بين الجولات |
--scan-duration | 8.0 | ثوانٍ يستمع فيها airodump-ng لكل جولة |
--delay | 0.1 | تأخير لكل عميل في الحلقة العدوانية |
--broadcast | إيقاف | إلغاء مصادقة ff:ff:ff:ff:ff:ff أيضاً |
--aireplay | إيقاف | استخدام aireplay-ng بدلاً من Scapy |
--aggressive | إيقاف | خيوط مسح وإلغاء مصادقة متوازية |
--scan-only | إيقاف | الوضع السلبي، لا يتم إرسال إطارات |
--auto-monitor | إيقاف | تفعيل وضع المراقبة تلقائياً عبر airmon-ng |
--auto-bssid | إيقاف | اختيار أقوى BSSID تلقائياً لشبكات Mesh / متعددة BSSID |
--reason | 7 | كود سبب 802.11 (1=غير محدد، 4=عدم نشاط، 7=إطار من الفئة 3) |
--log FILE | --- | حفظ سجل الطرد مع الطابع الزمني إلى ملف |
--live-table | إيقاف | جدول عملاء محدّث بدلاً من الإخراج المتداول |
--no-bypass، -nb | إيقاف | تعطيل تجاوز PMF التجريبي |