
Exploit proof-of-concept per CVE-2024-6387 che mira a server OpenSSH vulnerabili tramite manipolazione dell'heap e race condition per ottenere l'esecuzione remota di codice.
Questo repository contiene un Proof of Concept (POC) per sfruttare la vulnerabilità CVE-2024-6387 su server SSH che eseguono versioni vulnerabili di OpenSSH.
Un POC, o Proof of Concept, è un programma o script che dimostra lo sfruttamento di una vulnerabilità di sicurezza in modo controllato e riproducibile. Il suo obiettivo principale è mostrare che la vulnerabilità esiste e che può essere sfruttata per eseguire codice dannoso o compiere azioni non autorizzate sul sistema interessato.
Il POC in questo repository è progettato per sfruttare la vulnerabilità CVE-2024-6387 su server SSH. Di seguito viene spiegato brevemente come funziona ogni parte del codice:
CVE-2024-6387.py: Questo file contiene il codice principale del POC. Qui vengono definite funzioni per stabilire una connessione con il server SSH, inviare pacchetti specifici per manipolare l'heap del server, misurare i tempi di risposta e sfruttare la condizione di gara (race condition) sul server.
setup_connection(ip, port): Stabilisce una connessione TCP/IP con il server remoto. send_packet(sock, packet_type, data): Invia un pacchetto al server remoto. perform_ssh_handshake(sock): Esegue l'handshake SSH completo. prepare_heap(sock): Prepara l'heap del server con pacchetti specifici per sfruttare la vulnerabilità. time_final_packet(sock, parsing_time): Misura il tempo di risposta finale del server. attempt_race_condition(sock, parsing_time, glibc_base): Tenta di sfruttare la condizione di gara sul server SSH. perform_exploit(ip, port): Esegue lo sfruttamento completo provando diversi indirizzi base di glibc. Uso
Affinché questo POC funzioni con la vulnerabilità CVE-2024-6387, devono essere apportate le seguenti modifiche o considerazioni:
Aggiornamento del shellcode: Sostituite il placeholder del shellcode shellcode = b"\x90\x90\x90\x90" con un shellcode reale che esegua l'azione desiderata sul server interessato.
Adattamento alla CVE-2024-6387: Assicuratevi che le strutture dati e i pacchetti inviati nelle funzioni prepare_heap e create_public_key_packet siano progettati specificamente per sfruttare le vulnerabilità descritte nella CVE-2024-6387.
Questo repository è fornito a scopo educativo e di ricerca. Lo sfruttamento di vulnerabilità senza autorizzazione può essere illegale ed è severamente vietato in ambienti non autorizzati. L'autore non è responsabile dell'uso improprio di questo codice.