Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
sparkplugFuzzer — Fuzzer para el protocolo IIoT Sparkplug B | Kitploit
Herramientas/GitHubGitHub/bishopfox/sparkplugfuzzer
Análisis Dinámico (Sandboxing)Seguridad IoTAnálisis de VulnerabilidadesSeguridad SCADA/ICSFuzzingSeguridad de RedesPruebas de PenetraciónAutenticación
GitHubbishopfox/sparkplugfuzzer

sparkplugFuzzer

Fuzzer para el protocolo IIoT Sparkplug B

Ver Repositorio
155hace 2 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Fuzzer de Seguridad MQTT Sparkplug B

Una herramienta integral de evaluación de seguridad para probar implementaciones del protocolo MQTT Sparkplug B. El fuzzer prueba sistemáticamente todos los campos del protocolo en los 9 tipos de mensaje, descubre dispositivos activos en la red y genera registros detallados para su análisis.

Uso Responsable

Esta herramienta envía mensajes MQTT malformados, de inyección y que violan el protocolo a un broker objetivo. Ejecútela únicamente contra sistemas que posea o para los que tenga autorización escrita explícita para realizar pruebas. Los brokers Sparkplug B suelen ubicarse en entornos OT/ICS donde los payloads inesperados pueden interrumpir procesos físicos: asuma que todo objetivo está cerca de producción salvo que se demuestre lo contrario.

Si descubre una vulnerabilidad en una implementación de Sparkplug B usando esta herramienta, siga una divulgación coordinada con el proveedor afectado. Para informar un problema de seguridad en la propia herramienta, consulte SECURITY.md.

Tabla de Contenidos

  • Descripción general
  • Requisitos previos
  • Instalación
  • Inicio rápido
  • Uso
    • Opciones de línea de comandos
    • Categorías de fuzzing
    • Ejemplos
  • Cómo funciona
    • Flujo de ejecución
    • Descubrimiento de red
    • Evaluación de autenticación
    • Fuzzing dirigido
  • Ejecutar las pruebas
  • Análisis de salida y registros
    • Formato de registro
    • Analizar resultados
  • Cobertura del protocolo
    • Tipos de mensaje
    • Tipos de datos
    • Cobertura de campos
  • Arquitectura

Descripción general

La especificación Sparkplug B define un espacio de nombres de temas y un formato de payload construido sobre MQTT y Google Protocol Buffers para entornos de IIoT (Internet Industrial de las Cosas). Este fuzzer evalúa la seguridad y robustez de las implementaciones de Sparkplug B mediante:

  • Prueba de los 19 tipos de datos de métricas con valores límite y condiciones de desbordamiento
  • Inyección de cadenas maliciosas (XSS, SQLi, cadenas de formato, path traversal, inyección de comandos)
  • Creación de discrepancias de tipos entre los tipos de datos declarados y los campos de valor protobuf reales
  • Violación del orden de la máquina de estados del protocolo (datos antes de birth, births duplicados, datos después de death)
  • Corrupción de payloads protobuf serializados a nivel binario
  • Suplantación de certificados birth/death para dispositivos de red descubiertos
  • Fuzzing de espacios de nombres de temas MQTT con caracteres especiales, variaciones de mayúsculas/minúsculas y violaciones estructurales

Requisitos previos

  • Python 3.8+
  • Broker MQTT — el sistema objetivo bajo prueba (por ejemplo, Mosquitto, HiveMQ, EMQX o cualquier broker compatible con Sparkplug B)
  • Autorización — esta herramienta está pensada únicamente para pruebas de seguridad autorizadas

Instalación

En sistemas Debian/Ubuntu/Kali modernos (sistemas PEP-668), --setup no puede ejecutar pip install en el Python del sistema; use un entorno virtual o pipx primero. La ruta recomendada:```bash python3 -m venv .venv source .venv/bin/activate python3 sparkplug-fuzzer.py --setup

O ejecútalo mediante `pipx run` si prefieres no gestionar el venv tú mismo. En sistemas antiguos sin la política PEP-668, `python3 sparkplug-fuzzer.py --setup` funciona directamente.

`--setup` hará lo siguiente:
1. Instalar las dependencias pip (`paho-mqtt`, `protobuf`)
2. Clonar una versión fija (tag) del repositorio [Eclipse Tahu](https://github.com/eclipse/tahu) (consulta `TAHU_REF` en el script)
3. Copiar los módulos auxiliares `sparkplug_b.py` y `array_packer.py`
4. Compilar `sparkplug_b.proto` en bindings de Python (usa `protoc` si está disponible; si no, recurre a `grpcio-tools`)
5. Limpiar el clon de Tahu

Después de la configuración, tu directorio debería contener:```
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
Configuración manual (si --setup no funciona)```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 ```

Inicio rápido```bash

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

Esto:
1. Se conectará al broker en `localhost:1883`
2. Escuchará durante 10 segundos para descubrir dispositivos Sparkplug existentes
3. Establecerá el fuzzer como un nodo/dispositivo Sparkplug
4. Ejecutará las 12 categorías de fuzzing (~635+ casos de prueba)
5. Apuntará a cualquier dispositivo descubierto con mensajes falsificados
6. Escribirá los resultados en `sparkplug_fuzz.jsonl`

## Uso
Descargar herramienta