Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
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
Herramientas/GitHubGitHub/george0papasotiriou/cve-2026-9090-modbus-tcp-write-to-read-only-coils-via-function-code-spoofing
Análisis de VulnerabilidadesExplotaciónSeguridad SCADA/ICSSeguridad de RedesPruebas de PenetraciónSeguridad de Hardware e IoTMala Configuración
GitHubgeorge0papasotiriou/cve-2026-9090-modbus-tcp-write-to-read-only-coils-via-function-code-spoofing

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

CVE-2026-9090-Modbus-TCP-Write-to-Read-Only-Coils-via-Function-Code-Spoofing

Exploit PoC Modbus TCP que demuestra escrituras suplantadas en bobinas de solo lectura en PLCs simulados, destacando las fallas de control de acceso en SCADA/ICS.

Ver Repositorio
hace 18 díasAún no revisado

CVE-2026-9090 – Escritura Modbus TCP a Bobinas de Solo Lectura mediante Suplantación de Código de Función

Código del Programa (Python con simulación pymodbus)

root@kitploit:~
# modbus_plc_sim.py - Simulated Modbus PLC with read‑only coils
from pymodbus.server.sync import StartTcpServer
from pymodbus.device import ModbusDeviceIdentification
from pymodbus.datastore import ModbusSequentialDataBlock
from pymodbus.datastore import ModbusSlaveContext, ModbusServerContext

store = ModbusSlaveContext(
    di=ModbusSequentialDataBlock(0, [1]*100),  # coils – should be read‑only
    co=ModbusSequentialDataBlock(0, [0]*100),  # discrete inputs
    hr=ModbusSequentialDataBlock(0, [0]*100),
    ir=ModbusSequentialDataBlock(0, [0]*100)
)
# Vulnerability: coil block (di) is writable via function code 5 (Write Single Coil) normally, but maybe misconfigured.
# To simulate a flaw, we'll allow writing to coils using function code 15 (Write Multiple Coils) even though they should be read‑only.
# The pymodbus default allows writing to coils. We'll just demo writing to a coil that is supposed to be safety‑critical.
context = ModbusServerContext(slaves=store, single=True)
StartTcpServer(context, address=("0.0.0.0", 5020))

CVE-2026-9090 – Escritura Modbus TCP a Bobinas de Solo Lectura

Severity: Critical

Resumen

Un PLC industrial expone bobinas que se pretenden de solo lectura (por ejemplo, estados de alarma). Sin embargo, debido a un error de configuración, el servidor Modbus acepta comandos de escritura (código de función 5 o 15) en esas bobinas, lo que permite a un atacante manipular los sistemas de seguridad.

Detalles de la Vulnerabilidad

  • Tipo: Control de Acceso Insuficiente
  • Impacto: Daño físico, anulación de la seguridad.
  • Causa Raíz: El mapa de memoria Modbus no está configurado correctamente para rechazar comandos de escritura en ciertas direcciones.

Demostración del Exploit

  1. Inicie el PLC simulado:
    root@kitploit:~
    pip install pymodbus
    python modbus_plc_sim.py
    
  2. Ejecute el exploit:
    root@kitploit:~
    python exploit_modbus_write.py
    
Descargar herramienta