العودة إلى التحديثات
New releaseSep 21, 2026

KTO v3.0.1

أداة إلغاء مصادقة Wi-Fi آلية تفحص باستمرار العملاء على SSID مستهدف وتطرد الأجهزة غير المسموح بها في القائمة البيضاء. تتضمن دعم القائمة البيضاء، التعامل مع الشبكات المتداخلة/نقاط الوصول المتعددة، كشف حماية الإطار المُدار (PMF)، وتجاوزًا تجريبيًا لـ PMF في WPA2 عبر استخراج EAPOL.

مشاركة

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) هو العقبة. فهو يحمي إلغاء المصادقة، وفك الارتباط، وإطارات الإجراء أحادية الوجهة، لذا يتجاهل عميل PMF أو WPA3 كل إطار مزوّر موجّه لكل عميل، بما في ذلك إعلان تبديل القناة أحادي الوجهة. لا توجد طريقة آمنة مع القائمة البيضاء للالتفاف على ذلك؛ فهذا بالضبط ما صُمم PMF لمنعه. الإطارات الوحيدة التي لا تزال تصل إلى عميل PMF هي تلك التي لا يمكن توجيهها إلى جهاز واحد:

  • منارة CSA: منارة AP مزوّرة تحمل إعلان تبديل القناة تحشد العملاء إلى قناة ميتة. المنارات لا تُحمى أبدًا، لذا يمر هذا، لكن كل عميل يسمعه ينتقل.
  • إعادة ارتباط مجهولة: طلب إعادة ارتباط إلى AP بمصدر بث، مما يجعل العديد من نقاط الوصول تلغي مصادقة عنوان البث بنفسها. نقطة الوصول تقوم بالفصل، لذا لا يدخل PMF في الأمر، لكنه يُسقط كل عميل.

كلاهما يصيب الـ BSS بأكمله ولا يمكنه احترام القائمة البيضاء، لذا فهما اختياريان عبر --broadcast (الذي يضيف أيضًا إلغاء مصادقة بث). استخدمه عندما تحتاج إلى فصل عملاء PMF/WPA3 ويمكنك قبول أن الأجهزة المدرجة في القائمة البيضاء ستسقط أيضًا. --all-vectors مرادف لتشغيل نواقل البث.

الخلاصة: على WPA2 تعمل القائمة البيضاء ويكفي إلغاء المصادقة لكل عميل. على WPA3/PMF لا يصل شيء افتراضيًا، فالإطارات لكل عميل (إلغاء المصادقة، وCSA موجّه أيضًا) محمية ومتجاهلة، لذا عليك تمرير --broadcast لفصل هؤلاء العملاء، وهذا يُسقط الـ BSS بأكمله، لذا لم تعد القائمة البيضاء سارية.

تحذير صادق واحد: WPA3 مع PMF مصمم لمقاومة إطارات الإدارة المزوّرة. لا يمكن لأي مهاجم غير موثّق ضمان الفصل ضده. هذه النواقل بأفضل جهد ممكن وتنجح على العديد من عمليات النشر الحقيقية، لكن "يعمل على كل شبكة" ليس وعدًا يمكن لأي أحد قطعه بشأن 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 للعثور على الهدف، ثم يقفل على قناته.

العديد من راوترات المنزل تعلن عن SSID واحد من راديوين (2.4 GHz WPA2 و5 GHz WPA3، بعناوين BSSID مختلفة) لتوجيه النطاق. يقوم KTO بمسح كل BSSID يحمل الـ SSID، وعندما يظهر أكثر من واحد، يسردها مع النطاق والأمان و يسأل أيها تهاجم. اختر الذي يوجد عليه جهازك الهدف فعليًا، أو سمّه مسبقًا بـ -b/--bssid. هذا مهم: عميل على BSSID الـ 5 GHz WPA3 لن يسقط إذا هاجمت نسخة 2.4 GHz WPA2.

يقوم KTO بإلغاء مصادقة العملاء الذين رآهم يرسلون فقط، لذا قد لا يظهر جهاز خامل من تلقاء نفسه أبدًا. إذا لم يسقط جهاز معين بينما يسقط آخرون، سمّه بـ --client <MAC>؛ حينها سيصيبه KTO في كل جولة بغض النظر عن ذلك. تحقق من ثلاثة أمور: أنه على BSSID/النطاق الذي تهاجمه، وأن عنوان MAC الخاص به هو ما تتوقعه، و، بالنسبة لبطاقة الشبكة النادرة التي تتجاهل إلغاء المصادقة، جرّب --all-vectors (الذي يضيف نواقل تبديل القناة وإعادة الارتباط حتى على WPA2 العادي).

