
Proof-of-Concept-Exploit für CVE-2024-6387, der anfällige OpenSSH-Server mittels Heap-Manipulation und Race Condition ausnutzt, um eine Remote-Code-Ausführung zu erreichen.
Dieses Repository enthält einen Proof of Concept (POC) zur Ausnutzung der Schwachstelle CVE-2024-6387 in SSH-Servern, die anfällige Versionen von OpenSSH ausführen.
Ein POC, oder Proof of Concept, ist ein Programm oder Skript, das die Ausnutzung einer Sicherheitslücke auf kontrollierte und reproduzierbare Weise demonstriert. Sein Hauptziel ist es zu zeigen, dass die Schwachstelle existiert und ausgenutzt werden kann, um bösartigen Code auszuführen oder unbefugte Aktionen auf dem betroffenen System durchzuführen.
Der POC in diesem Repository ist darauf ausgelegt, die Schwachstelle CVE-2024-6387 in SSH-Servern auszunutzen. Im Folgenden wird kurz erklärt, wie jeder Teil des Codes funktioniert:
CVE-2024-6387.py: Diese Datei enthält den Hauptcode des POC. Hier werden Funktionen definiert, um eine Verbindung zum SSH-Server herzustellen, spezifische Pakete zur Manipulation des Server-Heaps zu senden, Antwortzeiten zu messen und die Race Condition auf dem Server auszunutzen.
setup_connection(ip, port): Stellt eine TCP/IP-Verbindung zum entfernten Server her. send_packet(sock, packet_type, data): Sendet ein Paket an den entfernten Server. perform_ssh_handshake(sock): Führt den vollständigen SSH-Handshake durch. prepare_heap(sock): Bereitet den Heap des Servers mit spezifischen Paketen vor, um die Schwachstelle auszunutzen. time_final_packet(sock, parsing_time): Misst die endgültige Antwortzeit des Servers. attempt_race_condition(sock, parsing_time, glibc_base): Versucht, die Race Condition auf dem SSH-Server auszunutzen. perform_exploit(ip, port): Führt die vollständige Ausnutzung durch, indem es mehrere glibc-Basisadressen ausprobiert. Verwendung
Damit dieser POC mit der Schwachstelle CVE-2024-6387 funktioniert, müssen die folgenden Änderungen oder Überlegungen vorgenommen werden:
Aktualisierung des Shellcodes: Ersetzen Sie den Shellcode-Platzhalter shellcode = b"\x90\x90\x90\x90" durch einen echten Shellcode, der die gewünschte Aktion auf dem betroffenen Server ausführt.
Anpassung an CVE-2024-6387: Stellen Sie sicher, dass die Datenstrukturen und die in den Funktionen prepare_heap und create_public_key_packet gesendeten Pakete speziell darauf ausgelegt sind, die in CVE-2024-6387 beschriebenen Schwachstellen auszunutzen.
Dieses Repository wird zu Bildungs- und Forschungszwecken bereitgestellt. Die Ausnutzung von Schwachstellen ohne Autorisierung kann illegal sein und ist in nicht autorisierten Umgebungen strengstens untersagt. Der Autor übernimmt keine Haftung für die missbräuchliche Verwendung dieses Codes.