COSMICENERGY: Nuevo malware OT posiblemente relacionado con los ejercicios de respuesta de emergencia rusos
Mandiant identificó malware novedoso orientado a tecnología operativa (OT) / sistema de control industrial (ICS), que rastreamos como COSMICENERGY, cargado en una utilidad pública de escaneo de malware en diciembre de 2021 por un remitente en Rusia. El malware está diseñado para causar interrupciones en la energía eléctrica al interactuar con dispositivos IEC 60870-5-104 (IEC-104), como unidades terminales remotas (RTU), que comúnmente se aprovechan en las operaciones de transmisión y distribución eléctrica en Europa, Medio Oriente y Asia.
COSMICENERGY es el último ejemplo de malware OT especializado capaz de causar impactos físicos cibernéticos, que rara vez se descubren o divulgan. Lo que hace que COSMICENERGY sea único es que, según nuestro análisis, un contratista puede haberlo desarrollado como una herramienta de equipo rojo para ejercicios de interrupción de energía simulados organizados por Rostelecom-Solar, una empresa rusa de seguridad cibernética. El análisis del malware y su funcionalidad revela que sus capacidades son comparables a las empleadas en incidentes y malware anteriores, como INDUSTROYER e INDUSTROYER.V2, que fueron variantes de malware implementadas en el pasado para afectar la transmisión y distribución de electricidad a través de IEC-104.
El descubrimiento de COSMICENERGY ilustra que las barreras de entrada para desarrollar capacidades ofensivas de OT están disminuyendo a medida que los actores aprovechan el conocimiento de ataques anteriores para desarrollar nuevo malware. Dado que los actores de amenazas utilizan herramientas de equipo rojo y marcos de explotación pública para actividades de amenazas específicas en la naturaleza, creemos que COSMICENERGY representa una amenaza plausible para los activos de la red eléctrica afectados. Los propietarios de activos de OT que aprovechan los dispositivos compatibles con IEC-104 deben tomar medidas para adelantarse al potencial en el despliegue salvaje de COSMICENERGY.
Las capacidades y la estrategia general de ataque de COSMICENERGY parecen recordar el incidente INDUSTROYER de 2016, que emitió comandos IEC-104 ON/OFF para interactuar con RTU y, según un análisis, puede haber utilizado un servidor MSSQL como sistema de conducto para acceder a OT. Aprovechando este acceso, un atacante puede enviar comandos remotos para afectar la actuación de los interruptores de la línea eléctrica y los interruptores automáticos para causar una interrupción del suministro eléctrico. COSMICENERGY logra esto a través de sus dos componentes derivados, que rastreamos como PIEHOP y LIGHTWORK (ver apéndices para análisis técnicos).
COSMICENERGY carece de capacidades de descubrimiento, lo que implica que para ejecutar con éxito un ataque, el operador de malware necesitaría realizar un reconocimiento interno para obtener información del entorno, como las direcciones IP del servidor MSSQL, las credenciales de MSSQL y las direcciones IP del dispositivo IEC-104 de destino. La muestra de LIGHTWORK que obtuvimos incluye ocho direcciones de objetos de información (IOA) IEC-104 codificadas, que normalmente se correlacionan con elementos de datos de entrada o salida en un dispositivo y pueden corresponder a interruptores de línea de alimentación o disyuntores en una RTU o configuración de relé. Sin embargo, las asignaciones de IOA a menudo difieren entre fabricantes, dispositivos e incluso entornos. Por esta razón, las acciones particulares previstas por el actor no están claras sin un mayor conocimiento sobre los activos objetivo.
Durante nuestro análisis de COSMICENERGY, identificamos un comentario en el código que indicaba que la muestra usa un módulo asociado con un proyecto llamado "Solar Polygon" (Figura 2). Buscamos la cadena única e identificamos una única coincidencia con un rango cibernético (también conocido como polígono) desarrollado por Rostelecom-Solar, una empresa rusa de seguridad cibernética que recibió un subsidio del gobierno en 2019 para comenzar a capacitar a expertos en seguridad cibernética y realizar interrupciones y emergencias de energía eléctrica. ejercicios de respuesta
Aunque no hemos identificado suficiente evidencia para determinar el origen o el propósito de COSMICENERGY, creemos que el malware posiblemente fue desarrollado por Rostelecom-Solar o una parte asociada para recrear escenarios de ataque reales contra los activos de la red de energía. Es posible que el malware se haya utilizado para respaldar ejercicios como los organizados por Rostelecom-Solar en 2021 en colaboración con el Ministerio de Energía de Rusia o en 2022 para el Foro Económico Internacional de San Petersburgo (SPIEF).
Sin embargo, dada la falta de evidencia concluyente, también consideramos posible que un actor diferente, con o sin permiso, reutilice el código asociado con la gama cibernética para desarrollar este malware. Los actores de amenazas se adaptan y utilizan regularmente las herramientas del equipo rojo, como los marcos de explotación comerciales y disponibles públicamente, para facilitar los ataques del mundo real, como el uso de METERPRETER por parte de TEMP.Veles durante el ataque TRITON. También hay muchos ejemplos de actores de estados-nación que aprovechan a los contratistas para desarrollar capacidades ofensivas, como se muestra más recientemente en los contratos entre el Ministerio de Defensa de Rusia y NTC Vulkan. Estas observaciones dejan abierta la posibilidad de que COSMICENERGY se haya desarrollado con intenciones maliciosas y, como mínimo, que pueda usarse para respaldar actividades de amenazas específicas en la naturaleza.
Aunque COSMICENERGY no se superpone directamente con ninguna familia de malware observada anteriormente, sus capacidades son comparables a las empleadas en incidentes y malware anteriores. Las similitudes más significativas que identificamos son con INDUSTROYER e INDUSTROYER.V2, que eran variantes de malware implementadas en el pasado para afectar la transmisión y distribución de electricidad. COSMICENERGY también tiene similitudes técnicas notables con otras familias de malware OT que se han desarrollado o empaquetado con Python o que han utilizado bibliotecas de código abierto para la implementación del protocolo OT, incluidos IRONGATE, TRITON e INCONTROLLER. Más análisis de estas similitudes están disponibles a través de Mandiant Advantage.
Con respecto a estas similitudes, destacamos las siguientes tendencias que podrían manifestarse en el futuro malware OT:
Si bien las capacidades de COSMICENERGY no son significativamente diferentes de las familias de malware de OT anteriores, su descubrimiento destaca varios desarrollos notables en el panorama de amenazas de OT. En primer lugar, el descubrimiento de nuevo malware OT presenta una amenaza inmediata para las organizaciones afectadas, ya que estos descubrimientos son raros y porque el malware se aprovecha principalmente de las características de diseño inseguras de los entornos OT que es poco probable que se solucionen en el corto plazo. En segundo lugar, dado que COSMICENERGY se desarrolló potencialmente como parte de un equipo rojo, este descubrimiento sugiere que las barreras de entrada se están reduciendo para la actividad de amenazas ofensivas de OT, ya que normalmente observamos este tipo de capacidades limitadas a actores con buenos recursos o patrocinados por el estado. Por último, enfatizamos que, aunque las muestras de COSMICENERGY que obtuvimos están potencialmente relacionadas con el equipo rojo, los actores de amenazas regularmente aprovechan los contratistas y las herramientas del equipo rojo en la actividad de amenazas del mundo real, incluso durante los ataques OT.
Por estas razones, los defensores de OT y los propietarios de activos deben tomar medidas de mitigación contra COSMICENERGY para adelantarse a la implementación salvaje y comprender mejor las características y capacidades comunes que se implementan con frecuencia en el malware de OT. Dicho conocimiento puede ser útil cuando se realizan ejercicios de búsqueda de amenazas y se implementan detecciones para identificar actividades maliciosas dentro de los entornos de OT.
Si necesita ayuda para responder a una actividad relacionada, comuníquese con Mandiant Consulting. El análisis adicional de COSMICENERGY está disponible como parte de Mandiant Advantage Threat Intelligence.
Brindamos a las organizaciones en riesgo los siguientes métodos de descubrimiento para realizar búsquedas de amenazas para tácticas, técnicas y procedimientos (TTP) implementados derivados del conjunto de herramientas:
Nombre del archivo
Descripción
Picadillo
r3_iec104_control.exe
Ejecutable PIEHOP PyInstaller
MD5: cd8f394652db3d0376ba24a990403d20
SHA1: bc07686b422aa0dd01c87ccf557863ee62f6a435
SHA256: 358f0f8c23acea82c5f75d6a2de37b6bea7785ed0e32c41109c217c48bf16010
r3_iec104_control
PIEHOP Python punto de entrada de bytecode compilado
MD5: f716b30fc3d71d5e8678cc6b81811db4
SHA1: e91e4df49afa628fba1691b7c668af64ed6b0e1d
SHA256: 7dc25602983f7c5c3c4e81eeb1f2426587b6c1dc6627f20d51007beac840ea2b
r3_iec104_control.py
Script de Python de punto de entrada PIEHOP descompilado
MD5: c018c54eff8fd0b9be50b5d419d80f21
SHA1: 4d7c4bc20e8c392ede2cb0cef787fe007265973b
SHA256: 8933477e82202de97fb41f4cbbe6af32596cec70b5b47da022046981c01506a7
iec104_mssql_lib.pyc
Código de bytes compilado de PIEHOP Python
MD5: adfa40d44a58e1bc909abca444f7f616
SHA1: a9b5b16769f604947b9d8262841aa3082f7d71a2
SHA256: 182d6f5821a04028fe4b603984b4d33574b7824105142b722e318717a688969e
iec104_mssql_lib.py
Secuencia de comandos PIEHOP Python descompilada
MD5: 2b86adb6afdfa9216ef8ec2ff4fd2558
SHA1: 20c9c04a6f8b95d2f0ce596dac226d56be519571
SHA256: 90d96bb2aa2414a0262d38cc805122776a9405efece70beeebf3f0bcfc364c2d
OT_T855_IEC104_GR.exe
Ejecutable LIGHTWORK
MD5: 7b6678a1c0000344f4faf975c0cfc43d
SHA1: 6eceb78acd1066294d72fe86ed57bf43bc6de6eb
SHA256: 740e0d2fba550308344b2fb0e5ecfebdd09329bdcfaa909d3357ad4fe5552532
PIEHOP (nombre de archivo: r3_iec104_control.exe) (MD5: cd8f394652db3d0376ba24a990403d20) es una herramienta de interrupción escrita en Python y empaquetada con PyInstaller versión 2.1+ que tiene la capacidad de conectarse a un servidor MSSQL remoto proporcionado por el usuario para cargar archivos y emitir comandos remotos a una RTU .
PIEHOP espera que su función principal sea llamada a través de otro archivo de Python, proporcionando el argumento control=True o upload=True. Como mínimo, requiere los siguientes argumentos: oik, usuario y pwd, y si se llama con control=True, también se debe suministrar con iec104:
En la muestra analizada, el punto de entrada de PIEHOP c018c54eff8fd0b9be50b5d419d80f21 (r3_iec104_control.py) llama a la función principal de PIEHOP, proporcionando el argumento control=True. El archivo c018c54eff8fd0b9be50b5d419d80f21 (r3_iec104_control.py) importa el módulo "iec104_mssql_lib", que se encuentra dentro de los contenidos extraídos como adfa40d44a58e1bc909abca444f7f616 (iec104_mssql_lib.pyc):
2b86adb6afdfa9216ef8ec2ff4fd2558 (iec104_mssql_lib.py) implementa las capacidades principales de PIEHOP y contiene muchos comentarios proporcionados por los desarrolladores para el código incluido. En particular, la función principal contiene fallas lógicas que hacen que solo pueda conectarse a un servidor MSSQL y cargar OT_T855_IEC104_GR.exe (LIGHTWORK), antes de intentar limpiarse de inmediato.
Si se implementa correctamente, PIEHOP puede conectarse a un servidor MSSQL remoto proporcionado por el usuario para cargar LIGHTWORK y emitir comandos remotos dirigidos específicamente a RTU, y luego eliminarse. PIEHOP utiliza LIGHTWORK para ejecutar los comandos IEC-104 "ON" o "OFF" en el sistema remoto e inmediatamente elimina el ejecutable después de emitir los comandos.
LIGHTWORK (nombre de archivo: OT_T855_IEC104_GR.exe) (MD5: 7b6678a1c0000344f4faf975c0cfc43d) es una herramienta de interrupción escrita en C++ que implementa el protocolo IEC-104 para modificar el estado de las RTU sobre TCP. Crea mensajes ASDU IEC-104 configurables para cambiar el estado de los IOA RTU a ON u OFF. Esta muestra funciona en conjunto con PIEHOP, que configura la ejecución. LIGHTWORK toma los siguientes argumentos de línea de comando posicionales:
Tras la ejecución, LIGHTWORK comienza enviando un "C_IC_NA_1 – comando de interrogación de estación" a la estación de destino especificada para recuperar el estado de la estación de destino. A continuación, envía un "C_SC_NA_1: comando único" a cada IOA codificado para modificar el estado del IOA de la estación de destino (APAGADO o ENCENDIDO). Por último, envía un solo "C_CS_NA_1 – comando de sincronización del reloj" a la estación de destino, que sincroniza el reloj de la estación remota con el reloj del dispositivo que emite los comandos.
Si se ejecuta con éxito, LIGHTWORK proporciona al operador la siguiente salida de línea de comandos:
regla M_Hunting_PyInstaller_PIEHOP_Module_Strings
{
meta:
autor = "Mandiante"
fecha = "2023-04-11"
description = "Buscando archivos de PyInstaller con un script/módulo personalizado de Python asociado con PIEHOP".
instrumentos de cuerda:
$lib = "iec104_mssql_lib" ascii
condición:
uint16(0) == 0x5A4D y uint32(uint32(0x3C)) == 0x00004550 y
$lib
}
regla M_Hunting_Disrupt_LIGHTWORK_Strings
{
meta:
autor = "Mandiante"
description = "Buscando cadenas asociadas con IEC-104 utilizadas en LIGHTWORK".
fecha = "2023-04-19"
instrumentos de cuerda:
$s1 = "Conectando a: %s:%i\n" ancho ascii sin mayúsculas y minúsculas
$s2 = "¡Conectado!" ascii de ancho sin mayúsculas y minúsculas
$s3 = "Enviar comando de control C_SC_NA_1" ascii wide nocase
$s4 = "¡Falló la conexión!" ascii de ancho sin mayúsculas y minúsculas
$s5 = "Comando de sincronización de tiempo de envío" ascii wide nocase
$s6 = "Espera..." ascii ancho sin mayúsculas y minúsculas
$s7 = "salir 0" ancho ascii sin mayúsculas y minúsculas
condición:
tamaño de archivo < 5 MB y
uint16(0) == 0x5A4D y uint32(uint32(0x3C)) == 0x00004550 y
todos ellos
}
T1140: Desofuscar/Decodificar archivos o información
Los adversarios pueden usar archivos o información ofuscados para ocultar artefactos de una intrusión del análisis. Pueden requerir mecanismos separados para decodificar o desocultar esa información dependiendo de cómo pretendan usarla. Los métodos para hacerlo incluyen la funcionalidad integrada de malware o mediante el uso de utilidades presentes en el sistema.
T0807: interfaz de línea de comandos
Los adversarios pueden utilizar interfaces de línea de comandos (CLI) para interactuar con los sistemas y ejecutar comandos. Las CLI proporcionan un medio para interactuar con los sistemas informáticos y son una característica común en muchos tipos de plataformas y dispositivos dentro de los entornos de sistemas de control. Los adversarios también pueden usar CLI para instalar y ejecutar software nuevo, incluidas herramientas maliciosas que pueden instalarse en el transcurso de una operación.
T0809: Destrucción de datos
Los adversarios pueden realizar la destrucción de datos en el transcurso de una operación. El adversario puede colocar o crear malware, herramientas u otros archivos no nativos en un sistema de destino para lograr esto, lo que podría dejar rastros de actividades maliciosas. Dichos archivos no nativos y otros datos pueden eliminarse en el transcurso de una intrusión para mantener una huella pequeña o como parte estándar del proceso de limpieza posterior a la intrusión.
T0831: Manipulación de Control
Los adversarios pueden manipular el control de procesos físicos dentro del entorno industrial. Los métodos de manipulación del control pueden incluir cambios en los valores de puntos de ajuste, etiquetas u otros parámetros. Los adversarios pueden manipular los dispositivos de los sistemas de control o posiblemente aprovechar los suyos propios para comunicarse con los procesos de control físico y comandarlos. La duración de la manipulación puede ser temporal o prolongada, según la detección del operador.
T0855: Mensaje de comando no autorizado
Los adversarios pueden enviar mensajes de comando no autorizados para instruir a los activos del sistema de control para que realicen acciones fuera de su funcionalidad prevista, o sin las condiciones previas lógicas para activar su función esperada. Los mensajes de comando se utilizan en las redes ICS para dar instrucciones directas a los dispositivos de los sistemas de control. Si un adversario puede enviar un mensaje de comando no autorizado a un sistema de control, entonces puede indicarle al dispositivo de sistemas de control que realice una acción fuera de los límites normales de las acciones del dispositivo. Un adversario podría potencialmente instruir a un dispositivo de sistemas de control para que realice una acción que cause un Impacto
Enlace a fuente RSS
Los expertos de Mandiant están listos para responder a sus preguntas.
Nombre de archivo Descripción Hash MD5 SHA1 SHA256 MD5 SHA1 SHA256 MD5 SHA1 SHA256 MD5 SHA1 SHA256 MD5 SHA1 SHA256 MD5 SHA1 SHA256