AvanzadoICSIndustroyerred eléctricaSandwormUcraniainfraestructura crítica

Industroyer/CrashOverride: Malware contra Redes Eléctricas

Análisis técnico de Industroyer/CrashOverride, el malware que causó apagones eléctricos en Ucrania. Protocolos IEC 61850, IEC 104, OPC DA, su evolución a Industroyer2, y la comparación con BlackEnergy.

MalwareIntel Research··11 min lectura
Serie: Malware IoT/OT/ICS — Parte 5

Contexto: Ucrania como laboratorio de ciberguerra

Para entender Industroyer hay que entender el contexto geopolítico. Desde la anexión de Crimea en 2014, Ucrania ha sido el objetivo de una campaña sostenida de ciberataques contra su infraestructura crítica, atribuida al GRU (inteligencia militar rusa). La red eléctrica ucraniana ha sido atacada repetidamente:

  • Diciembre 2015 (BlackEnergy): Primer ciberataque documentado que causó un apagón eléctrico. Tres compañías eléctricas atacadas. 230.000 personas sin electricidad durante 1 a 6 horas.
  • Diciembre 2016 (Industroyer): Segundo apagón. Subestación de Pivnichna (norte de Kiev). Apagón de aproximadamente una hora.
  • Abril 2022 (Industroyer2): Intento frustrado durante la invasión. Detectado por CERT-UA y ESET.
  • 2022 a 2023 (FrostyGoop y otros): Ataques a sistemas de calefacción y otras infraestructuras durante el conflicto.

Cada ataque representó una evolución en sofisticación. BlackEnergy dependía de operadores humanos que abrían interruptores via HMIs. Industroyer automatizó el ataque hablando directamente los protocolos eléctricos.

El ataque: 17 de diciembre de 2016

El 17 de diciembre de 2016, a las 23:21 hora local, la subestación eléctrica de Pivnichna (Ukrenergo, la empresa de transmisión eléctrica ucraniana) sufrió una desconexión de múltiples interruptores de alta tensión. Una parte del norte de Kiev quedó sin electricidad durante aproximadamente una hora hasta que los operadores restauraron el servicio manualmente.

El impacto fue menor que el ataque de 2015, en parte porque afectó a una sola subestación y porque los operadores de Ukrenergo estaban más preparados para responder manualmente. Pero el análisis técnico del malware reveló que Industroyer era significativamente más sofisticado que BlackEnergy, y que su potencial destructivo iba mucho más allá de lo observado en el ataque.

Arquitectura: modular y multi-protocolo

Industroyer tiene una arquitectura modular con cinco componentes principales, cada uno con una función específica en la cadena de ataque.

Main backdoor (componente principal)

El backdoor principal proporciona acceso remoto persistente a los sistemas comprometidos. Se comunica con el C2 (Command and Control) via HTTP(S) y Tor para dificultar la atribución. Funcionalidades:

  • Descarga y ejecución de payloads adicionales
  • Ejecución de comandos del sistema operativo
  • Gestión de archivos (upload/download)
  • Persistencia como servicio de Windows

El backdoor usa múltiples capas de comunicación: conexiones directas HTTPS a servidores C2, y como fallback, comunicación a través de la red Tor usando un proxy SOCKS5 embebido. Los servidores C2 estaban hospedados en infraestructura comprometida, no en servidores dedicados.

Launcher (orquestador)

El launcher es un ejecutable que orquesta la ejecución de los payloads de ataque en el momento programado. Implementa un mecanismo de timer: los payloads están configurados para ejecutarse a una hora específica (en el ataque de 2016, configurados para las 23:21). El launcher no implementa lógica de ataque por sí mismo; solo gestiona la secuencia temporal de ejecución de los payloads.

Payloads de protocolo (4 módulos de ataque)

Industroyer incluye cuatro módulos de ataque, cada uno implementando un protocolo del sector eléctrico diferente. Esta es la innovación principal del malware: habla los protocolos industriales de forma nativa.

Payload IEC 61850 (MMS, Manufacturing Message Specification)

IEC 61850 es el estándar moderno de comunicación para subestaciones eléctricas. El módulo de Industroyer implementa un cliente MMS que:

  • Descubre automáticamente los dispositivos IED (Intelligent Electronic Device) en la subestación
  • Enumera los nodos lógicos y los puntos de datos de cada IED
  • Envía comandos de control para abrir interruptores (CSWI, Circuit Switch Interlock)
  • Puede cambiar la posición de seccionadores y otros equipos de maniobra

El módulo incluye un archivo de configuración que especifica las direcciones IP de los IEDs objetivo y los nodos lógicos a atacar.

Payload IEC 60870-5-104 (IEC 104)

IEC 104 es un protocolo de telecontrol ampliamente utilizado en Europa para la comunicación entre centros de control SCADA y subestaciones remotas. El módulo de Industroyer:

  • Establece conexiones TCP con RTUs o gateways IEC 104
  • Envía comandos de control (single command, double command) para abrir interruptores
  • Envía secuencias rápidas de comandos para maximizar el impacto
  • Puede atacar múltiples IOAs (Information Object Addresses) en una misma RTU