المزيد من الأمثلة:

# already in monitor mode, lock to a known channel
sudo ./target/release/kto -i wlan0mon -t "CorpNet" -c 6

# band-steered SSID: target the exact AP the device is on
sudo ./target/release/kto -i wlan0mon -t "CorpNet" -b 62:a6:dd:6d:0a:24

# WPA3 / PMF: per-client is blocked, so broadcast to kick (whole BSS, no whitelist)
sudo ./target/release/kto -i wlan0mon -t "CorpNet" -b 62:a6:dd:6d:0a:24 --broadcast

# spare your own devices
sudo ./target/release/kto -i wlan0 -t "CorpNet" --auto-monitor -w AA:BB:CC:DD:EE:FF

# passive: list clients, send nothing
sudo ./target/release/kto -i wlan0mon -t "CorpNet" --scan-only

# throw every vector at it regardless of security
sudo ./target/release/kto -i wlan0mon -t "CorpNet" --all-vectors

الخيارات

FlagDefaultDescription
-i, --interfacerequiredWireless interface
-t, --targetrequiredTarget SSID
-b, --bssidautoTarget one AP by BSSID (band-steered / multi-AP SSIDs)
-f, --firstoffAttack the first matching AP found (skip the picker)
-c, --channelautoLock to a channel, skip the discovery sweep
--clientnoneAlways target these MACs, even if idle/unseen
-w, --whitelistnoneComma-separated MACs to spare
--whitelist-filenoneFile of MACs to spare, one per line (# comments)
-n, --count8Frames per burst, per vector
-s, --sleep0.05Seconds between attack rounds (small = continuous; raise to throttle)
--reason7Deauth reason code (1 unspecified, 4 inactivity, 7 class-3)
--broadcastoffAlso use broadcast / AP-wide vectors (ignores the whitelist)
--scan-onlyoffDiscover clients, send nothing
--auto-monitoroffEnable monitor mode on start, restore on exit
--csa-channel14Channel the CSA vectors herd clients onto
--all-vectorsoffSynonym for --broadcast (turn the broadcast vectors on)
--no-deauthoffDisable deauth/disassoc
--no-csaoffDisable the channel-switch vectors
--no-anonoffDisable anonymous reassociation
--no-tuioffPlain scrolling output instead of the live dashboard
--no-coloroffPlain output

يُضاف عنوان MAC الخاص بالواجهة تلقائيًا إلى القائمة البيضاء حتى لا يستهدف KTO نفسه أبدًا.

لوحة المعلومات

على طرفية حقيقية يشغّل KTO لوحة معلومات بملء الشاشة: تفاصيل الهدف، جدول عملاء مباشر، سجل أحداث، ومخطط خطي لمعدل TX، بعد رسوم بدء قصيرة. عمود STATE هو الجزء المفيد: UP يعني أن الجهاز لا يزال يرسل (يتجاهل الهجوم)، quiet يعني أنه صمت، و DOWN يعني أنه صمت مدة كافية ليُحتسب مفصولًا. يبقى العملاء مدرجين بمجرد رؤيتهم، ويلتقطهم KTO من إطارات الارتباط والمصادقة بالإضافة إلى البيانات، لذا يستمر الجدول في العمل أثناء هجوم البث، يمكنك مشاهدة كل جهاز يتحول إلى DOWN أثناء سقوطه. عندما تشترك عدة نقاط وصول في الـ SSID تحصل على قائمة للاختيار منها بمفاتيح الأسهم.

اضغط q (أو Esc، أو Ctrl-C) للخروج. وجّه الإخراج إلى مكان ما، أو مرّر --no-tui، فيتراجع إلى سجلات تمرير عادية، وهو ما تريده للنصوص البرمجية أو التسجيل إلى ملف.

الإيقاف

الخروج يتوقف بشكل نظيف، ويطبع ملخص دفعات لكل عميل، ويعيد الواجهة إلى الوضع المُدار إذا كان KTO قد وضعها في وضع المراقبة.

الترخيص

MIT، انظر LICENSE.

الفئات