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 — test | Kitploit
Outils/GitHubGitHub/iteride/cve-2025-32433
Analyse des VulnérabilitésExploitationSécurité SCADA/ICSCTFTests d'IntrusionCommandement et ContrôleApprentissage et ÉducationOutil d'Accès à DistanceLabs et Pratique
GitHubiteride/cve-2025-32433

CVE-2025-32433

test

1il y a 11 moisPas 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
Voir le dépôt

CVE-2025-32433

Introduction

Ce document présente une analyse de la vulnérabilité CVE-2025-32433, qui affecte l'implémentation du serveur SSH intégré à la plateforme Erlang/OTP.
Cette vulnérabilité permet l'exécution de code arbitraire à distance (Remote Code Execution, RCE) sans authentification et affecte plusieurs branches d'Erlang/OTP jusqu'à la sortie des correctifs :

  • versions 27 jusqu'à 27.3.3
  • versions 26 jusqu'à 26.2.5.11
  • versions 25 jusqu'à 25.3.2.20

Erlang/OTP est largement utilisé comme fondation pour des systèmes distribués extensibles et fait partie de la pile technologique de nombreux projets connus (par exemple, messageries, courtiers de messages, services web à forte charge).
La présence d'une vulnérabilité RCE critique dans la bibliothèque SSH de base compromet les infrastructures qui utilisent Erlang/OTP comme serveur ou comme composant avec un accès SSH ouvert.

Objectif du rapport

