Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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
sparkplugFuzzer — Fuzzer pour le protocole Sparkplug B IIoT | Kitploit
Outils/GitHubGitHub/bishopfox/sparkplugfuzzer
Analyse Dynamique (Sandboxing)Sécurité IoTAnalyse des VulnérabilitésSécurité SCADA/ICSFuzzingSécurité RéseauTests d'IntrusionAuthentification
GitHubbishopfox/sparkplugfuzzer

sparkplugFuzzer

Fuzzer pour le protocole Sparkplug B IIoT

Voir le dépôt
154il y a 2 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

Sparkplug B MQTT Security Fuzzer

Un outil complet d'évaluation de la sécurité pour tester les implémentations du protocole Sparkplug B MQTT. Le fuzzer teste systématiquement tous les champs du protocole pour les 9 types de messages, découvre les dispositifs actifs sur le réseau et produit des journaux détaillés pour analyse.

Utilisation responsable

Cet outil envoie des messages MQTT malformés, d'injection et violant le protocole à un courtier cible. Exécutez-le uniquement sur des systèmes que vous possédez ou pour lesquels vous avez une autorisation écrite explicite de test. Les courtiers Sparkplug B se trouvent généralement dans des environnements OT/ICS où des charges utiles inattendues peuvent perturber des processus physiques — considérez chaque cible comme adjacente à la production sauf preuve du contraire.

Si vous découvrez une vulnérabilité dans une implémentation Sparkplug B à l'aide de cet outil, veuillez suivre une divulgation coordonnée avec le fournisseur concerné. Pour signaler un problème de sécurité dans cet outil lui-même, consultez SECURITY.md.

Table des matières

  • Aperçu
  • Prérequis
  • Installation
  • Démarrage rapide
  • Utilisation
    • Options en ligne de commande
    • Catégories de fuzz
    • Exemples
  • Fonctionnement
    • Flux d'exécution
    • Découverte réseau
    • Évaluation de l'authentification
    • Fuzzing ciblé
  • Exécution des tests
  • Analyse des sorties et journaux
    • Format du journal
    • Analyse des résultats
  • Couverture du protocole
    • Types de messages
    • Types de données
    • Couverture des champs
  • Architecture

Aperçu

La spécification Sparkplug B définit un espace de noms de sujets et un format de charge utile basés sur MQTT et Google Protocol Buffers pour les environnements IoT industriels (IIoT). Ce fuzzer évalue la sécurité et la robustesse des implémentations Sparkplug B en :

  • Testant les 19 types de données métriques avec des valeurs limites et des conditions de débordement
  • Injectant des chaînes malveillantes (XSS, SQLi, chaînes de format, traversée de chemin, injection de commandes)
  • Créant des discordances de type entre les types de données déclarés et les champs de valeur protobuf réels
  • Violant l'ordre de la machine d'état du protocole (données avant naissance, doubles naissances, données après décès)
  • Corrompant les charges utiles protobuf sérialisées au niveau binaire
  • Usurpant les certificats de naissance/décès pour les dispositifs réseau découverts
  • Fuzzing des espaces de noms de sujets MQTT avec des caractères spéciaux, des variations de casse et des violations structurelles

Prérequis

  • Python 3.8+
  • Courtier MQTT — le système cible testé (par exemple, Mosquitto, HiveMQ, EMQX, ou tout courtier compatible Sparkplug B)
  • Autorisation — cet outil est destiné uniquement aux tests de sécurité autorisés

Installation

Sur les systèmes modernes Debian/Ubuntu/Kali (systèmes PEP-668), --setup ne peut pas utiliser pip install dans le Python système — utilisez d'abord un environnement virtuel ou pipx. Le chemin recommandé :```bash python3 -m venv .venv source .venv/bin/activate python3 sparkplug-fuzzer.py --setup

Ou exécutez via `pipx run` si vous préférez ne pas gérer vous-même l'environnement virtuel. Sur les systèmes plus anciens sans application de PEP-668, la commande simple `python3 sparkplug-fuzzer.py --setup` fonctionne directement.

`--setup` effectuera :
1. Installer les dépendances pip (`paho-mqtt`, `protobuf`)
2. Cloner une version épinglée du dépôt [Eclipse Tahu](https://github.com/eclipse/tahu) (voir `TAHU_REF` dans le script)
3. Copier les modules d'aide `sparkplug_b.py` et `array_packer.py`
4. Compiler `sparkplug_b.proto` en liaisons Python (utilise `protoc` si disponible, sinon `grpcio-tools`)
5. Nettoyer le clone de Tahu

Après l'installation, votre répertoire devrait contenir :```
sparkplug-fuzzer.py     # The fuzzer
sparkplug_b.py          # Sparkplug B helper module (from Tahu)
array_packer.py         # Array packing helper (from Tahu)
sparkplug_b_pb2.py      # Generated protobuf bindings
requirements.txt        # Python dependencies
Configuration manuelle (si --setup ne fonctionne pas)```bash pip install -r requirements.txt git clone https://github.com/eclipse/tahu.git cp tahu/python/core/sparkplug_b.py . cp tahu/python/core/array_packer.py . protoc --python_out=. sparkplug_b.proto rm -rf tahu ```

Démarrage rapide```bash

python3 sparkplug-fuzzer.py --setup # first-time setup python3 sparkplug-fuzzer.py -H localhost -p 1883 -v # run fuzzer

Cela va:
1. Connectez-vous au broker sur `localhost:1883`
2. Écoutez pendant 10 secondes pour découvrir les appareils Sparkplug existants
3. Établissez le fuzzer en tant que nœud/appareil Sparkplug
4. Exécutez toutes les 12 catégories de fuzz (~635+ cas de test)
5. Ciblez tous les appareils découverts avec des messages usurpés (spoofed)
6. Écrivez les résultats dans `sparkplug_fuzz.jsonl`

## Utilisation
Télécharger l’outil