Honeypots ICS: Conpot, GRIDPot y Monitorización de Ataques OT
Guía práctica de honeypots para sistemas de control industrial. Conpot (Siemens S7, Modbus, SNMP), GRIDPot para redes eléctricas, T-Pot ICS. Despliegue, inteligencia recopilada, consideraciones legales y construcción de un laboratorio ICS honeypot.
Honeypots en el mundo industrial
Los honeypots son una de las herramientas más infravaloradas en seguridad. En el contexto de IT, un honeypot es un sistema que simula servicios vulnerables para atraer atacantes y registrar su actividad. En el mundo OT/ICS, los honeypots adquieren una dimensión especial: simulan controladores industriales, protocolos SCADA y dispositivos de infraestructura crítica.
La premisa es sencilla. Nadie legítimo debería estar enviando comandos Modbus a un PLC que no existe, ni intentando leer registros de un RTU ficticio. Cualquier interacción con un honeypot ICS es, por definición, sospechosa. Esto convierte a los honeypots ICS en detectores de alta fidelidad con una tasa de falsos positivos cercana a cero.
Los datos que recopilan son valiosos para la comunidad CTI: qué protocolos industriales buscan los atacantes, desde qué regiones operan, qué comandos ejecutan cuando encuentran un dispositivo ICS, y cómo evolucian las campañas de escaneo a lo largo del tiempo.
Conpot: el estándar de honeypots ICS
Conpot (ICS/SCADA Honeypot) es el proyecto de referencia en la comunidad de honeypots industriales. Desarrollado bajo el paraguas de The Honeynet Project, simula dispositivos de control industrial con soporte para múltiples protocolos.
Protocolos emulados
Modbus TCP (puerto 502). Conpot emula un servidor Modbus con registros configurables. Los atacantes pueden leer y escribir coils y holding registers, y toda la interacción queda registrada. Es el protocolo industrial más escaneado en Internet.
Siemens S7comm (puerto 102). Emula un PLC Siemens S7-200 o S7-300, respondiendo a solicitudes de lectura de identificación del dispositivo (función 0x1a). Muchos escáneres como Shodan y Censys identifican dispositivos S7 por este handshake, lo que hace que el honeypot aparezca en sus resultados como un PLC real.
SNMP (puerto 161). Emula un agente SNMP con OIDs configurables que corresponden a los que un dispositivo industrial real expondría.
HTTP/HTTPS. Sirve una interfaz web que replica la de un HMI o la página de configuración de un dispositivo industrial. Las plantillas incluyen interfaces de Siemens y otros fabricantes.
BACnet (puerto 47808). Protocolo de automatización de edificios. Conpot puede simular dispositivos BACnet que controlan HVAC, iluminación y otros sistemas de building automation.
IPMI (puerto 623). Intelligent Platform Management Interface, utilizado en servidores y algunos dispositivos industriales para gestión fuera de banda.
Despliegue básico con Docker
# Despliegue rápido con Docker
docker pull honeynet/conpot
docker run -it \
-p 80:80 -p 102:102 -p 502:502 \
-p 161:161/udp -p 47808:47808/udp \
honeynet/conpot \
--template default
# O con una plantilla específica (Siemens S7-200)
docker run -it \
-p 80:80 -p 102:102 -p 502:502 \
honeynet/conpot \
--template IEC104
Configuración de plantillas
Conpot utiliza ficheros XML para definir el comportamiento de cada protocolo. Una plantilla define qué tipo de dispositivo se simula, qué registros Modbus están disponibles, qué valores devuelve a las consultas SNMP, y qué aspecto tiene la interfaz web.
<!-- Ejemplo simplificado de template Modbus -->
<modbus_server>
<device_info>
<vendor_name>Siemens</vendor_name>
<product_code>S7-300</product_code>
<major_minor_revision>3.2</major_minor_revision>
</device_info>
<holding_registers>
<register address="0" value="0x0001" />
<register address="1" value="0x00A4" />
<!-- Simula temperatura: 16.4°C -->
</holding_registers>
</modbus_server>
La clave para un honeypot convincente es personalizar estos valores para que representen un escenario industrial creíble. Un PLC con todos los registros a cero es sospechoso. Un PLC con valores que simulan una lectura de temperatura, presión o caudal es más verosímil.
Logging y análisis
Conpot registra cada interacción en formatos configurables (JSON, syslog, HPFeeds). Los datos incluyen:
- IP y puerto de origen del atacante.
- Protocolo utilizado.
- Comandos ejecutados (lectura/escritura de registros Modbus, consultas S7, etc.).
- Timestamp de cada interacción.
- User-agent si hay acceso HTTP.
Estos logs alimentan plataformas de threat intelligence y permiten identificar campañas de escaneo dirigidas a protocolos industriales.
GRIDPot: honeypot para redes eléctricas
GRIDPot es un honeypot especializado que simula una subestación eléctrica. A diferencia de Conpot (que es genérico), GRIDPot se centra en replicar de forma convincente los componentes de una red eléctrica.
Componentes emulados
Simulador de red eléctrica. GRIDPot incluye un simulador que modela el comportamiento de una red eléctrica simplificada: generadores, transformadores, líneas de transmisión y cargas. Los valores de tensión, corriente y frecuencia que reporta son físicamente coherentes, no valores estáticos.
Protocolo IEC 61850. Protocolo de comunicación para subestaciones eléctricas. GRIDPot emula las funciones GOOSE (Generic Object Oriented Substation Event) y MMS (Manufacturing Message Specification) que un atacante esperaría encontrar.
Protocolo DNP3. Distributed Network Protocol, ampliamente utilizado en utilities de agua y energía en Norteamérica. GRIDPot emula un outstation DNP3 con puntos de datos que representan estados de interruptores, medidas analógicas y contadores.
Interfaz HMI web. Una interfaz gráfica que representa el diagrama unifilar de la subestación simulada, con indicadores en tiempo real que reflejan el estado del simulador eléctrico.
Valor para inteligencia
Los datos de GRIDPot han revelado patrones interesantes en el escaneo de infraestructura eléctrica:
- Campañas de escaneo masivo buscando puertos DNP3 (20000) y IEC 61850 (102).
- Intentos de lectura de configuración de relés de protección.
- Escaneos que correlacionan con tensiones geopolíticas (aumento de actividad desde determinadas regiones en periodos de conflicto).
- Intentos de escritura en registros de control (intentos de abrir/cerrar interruptores virtuales).
T-Pot: honeypots ICS integrados
T-Pot es una plataforma de honeypots multi-servicio desarrollada por Deutsche Telekom que integra más de 20 honeypots diferentes, incluyendo módulos específicos para ICS.
Componentes ICS en T-Pot
T-Pot incluye Conpot como parte de su suite, pero lo integra con el ecosistema completo de visualización y análisis:
Kibana dashboards. Visualización de ataques en tiempo real con dashboards preconfigurados que muestran geolocalización de atacantes, protocolos más atacados, y tendencias temporales.
Suricata IDS. Análisis del tráfico hacia los honeypots con reglas de detección que identifican herramientas de escaneo conocidas y exploits.
CyberChef. Análisis de payloads capturados directamente en la interfaz web.
Elasticsearch. Almacenamiento y búsqueda sobre todos los eventos de todos los honeypots.
Despliegue de T-Pot
# Requisitos: Ubuntu 22.04+, 8GB RAM, 128GB disco
git clone https://github.com/telekom-security/tpotce
cd tpotce
sudo ./install.sh --type=standard
T-Pot despliega todos los honeypots como contenedores Docker y expone una interfaz de gestión protegida por autenticación.
Consideraciones de despliegue
Dónde ubicar un honeypot ICS
En Internet (investigación). Exponer el honeypot directamente a Internet para recopilar inteligencia sobre escaneos y ataques globales dirigidos a ICS. Útil para investigadores y equipos CTI. Requiere una IP dedicada y no debe estar en la misma red que sistemas reales.
En la DMZ IT/OT (detección). Ubicar el honeypot en la zona desmilitarizada entre IT y OT. Cualquier interacción con el honeypot desde la red IT indica un posible movimiento lateral hacia OT. Alta fidelidad de alerta.
En la red OT (detección avanzada). Desplegar el honeypot dentro del segmento OT, simulando un PLC o RTU adicional. Cualquier tráfico hacia el honeypot desde dentro de la red OT es una señal clara de compromiso. Requiere coordinación con los ingenieros de control para evitar confusiones.
En un laboratorio (formación). Honeypots como entorno de práctica para equipos de seguridad OT. Permite entrenar detección y respuesta sin riesgo para sistemas reales.
Realismo vs. Detección
Un honeypot demasiado simple será identificado por atacantes experimentados. Un honeypot demasiado complejo consume recursos y es difícil de mantener. Las claves del equilibrio:
Fingerprinting. Los atacantes utilizan herramientas como Shodan y Censys para identificar honeypots por sus respuestas. Un Conpot con la plantilla por defecto es fácilmente identificable. Personalizar las respuestas (cambiar vendor strings, ajustar tiempos de respuesta, añadir variabilidad a los valores de registros) mejora significativamente el realismo.
Tráfico de fondo. Un dispositivo ICS que no genera ni recibe tráfico es sospechoso. Simular tráfico de polling (un HMI ficticio que lee registros periódicamente) añade verosimilitud.
Múltiples servicios coherentes. Un PLC Siemens real no solo expone S7comm. También tiene una interfaz web, SNMP, y posiblemente PROFINET. Configurar todos los servicios que un dispositivo real expondría.
Qué hacen los atacantes cuando encuentran un ICS
Los datos de honeypots ICS en múltiples proyectos de investigación revelan patrones consistentes:
Fase de reconocimiento
La mayoría de interacciones son escaneos automatizados que buscan identificar el tipo de dispositivo:
- Lectura de identificación Modbus (función 0x11, Report Server ID).
- Consulta S7comm SZL (System Status List) para identificar modelo de PLC.
- Lectura de OIDs SNMP estándar (sysDescr, sysName, sysLocation).
- Acceso HTTP a la interfaz web para extraer información del dispositivo.
Fase de enumeración
Atacantes más sofisticados van más allá de la identificación:
- Lectura completa de todos los holding registers y coils Modbus (mapa de memoria).
- Enumeración de bloques de programa en PLCs S7.
- Lectura de configuración de red del dispositivo.
- Búsqueda de otros dispositivos en la misma subred.
Fase de manipulación
Un porcentaje pequeño pero significativo de atacantes intenta modificar el estado del dispositivo:
- Escritura en coils Modbus (cambiar estados de salidas digitales).
- Escritura en holding registers (modificar setpoints).
- Intentos de carga de programas en PLCs S7.
- Comandos de reinicio o parada del dispositivo.
Herramientas observadas
Los honeypots registran las herramientas que usan los atacantes:
- Metasploit: módulos
auxiliary/scanner/scada/para Modbus, S7, DNP3. - Nmap: scripts NSE para protocolos industriales (
modbus-discover,s7-info). - PLCScan: escáner específico para PLCs Siemens y Allen-Bradley.
- Herramientas propias: scripts Python con librerías como
pymodbus,snap7,scapy.
Inteligencia recopilada: casos reales
Proyecto SHINE (Shodan Intelligence Extraction)
El proyecto SHINE identificó más de 2 millones de dispositivos ICS expuestos a Internet a través de Shodan. Los datos de honeypots complementan estos hallazgos mostrando qué hacen los atacantes con estos dispositivos una vez localizados.
ICS-CERT advisories correlacionados
Las campañas de escaneo registradas por honeypots frecuentemente se correlacionan temporalmente con la publicación de advisories de ICS-CERT. Cuando se publica una vulnerabilidad en un dispositivo Siemens o Schneider, el escaneo de puertos S7 o Modbus aumenta significativamente en las horas siguientes.
Campañas dirigidas vs. escaneo oportunista
Los datos permiten distinguir entre:
- Escaneo masivo: bots que escanean todo el espacio IPv4 buscando puertos 502, 102, 20000. Constituyen más del 90% de las interacciones.
- Reconocimiento dirigido: escáneres que buscan dispositivos específicos (un modelo concreto de PLC, un fabricante particular). Son menos del 10% pero mucho más relevantes para inteligencia.
- Ataques manuales: interacciones que muestran un operador humano explorando el dispositivo. Raramente son menos del 1%, pero proporcionan la inteligencia más valiosa sobre TTPs.
Consideraciones legales
Regulación de honeypots
En la mayoría de jurisdicciones, desplegar un honeypot en tu propia infraestructura es legal. Sin embargo, hay matices:
Entrapment (incitación). Un honeypot no debe diseñarse para incitar a alguien a cometer un delito que no habría cometido de otra forma. Un honeypot pasivo que registra escaneos es claramente legal. Un honeypot que envía invitaciones activas o engaña para atraer atacantes puede cruzar líneas legales.
Privacidad y datos personales. Los honeypots registran direcciones IP, que son datos personales bajo RGPD. Debes tener una base legal para su tratamiento (interés legítimo en seguridad es generalmente aplicable) y cumplir con los requisitos de información y retención.
Sectores regulados. En infraestructura crítica regulada (energía, agua, transporte), consultar con el regulador antes de desplegar honeypots en redes de producción. Algunos reguladores tienen guías específicas sobre el uso de honeypots.
Compartición de datos. Si compartes datos de tu honeypot con la comunidad (HPFeeds, MISP), asegúrate de anonimizar IPs de atacantes si la legislación local lo requiere.
Construir un laboratorio ICS honeypot
Arquitectura de referencia
Un laboratorio de honeypots ICS para investigación o formación puede construirse con recursos mínimos:
Servidor base. Una máquina virtual o servidor dedicado con Ubuntu 22.04, 8 GB RAM, 128 GB de disco.
Honeypots.
- Conpot con 2-3 plantillas diferentes (Siemens, Guardian, IEC 104).
- GRIDPot para simulación de red eléctrica.
- Honeyd con perfiles de dispositivos ICS adicionales.
Monitorización.
- Suricata o Zeek para análisis de tráfico.
- ELK Stack (Elasticsearch, Logstash, Kibana) para almacenamiento y visualización.
- Grafana para dashboards en tiempo real.
Red.
- IP pública dedicada (para exposición a Internet) o red interna (para laboratorio aislado).
- Firewall que permite tráfico entrante solo a los puertos de los honeypots.
- VPN para acceso de administración.
Pasos de implementación
- Desplegar Conpot con Docker y personalizar la plantilla.
- Configurar logging hacia Elasticsearch.
- Crear dashboards en Kibana para visualizar la actividad.
- Exponer a Internet (si es para investigación) y esperar.
- Analizar los datos recopilados: IPs de origen, comandos ejecutados, protocolos atacados.
- Correlacionar con feeds de threat intelligence para enriquecer los hallazgos.
Recursos
Herramientas
- Conpot: github.com/mushorg/conpot (honeypot ICS de referencia).
- GRIDPot: github.com/sk4ld/gridpot (honeypot para redes eléctricas).
- T-Pot: github.com/telekom-security/tpotce (plataforma multi-honeypot).
- OpenCanary: github.com/thinkst/opencanary (honeypot ligero con soporte Modbus).
Investigación
- Vetterl, A. & Clayton, R., "Bitter Harvest: Systematically Fingerprinting Low- and Medium-interaction Honeypots at Internet Scale," USENIX WOOT 2018.
- Antonioli, D. et al., "Gamifying ICS Security Training and Research with CTF Design," ACSAC 2017.
- ENISA, "Honeypots: A Proactive Approach to Information System Security," 2023.
- Shodan, ICS Radar (visualización global de dispositivos ICS expuestos).
Preguntas frecuentes
Artículos relacionados
Este contenido tiene fines exclusivamente educativos y de investigación en ciberseguridad defensiva. No se proporcionan binarios maliciosos ni payloads ejecutables. El uso indebido de esta información es responsabilidad exclusiva del usuario. Leer disclaimer completo.