Payload OPC DA (OLE for Process Control, Data Access)

OPC DA es un estándar basado en COM/DCOM de Microsoft para el acceso a datos de proceso en tiempo real. El módulo de Industroyer:

  • Enumera servidores OPC DA en la red
  • Descubre los tags (puntos de datos) disponibles
  • Escribe valores en los tags de control para operar interruptores

OPC DA es un protocolo legacy que opera sobre DCOM de Windows, inherentemente inseguro y sin autenticación.

Payload 61850 variante (protocolo custom)

Un cuarto módulo implementa funcionalidad adicional sobre IEC 61850, potencialmente para dispositivos con implementaciones no estándar del protocolo.

Data wiper (componente destructivo)

Después de ejecutar los payloads de ataque, Industroyer despliega un data wiper que:

  • Sobrescribe archivos del sistema con datos aleatorios
  • Corrompe los archivos de configuración de Windows
  • Elimina las entradas del registro de arranque
  • Sobrescribe archivos relacionados con SCADA y los protocolos atacados

El propósito del wiper es doble: destruir evidencia forense y dificultar la recuperación. Si los operadores no pueden restaurar las estaciones de trabajo SCADA, no pueden reconectar los interruptores remotamente y deben hacerlo manualmente en campo, lo que aumenta el tiempo de restauración de horas a días o semanas.

Herramienta de DoS contra Siemens SIPROTEC

Industroyer incluye una herramienta adicional que explota la vulnerabilidad CVE-2015-5374 en relés de protección Siemens SIPROTEC 4. Esta vulnerabilidad permite causar un denial-of-service enviando un paquete UDP especialmente crafteado al puerto 50000. Los relés SIPROTEC son dispositivos de protección eléctrica que desconectan líneas en caso de sobrecorriente o cortocircuito. Desactivar estos relés durante un ataque a la red eléctrica podría causar daño físico a los transformadores y otros equipos cuando se restaure la electricidad sin protecciones activas.

Comparación con BlackEnergy (2015)

BlackEnergy e Industroyer representan dos generaciones de ataque a redes eléctricas. Compararlos ilustra la evolución de las capacidades ofensivas contra infraestructura crítica.

AspectoBlackEnergy (2015)Industroyer (2016)
Acceso inicialSpear-phishing con documentos maliciososProbablemente similar, más operación previa
Ataque al procesoManual: operadores abrieron interruptores via HMIAutomatizado: malware envía comandos de protocolo
Protocolos ICSNinguno: interacción via interfaz gráfica HMIIEC 61850, IEC 104, OPC DA (nativos)
EscalabilidadLimitada: requiere operador por cada subestaciónAlta: un payload puede atacar múltiples subestaciones
WiperKillDisk (destrucción de datos en estaciones de trabajo)Wiper integrado + DoS a relés de protección
Impacto230.000 personas, 1 a 6 horasMenos de 100.000, ~1 hora
SofisticaciónMedia: RAT + acceso manual + wiperAlta: framework modular multi-protocolo

La diferencia clave es la automatización. BlackEnergy requería que un operador humano navegara por la interfaz HMI de cada subestación para abrir los interruptores, un proceso lento y que se podía interrumpir. Industroyer enviaba comandos a la velocidad de la red, atacando múltiples dispositivos simultáneamente.

Industroyer2: la guerra acelera la evolución

El 12 de abril de 2022, durante la invasión rusa de Ucrania, Sandworm desplegó Industroyer2 contra la infraestructura eléctrica ucraniana. CERT-UA, con apoyo de Microsoft y ESET, detectó y neutralizó el ataque antes de que causara un apagón significativo.

Diferencias con Industroyer original

AspectoIndustroyer (2016)Industroyer2 (2022)
ProtocolosIEC 61850 + IEC 104 + OPC DASolo IEC 104
ArquitecturaModular: launcher + payloads separadosBinario único con IEC 104 integrado
ConfiguraciónArchivos de configuración externosConfiguración hardcodeada en el binario
ComplejidadAlta (~6 componentes)Reducida (1 binario principal)
DesarrolloMeses de desarrollo y pruebasProbablemente acelerado para uso táctico
AcompañamientoData wiper + DoS a SIPROTECCaddyWiper (wiper separado) + ORCSHRED + SOLOSHRED + AWFULSHRED (wipers Linux/Solaris)

Industroyer2 fue simplificado deliberadamente. Al eliminar los módulos de IEC 61850 y OPC DA, y al hardcodear la configuración, Sandworm produjo un arma más rápida de desplegar pero menos flexible. Esto refleja las prioridades de un conflicto activo: velocidad de despliegue sobre versatilidad.

El ataque de 2022 fue acompañado por una batería de wipers destructivos: CaddyWiper para sistemas Windows, ORCSHRED y SOLOSHRED para sistemas Linux, y AWFULSHRED como wiper genérico. La combinación de ataque al proceso eléctrico y destrucción de datos busca maximizar el impacto y dificultar la recuperación.