Examiner la vulnérabilité pas à pas et démontrer le cycle complet d'analyse :

  1. Collecte et structuration des informations :
    Trouver et systématiser les données publiquement disponibles sur CVE-2025-32433, décrire l'essence et l'impact potentiel.

  2. Détermination des CPE et des conditions de configuration :
    Fournir la liste des CPE et des conditions de configuration pour lesquelles la vulnérabilité est pertinente.

  3. Développement du PoC/Exploit :
    Créer et démontrer un prototype d'exploitation fonctionnel dans un environnement de test.

  4. Méthodes de vérification massive sécurisée :
    Décrire trois façons de vérifier les hôtes vulnérables :

    • avec nuclei en mode actif (impact minimal lors de l'exploitation) ;
    • avec nuclei en mode passif (selon les versions du logiciel ou des signes indirects) ;
    • avec un script maison en Python 3 (ou Go) avec prise en charge du multithreading.

⚠️ Avertissement

Cette analyse est menée exclusivement à des fins éducatives et éthiques et a été réalisée uniquement dans un environnement de test contrôlé.
L'auteur n'assume aucune responsabilité en cas d'utilisation abusive des informations présentées.
Utilisez ces informations uniquement pour apprendre et renforcer la sécurité de vos systèmes.


Détails de la vulnérabilité

Erlang est un langage de programmation conçu pour construire des systèmes hautement parallèles et tolérants aux pannes.
Sa plateforme Open Telecom Platform (OTP) est utilisée depuis de nombreuses années dans des infrastructures critiques — des télécommunications au secteur financier.

Erlang/OTP dans l'industrie

Dans les environnements OT (technologies opérationnelles) et dans les réseaux 5G, Erlang/OTP est apprécié pour son extensibilité et sa capacité à assurer le fonctionnement continu des systèmes avec un minimum d'interruptions.
Pour l'administration à distance, ces réseaux utilisent souvent l'implémentation SSH intégrée à Erlang/OTP.
C'est précisément ce qui rend la vulnérabilité CVE-2025-32433 particulièrement dangereuse pour ces environnements.

Nature du problème

Les interactions sécurisées dans Erlang/OTP sont assurées par son implémentation propre de SSH, qui :

  • gère les connexions chiffrées,
  • le transfert de fichiers,
  • et — surtout — l'exécution de commandes.

La vulnérabilité de cette implémentation permet à un attaquant disposant d'un accès réseau d'exécuter du code arbitraire sans authentification, ce qui constitue une menace directe pour les actifs vulnérables.

Étendue de la propagation

Selon un scan internet mondial (Cortex Xpanse, avril 2025), les services Erlang/OTP SSH vulnérables sont largement accessibles sur internet et fonctionnent non seulement sur les ports standard, mais aussi, par exemple, sur le port TCP 2222.
Ce port est fréquemment utilisé par des composants obsolètes d'automatisation industrielle et par le protocole de messagerie implicite Ethernet/IP, ce qui élargit le vecteur d'attaque potentiel.

La vulnérabilité est liée aux versions SSH incluses dans les versions d'Erlang/OTP.
La présence de services vulnérables sur des ports caractéristiques de divers secteurs crée une importante surface d'attaque mondiale.

Secteurs les plus touchés

La télémétrie a montré que plus de 85 % des tentatives d'exploitation ont été enregistrées sur les pare-feux du segment OT dans les domaines suivants :

  • Santé
  • Agriculture
  • Médias et industrie du divertissement
  • Haute technologie

En revanche, malgré une forte dépendance à l'OT, dans les secteurs :

  • services publics,
  • énergie,
  • industrie minière,
  • secteurs aérospatial et défense

aucun facteur favorisant la propagation active de cette menace particulière n'a été identifié.

Particularités par secteur

  • Dans les domaines des services professionnels et juridiques, les déclenchements ont été enregistrés principalement dans les réseaux informatiques.
  • Dans les secteurs de la production, du commerce de gros et de détail ainsi que des services financiers, les attaques étaient réparties à parts presque égales entre les segments informatique et OT, ce qui exige une protection globale.

Statut de la vulnérabilité

  • Niveau de gravité : score CVSS 3.1 de 10,0 (critique) selon les critères d'Offsec et Tenable. La complexité d'exploitation est faible, ne nécessite ni identifiants ni interaction de l'utilisateur.
  • Liste KEV : ajoutée au catalogue des vulnérabilités connues et exploitées (KEV) de la CISA le 9 juin 2025, ce qui souligne la nécessité d'une correction urgente.

Produits concernés et conditions de configuration

Identifiants CPE

CVE-2025-32433 est enregistrée dans la base NVD avec les CPE (Common Platform Enumeration) types suivants :

  • cpe:2.3:a:erlang:otp:25:*:*:*:*:*:*:*
  • cpe:2.3:a:erlang:otp:26:*:*:*:*:*:*:*
  • cpe:2.3:a:erlang:otp:27:*:*:*:*:*:*:*

Sont considérés comme vulnérables les versions mineures antérieures aux versions corrigées suivantes :

  • 25.x — jusqu'à 25.3.2.20 inclus
  • 26.x — jusqu'à 26.2.5.11 inclus
  • 27.x — jusqu'à 27.3.3 inclus

Conditions d'apparition de la vulnérabilité

  • L'hôte doit exécuter le démon SSH intégré d'Erlang/OTP (ssh:daemon/2), et non un openssh externe.
  • Le port SSH (le standard 22 ou un port personnalisé, par exemple 2222) doit être accessible pour des connexions distantes depuis le réseau de l'attaquant.
  • Au niveau de la configuration, aucun indicateur spécial n'est requis — la vulnérabilité est liée à la logique du protocole dans le code d'Erlang/OTP, et non à des options particulières de ssh:daemon/2.
  • L'authentification peut être quelconque (par mot de passe, par clés, etc.) — le bug est exploité avant l'étape d'authentification.

⚠️ Si Erlang/OTP est utilisé uniquement comme bibliothèque cliente sans serveur SSH actif, ou si le serveur est confiné dans un réseau isolé, la vulnérabilité n'est pas exploitable.


Aperçu technique

La vulnérabilité provient du fait que le serveur SSH intégré d'Erlang/OTP traite incorrectement le processus de pré-authentification.
Deux types de messages du protocole de connexion jouent un rôle clé — SSH_MSG_CHANNEL_OPEN et SSH_MSG_CHANNEL_REQUEST.
Selon la norme RFC 4254, ces messages ne doivent être acceptés qu'après une authentification réussie de l'utilisateur.
Toute tentative de les envoyer plus tôt doit immédiatement entraîner la rupture de la connexion.
Dans le cas de CVE-2025-32433, le démon SSH ne fait pas respecter cette règle, ce qui permet à un attaquant d'ouvrir un canal de session et d'envoyer une requête exec avec une commande arbitraire sans fournir d'identifiants valides.
En d'autres termes, cela conduit à une exécution de code à distance (RCE) non authentifiée — l'attaquant peut prendre le contrôle du serveur sans connaître ni le nom d'utilisateur, ni le mot de passe, ni la clé.

diagram-placeholder-1

Le protocole SSH Connection fonctionne au-dessus des couches de transport et d'authentification SSH.
Il fournit les fonctions de connexion interactive, d'exécution de commandes à distance et de redirection de ports.
Dans l'implémentation vulnérable de SSH dans Erlang/OTP, ce sont précisément les deux messages — SSH_MSG_CHANNEL_OPEN et SSH_MSG_CHANNEL_REQUEST, nécessaires à l'initiation d'un canal et à la demande de commandes, qui deviennent le point d'attaque :
l'attaquant peut envoyer un trafic spécialement conçu qui trompe le système pour exécuter du code arbitraire avant l'authentification.

diagram-placeholder-2


PoC / Exploit

Dans le cadre de cette analyse, un Proof-of-Concept fonctionnel pour CVE-2025-32433 a été préparé.

Composition des fichiers

  • CVE-2025-32433.py — script Python qui construit manuellement les paquets SSH (SSH_MSG_KEXINIT, SSH_MSG_CHANNEL_OPEN, SSH_MSG_CHANNEL_REQUEST) et les envoie avant l'authentification.
    Cela permet, sur les versions vulnérables d'Erlang/OTP, d'exécuter une commande arbitraire côté serveur — dans le PoC, elle crée le fichier /lab.txt avec le texte cyberok.

  • ssh_server.erl — module Erlang minimal qui démarre le démon SSH OTP intégré sur le port 2222. Il n'est nécessaire que pour la démonstration et est lancé dans un conteneur Docker.

  • Dockerfile — recette de construction du conteneur, dans lequel la version indiquée d'Erlang/OTP est automatiquement compilée et le serveur SSH de test est démarré.

⚠️ Ce PoC est destiné exclusivement aux tests locaux et à des fins éducatives. Ne pas l'utiliser dans des réseaux de production ou accessibles au public.


Test local dans Docker

  1. Construisez l'image : git clone https://github.com/iteride/CVE-2025-32433.git && cd CVE-2025-32433/POC/ && docker build -t cve-ssh . docker

  2. Lancez l'image

    root@kitploit:~
    docker run -d --name cve-ssh -p 2222:2222 cve-ssh
    
    
  3. Démonstration du POC poc


nuclei-template pour une vérification rapide

Vérification passive

Le modèle passif recherche les signes indirects de vulnérabilité, sans effectuer de véritables actions d'attaque.
Il analyse uniquement les informations « superficielles » que le service divulgue lui-même :

  • bannière de version Erlang/OTP,
  • en-têtes de réponse,
  • autres métadonnées ouvertes.

Si une version vulnérable est détectée (par exemple, OTP 25.3.2.19 ou 26.2.5.10), nuclei marque l'hôte comme potentiellement vulnérable.
⚠️ Cette approche est sûre : aucun paquet malveillant ni tentative d'exploitation n'est effectué.

root@kitploit:~
nuclei -u 127.0.0.1:2222 -t erlang-passive.yaml

nuclei-passive


Vérification active

Le modèle actif effectue une simulation d'attaque contrôlée :
il envoie des paquets SSH spécialement conçus avant l'authentification et vérifie si la vulnérabilité se déclenche.
Pour constater l'exploitation, Interactsh est utilisé — si le serveur distant a exécuté la requête malveillante, un DNS-callback apparaît dans le panneau Interactsh.

✅ Ce test confirme la possibilité réelle d'exécution de code à distance (RCE),
mais il n'est effectué que dans un environnement de test isolé.

root@kitploit:~
nuclei -u 127.0.0.1:2222 -t erlang-active.yaml -code

nuclei-passive

Script multithread ⚡️

Différences par rapport au nuclei-template :

  1. Le script fonctionne comme le modèle actif de nuclei, mais beaucoup plus rapidement.
  2. Le script détermine avec beaucoup plus de précision si le serveur est vulnérable, contrairement à nuclei, qui rencontre des problèmes avec l'analyse d'Interactsh.

Lancement du script

⚠️ Avant le lancement, assurez-vous que interactsh-client est installé et démarré.

root@kitploit:~
python3  babyfon.py -f targets.txt -d your.interactsh_domain

babyfon

Après le lancement, vérifiez les interactions DNS dans interactsh-client. (Dans l'exemple, deux cibles sont analysées : l'une est vulnérable, l'autre est déjà corrigée)

interactsh

Comparaison de la vitesse et de la précision des indicateurs avec nuclei ℹ️

  1. Nuclei :

nuclei_bad

  1. babyfon

babyfon

Conclusion des tests :

  • L'analyse avec babyfon a été effectuée en 0,95 seconde et a correctement déterminé que l'un des hôtes avait déjà été mis à jour et n'était pas vulnérable.
  • L'analyse avec nuclei a pris 9,9 secondes et a indiqué à tort que les deux hôtes étaient vulnérables.
Télécharger l’outil