Protocolos industriales (Modbus)
Los protocolos industriales (Modbus, DNP3, S7, EtherNet/IP, Profinet) se diseñaron décadas atrás para redes aisladas y de confianza: la mayoría no tienen autenticación ni cifrado. Entender esto explica por qué el acceso a la red OT es tan crítico: quien llega a la red puede, a menudo, leer y escribir en el proceso directamente.
El problema de fondo
Sección titulada «El problema de fondo»- diseñados para redes AISLADAS y confiables -> sin auth, sin cifrado, sin integridad- cualquiera con acceso a la red puede leer valores y ENVIAR comandos a un PLC- la "seguridad" era el aislamiento físico (air gap), hoy erosionado por la convergencia IT/OTModbus (el más común)
Sección titulada «Modbus (el más común)»Modbus TCP puerto 502; function codes para leer/escribir registros y coils FC 01/02 leer coils / discrete inputs FC 03/04 leer holding / input registers FC 05/06 escribir un coil / registro (¡comando al proceso!) FC 15/16 escribir múltiples# sin autenticación: un FC de escritura desde la red cambia el estado físicoOtros protocolos
Sección titulada «Otros protocolos»DNP3 utilities (energía/agua); con Secure Authentication opcional (poco desplegada)S7comm Siemens S7 PLCs (Stuxnet lo abusó)EtherNet/IP CIP (Rockwell/Allen-Bradley), puerto 44818Profinet automatización (Siemens)BACnet/Modbus edificios (BMS)# nmap NSE y scripts específicos enumeran versiones/registros -> SOLO en laboratorioEnumeración y riesgos (laboratorio autorizado)
Sección titulada «Enumeración y riesgos (laboratorio autorizado)»- descubrir dispositivos y function codes soportados (herramientas pasivas preferidas)- lectura de registros revela el estado del proceso; escritura lo MANIPULA- un escaneo activo agresivo puede COLGAR un PLC frágil -> preferir captura pasiva- Shodan/Censys muestran miles de dispositivos ICS expuestos a Internet (no tocar)Herramientas
Sección titulada «Herramientas»Enumeración nmap (scripts modbus/s7/enip), modbus-cli, pymodbus (prototipar)Análisis Wireshark (disectores de Modbus/DNP3/S7), captura pasivaMonitorización Nozomi/Claroty/Dragos (por protocolo, sin tocar el dispositivo)Blue Team / defensa
Sección titulada «Blue Team / defensa»- Como los protocolos no autentican, la defensa es de red: segmentación Purdue y control de quién habla con los PLC (SCADA / ICS).
- Allowlisting de pares autorizados (solo la HMI/historian habla con el PLC), no cualquiera.
- Monitorización pasiva que alerte de function codes de escritura inesperados o pares nuevos.
- Donde exista, activar las variantes seguras (DNP3-SA, OPC UA con seguridad); nunca exponer :502 a Internet.
CVEs y casos reales
Sección titulada «CVEs y casos reales»- Stuxnet manipuló S7comm para reprogramar PLCs sin que la HMI lo notara.
- Miles de dispositivos Modbus/BACnet expuestos en Internet (Shodan) sin autenticación.
- Industroyer habla protocolos eléctricos (IEC 60870-5-104, IEC 61850) para operar interruptores.
Checklist de prueba
Sección titulada «Checklist de prueba»- Identificar protocolos en uso (Modbus/DNP3/S7/EtherNet-IP)
- Captura pasiva para mapear pares y function codes (evitar escaneo activo en prod)
- Verificar que no hay puertos ICS (502, 44818…) expuestos a Internet
- Allowlisting: solo pares autorizados hablan con los PLC
- Monitorización pasiva de escrituras/comandos inesperados
- Activar variantes seguras del protocolo donde existan
- Pruebas solo en laboratorio/ventana autorizada