Por qué fue neutralizado

CERT-UA y ESET detectaron Industroyer2 antes de su hora de ejecución programada. Varios factores contribuyeron:

  • Preparación post-2016: Las utilities ucranianas habían implementado mejoras de seguridad tras los ataques de 2015 y 2016
  • Monitorización activa: Equipos de seguridad occidentales colaboraban con CERT-UA durante el conflicto
  • Detección temprana de los wipers: CaddyWiper fue detectado antes de ejecutarse, lo que alertó sobre una operación más amplia en curso
  • Respuesta coordinada: CERT-UA, ESET, Microsoft y otros coordinaron la respuesta en tiempo real

Sandworm: el grupo de amenazas más peligroso del mundo

Sandworm (Voodoo Bear) es la Unidad 74455 del GRU (Dirección Principal de Inteligencia del Estado Mayor General de las Fuerzas Armadas de la Federación Rusa). MITRE: G0034.

Historial de ataques atribuidos

AñoOperaciónObjetivoImpacto
2014BlackEnergy campañaSector energético ucranianoReconocimiento y acceso persistente
2015BlackEnergy 3 + KillDiskTres distribuidoras eléctricas ucranianasPrimer apagón cibernético de la historia
2016IndustroyerSubestación Pivnichna, KievSegundo apagón cibernético
2017NotPetyaGlobal (vía MeDoc ucraniano)10.000 millones de dólares en daños estimados
2018Olympic DestroyerJuegos Olímpicos de PyeongchangDisrupción de sistemas IT olímpicos
2019Cyclops BlinkRouters WatchGuard y ASUSBotnet para acceso persistente
2022Industroyer2 + wipersInfraestructura eléctrica ucranianaNeutralizado antes del impacto
2022 a 2023Múltiples wipersInfraestructura ucranianaCaddyWiper, HermeticWiper, IsaacWiper
2023FrostyGoopSistemas de calefacción, LvivInterrupción de calefacción usando Modbus TCP

Indictments del DoJ

En octubre de 2020, el Departamento de Justicia de EE.UU. emitió acusaciones contra seis oficiales del GRU pertenecientes a la Unidad 74455 por su participación en NotPetya, Olympic Destroyer, ataques a la red eléctrica ucraniana y otros ciberataques. Los acusados: Yuriy Sergeyevich Andrienko, Sergey Vladimirovich Detistov, Pavel Valeryevich Frolov, Anatoliy Sergeyevich Kovalev, Artem Valeryevich Ochichenko y Petr Nikolayevich Pliskin.

Implicaciones para la defensa de redes eléctricas

NERC CIP (Norteamérica)

Los estándares NERC CIP (Critical Infrastructure Protection) son los requisitos de ciberseguridad obligatorios para el sector eléctrico en Norteamérica. Industroyer reforzó la importancia de varios controles:

  • CIP-005: Perímetro de seguridad electrónico. Segmentación estricta entre redes IT y OT.
  • CIP-007: Gestión de la seguridad del sistema. Parcheado, detección de malware, control de puertos.
  • CIP-010: Gestión de configuración y evaluación de vulnerabilidades. Detección de cambios no autorizados en configuraciones de dispositivos ICS.

NIS2 (Europa)

La directiva NIS2 de la UE (en vigor desde octubre de 2024) clasifica al sector energético como entidad esencial, requiriendo:

  • Evaluaciones de riesgos de ciberseguridad
  • Políticas de gestión de incidentes
  • Continuidad de negocio y gestión de crisis
  • Seguridad de la cadena de suministro
  • Notificación de incidentes significativos en 24 horas

Recomendaciones específicas post-Industroyer

  1. Monitorización de protocolos ICS. Desplegar herramientas de monitorización que analicen el tráfico de protocolos eléctricos (IEC 104, IEC 61850) y detecten comandos anómalos. Soluciones: Dragos, Nozomi Networks, Claroty.

  2. Segmentación con firewalls ICS. Firewall a nivel de protocolo entre centros de control SCADA y subestaciones remotas. No solo filtrar por IP/puerto, sino inspeccionar los comandos de protocolos industriales.

  3. Protección de relés de protección. Actualizar firmware de relés SIPROTEC y otros dispositivos de protección. Filtrar tráfico UDP no autorizado al puerto 50000.

  4. Procedimientos de operación manual. Mantener capacidad de operar subestaciones manualmente en caso de compromiso de los sistemas SCADA. Entrenar al personal regularmente.

  5. Detección de wipers. Los ataques tipo Industroyer van acompañados de wipers que buscan maximizar el impacto y dificultar la recuperación. Monitorizar integridad de archivos de sistema y configuración SCADA.

  6. Inteligencia de amenazas. Compartir indicadores de compromiso de Sandworm/Industroyer a través de ISACs (Information Sharing and Analysis Centers) del sector energético.

  7. Backups offline. Mantener copias de seguridad de configuraciones de subestaciones, programas de IEDs y bases de datos SCADA en medios desconectados de la red.

Recursos

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.