Los sistemas SCADA (Redes de Control de industrial) han pasado de redes cerradas propietarias a soluciones de código abierto y redes habilitadas para TCP/IP de manera constante durante los últimos años. Esto los ha hecho vulnerables a las mismas vulnerabilidades de seguridad que se enfrentan las redes informáticas tradicionales.
El protocolo más utilizado en redes SCADA suele ser Modbus. Un protocolo de comunicaciones de nivel 7 OSI, basado en la arquitectura maestro/esclavo, diseñado en 1979 por Modicon para su gama de controladores lógicos programables (PLCs). Modbus es uno de los protocolos más utilizados porque: es público, su implementación es fácil y requiere poco desarrollo y además maneja bloques de datos sin suponer restricciones. Este protocolo puede ser empleado sobre RS-232, RS-422, RS-485 o TCP/IP (puerto estándar TCP 502).
El protocolo Modbus/TCP se utilizó como protocolo de referencia para la creación de la herramienta Smod para test de penetración de dispositivos Modbus/TCP, por los siguientes aspectos:
- Modbus sigue siendo ampliamente utilizado en sistemas SCADA.
- Modbus/TCP es simple y fácil de implementar.
- Las bibliotecas de protocolos modbus están libremente disponibles para poder implementar aplicaciones inteligentes de red.
Smod es una herramienta con todo tipo de características de: diagnóstico, test de stress, test de penetración y fuzzing, para el protocolo modbus. Es una implementación de protocolo Modbus completa que utiliza Python y Scapy. Este software puede ejecutarse Linux y OS X con python 2.7.x.
Smod tiene 23 modulos para diversas pruebas en Modbus:
- Ataque DoS con envenenamiento Arp.
- Ataque DoS a PLC Galil RIO-47100.
- Ataque DoS para escribir todas variables ‘coil’.
- Ataque DoS con escritura de toda la función de registro.
- Ataque DoS con función variables ‘coil’ de única de escritura.
- Ataque DoS escribir una sola función de registro.
- Funciones fuzzing Modbus.
- Fuzzing basada en lectura de variables ‘coil’.
- Fuzzing basada en excepción de lectura de variables ‘coil’.
- Función de lectura de entradas discretas.
- Fuzzing excepción de lectura de entradas discretas.
- Fuzzing excepción de función leer estado .
- Fuzzing leer registros de retención de la función.
- Fuzzing excepción de función leer registros de mantenimiento.
- Fuzzing lectura de registros de entrada función.
- Fuzzing excepción de función leer registros de entrada.
- Fuzzing escribir función variables ‘coil’ única.
- Fuzzing escribir la función de registro único.
- Vigilante ARP.
- Comprobar protocolos Modbus.
- Función de enumeración en Modbus.
- Fuerza bruta.
- Envenenamiento cache Arp.
Fuente:https://www.gurudelainformatica.es
Entusiasta de la seguridad cibernética. Especialista en seguridad de la información, actualmente trabajando como especialista en infraestructura de riesgos e investigador.
Experiencia en procesos de riesgo y control, soporte de auditoría de seguridad, diseño y soporte de COB (continuidad del negocio), gestión de grupos de trabajo y estándares de seguridad de la información.
Envía tips de noticias a info@noticiasseguridad.com o www.instagram.com/iicsorg/.
También puedes encontrarnos en Telegram www.t.me/noticiasciberseguridad