Worok: el panorama general PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Trabajo: el panorama general

Centrado principalmente en Asia, este nuevo grupo de ciberespionaje utiliza herramientas no documentadas, incluida la extracción esteganográfica de cargas útiles de PowerShell de archivos PNG.

Los investigadores de ESET encontraron recientemente ataques dirigidos que utilizaron herramientas no documentadas contra varias empresas de alto perfil y gobiernos locales, principalmente en Asia. Estos ataques fueron realizados por un grupo de espionaje previamente desconocido que hemos llamado Worok y que ha estado activo desde al menos 2020. El conjunto de herramientas de Worok incluye un cargador CLRLoad de C++, un PowHeartBeat de puerta trasera de PowerShell y un cargador PNGLoad de C# que usa esteganografía para extraer información maliciosa oculta. cargas útiles de archivos PNG.

¿Quién es Workok?

Durante el ProxyShell (CVE-2021-34523) divulgación de vulnerabilidades a principios de 2021, observamos actividad de varios grupos APT. Uno exhibía características comunes con TA428:

  • Horarios de actividad
  • Verticales objetivo
  • Uso de ShadowPad

El resto del conjunto de herramientas es muy diferente: por ejemplo, TA428 participó en el Compromiso de escritorio capaz en 2020. Consideramos que los vínculos no son lo suficientemente fuertes como para considerar a Worok como el mismo grupo que TA428, pero los dos grupos pueden compartir herramientas y tener intereses comunes. Decidimos crear un clúster y lo llamamos Worok. El nombre fue elegido después de un mutex en un cargador utilizado por el grupo. Luego se vinculó a este grupo más actividad con variantes de las mismas herramientas. Según la telemetría de ESET, Worok ha estado activo desde fines de 2020 y continúa activo al momento de escribir este artículo.

A fines de 2020, Worok estaba apuntando a gobiernos y empresas en varios países, específicamente:

  • Una empresa de telecomunicaciones en el este de Asia
  • Un banco en Asia Central
  • Una empresa de la industria marítima en el sudeste asiático
  • Una entidad gubernamental en el Medio Oriente
  • Una empresa privada en el sur de África

Hubo una interrupción significativa en las operaciones observadas de 2021-05 a 2022-01, pero la actividad de Worok regresó en 2022-02, con el objetivo de:

  • Una empresa de energía en Asia Central
  • Una entidad del sector público en el sudeste asiático

La Figura 1 presenta un mapa de calor visual de las regiones y verticales objetivo.

Figura 1. Mapa de las regiones y verticales objetivo

Teniendo en cuenta los perfiles de los objetivos y las herramientas que hemos visto desplegadas contra estas víctimas, creemos que el objetivo principal de Worok es robar información.

El análisis técnico

Si bien se desconoce la mayoría de los accesos iniciales, en algunos casos hasta 2021 y 2022 hemos visto exploits utilizados contra las vulnerabilidades de ProxyShell. En tales casos, normalmente se cargan webshells después de explotar estas vulnerabilidades, para proporcionar persistencia en la red de la víctima. Luego, los operadores utilizaron varios implantes para obtener más capacidades.

Una vez que se obtuvo el acceso, los operadores desplegaron múltiples herramientas disponibles públicamente para el reconocimiento, incluyendo Mimikatz, Lombriz, ReGeorgy NBTscany luego implementaron sus implantes personalizados: un cargador de primera etapa, seguido de un cargador de .NET de segunda etapa (PNGLoad). Desafortunadamente, no hemos podido recuperar ninguna de las cargas útiles finales. En 2021, el cargador de primera etapa era un ensamblaje CLR (CLRLoad), mientras que en 2022 se reemplazó, en la mayoría de los casos, por una puerta trasera de PowerShell con todas las funciones (PowHeartBeat); ambas cadenas de ejecución se muestran en la Figura 2. Estos tres Las herramientas se describen en detalle en las siguientes subsecciones.

Worok: el panorama general PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Figura 2. Cadenas de compromiso de trabajo

CLRLoad: cargador de ensamblaje CLR

CLRLoad es un Windows PE genérico que hemos visto en versiones de 32 y 64 bits. Es un cargador escrito en C++ que carga la siguiente etapa (PNGLoad), que debe ser un Ensamblado de Common Language Runtime (CLR) archivo DLL. Ese código se carga desde un archivo ubicado en el disco en un directorio legítimo, presumiblemente para engañar a las víctimas o al personal de respuesta a incidentes haciéndoles creer que es un software legítimo.

Algunas muestras de CLRLoad comienzan descodificando la ruta completa del archivo cuyo contenido cargarán en la siguiente etapa. Estas rutas de archivo están codificadas con un XOR de un solo byte, con una clave diferente en cada muestra. Decodificadas o en texto claro, estas rutas de archivo son absolutas, siendo las siguientes las que hemos encontrado:

  • C:Archivos de programaVMwareHerramientas de VMwareVMware VGAuthxsec_1_5.dll
  • C:Archivos de programaUltraViewermsvbvm80.dll
  • C:Archivos de programaInternet ExplorerJsprofile.dll
  • C:Archivos de programaWinRarRarExtMgt.dll
  • C:Archivos de programa (x86)Foxit SoftwareFoxit Readerlucenelib.dll

A continuación, se crea un mutex y hemos visto un nombre diferente en cada muestra. El cargador comprueba este mutex; si lo encuentra, sale, porque el cargador ya se está ejecutando. En una de las muestras, el mutex Wo0r0KGWhYGO se encontró, lo que le dio al grupo su nombre de Worok.

CLRLoad luego carga un ensamblado CLR desde la ruta del archivo posiblemente decodificado. Como código no administrado, CLRLoad logra esto a través de CorBindToRuntimeEx Llamadas a la API de Windows en variantes de 32 bits, o CLRCreateInstancia llamadas en variantes de 64 bits.

PowHeartBeat: puerta trasera de PowerShell

PowHeartBeat es una puerta trasera con todas las funciones escrita en PowerShell, ofuscada mediante varias técnicas, como compresión, codificación y cifrado. Según la telemetría de ESET, creemos que PowHeartBeat reemplazó a CLRLoad en campañas más recientes de Worok como la herramienta utilizada para lanzar PNGLoad.

La primera capa del código de puerta trasera consta de varios fragmentos de código PowerShell codificado en base64. Una vez que se reconstruye la carga útil, se ejecuta a través de IEX. Una vez decodificado, se ejecuta otra capa de código ofuscado, que podemos ver en la Figura 3.

Worok: el panorama general PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Figura 3. Extracto de la función principal decodificada de la segunda capa de PowHeartBeat

La segunda capa de la primera puerta trasera base64 decodifica la siguiente capa de su código, que luego se descifra con DES triple (modo CBC). Después del descifrado, este código se descomprime usando el gzip algoritmo, dando así la tercera capa de código de PowerShell, que es la puerta trasera real. Se divide en dos partes principales: configuración y manejo de comandos de puerta trasera.

La capa principal del código de puerta trasera también está escrita en PowerShell y usa HTTP o ICMP para comunicarse con el servidor C&C. Funciona como se muestra en la Figura 4.

Worok: el panorama general PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Figura 4. Funcionamiento de PowHeartBeat

Configuración

La configuración contiene varios campos, incluido el número de versión, la configuración de proxy opcional y la dirección de C&C. La Tabla 1 describe los significados de los campos de configuración en las diferentes versiones que hemos observado.

Tabla 1. Significados de los campos de configuración

Nombre del campo Descripción
nouse/ikuyrtydyfg
(otras muestras)
No usado.
Identificación del cliente Identificador del cliente, utilizado para los siguientes fines:
· Como valor a la hora de construir el Encabezado de cookie para comunicaciones C&C.
· Como artefacto criptográfico para el cifrado de datos enviados.
Versión Número de versión de PowHeartBeat.
Tiempos ejecutivos Número de intentos de ejecución permitidos al emitir un EjecutarCmd (comando en ejecución) comando.
Agente de usuario Agente de usuario utilizado para las comunicaciones de C&C.
árbitro árbitro encabezado utilizado para las comunicaciones de C&C.
AceptarCodificación No usado.
ID de cliente de cookie
ID de tarea de cookie
ID de terminal de cookie
Valores utilizados para construir el Cookies encabezado para comunicaciones C&C.
URLHttps Protocolo a utilizar para las comunicaciones de C&C.
UrlDominio
Dirección IP
dominios
URL, dominio(s) o dirección IP utilizada como servidor C&C. Si dominios no está vacío, se elige en lugar de Dirección IP. En otros casos, Dirección IP se toma.
UrlEnviarLatido Del Corazón Ruta URL utilizada cuando la puerta trasera solicita comandos al servidor C&C.
UrlEnviarResultado Ruta URL utilizada cuando la puerta trasera envía los resultados del comando al servidor C&C.
Obtener URL URL completa, utilizada por PowHeartBeat para solicitar comandos del servidor C&C. Es la concatenación de los elementos URL anteriores.
Poner URL Igual que Obtener URL pero se usa para enviar los resultados del comando al servidor C&C.
trayectoria de corriente No usado.
Bandera de habilitación de proxy Indicador que indica si el backdoor debe usar un proxy o no para comunicarse con el servidor C&C.
Proxymsg Dirección del proxy a utilizar si Bandera de habilitación de proxy se establece a $ verdadero.
Intervalo Tiempo en segundos que el script duerme entre solicitudes GET.
Ruta de configuración básica Ruta a un archivo de configuración opcional que contiene Hasta la hora, Falta del tiempo, Intervalo predeterminadoy dominios. Esos valores se anularán si el archivo está presente.
Hasta la hora Hora del día a partir de la cual la puerta trasera comienza a operar, lo que significa que comienza a realizar solicitudes GET al servidor de C&C.
Falta del tiempo Hora del día hasta la que puede funcionar el backdoor, es decir, la hora en que deja de realizar solicitudes al servidor de C&C.
índice de dominio Índice del nombre de dominio actual que se usará para las comunicaciones con el servidor C&C. En caso de que una solicitud devuelva un mensaje de error diferente de 304 ("No modificado"), índice de dominio está incrementado.
Llave secreta Clave utilizada para descifrar/cifrar la configuración. La configuración está encriptada con XOR de múltiples bytes.
Si registro No usado.
IfLogFilePath Bandera que indica si el registro está habilitado.
ruta de registro Ruta del archivo de registro.
archivo proxy Ruta de archivo de la configuración de proxy opcional. Si está vacío o no se encuentra en el sistema de archivos, la puerta trasera recupera la configuración del proxy del usuario del valor del registro. HKCUSoftwareMicrosoftWindowsVersión actualConfiguración de InternetProxyServer .
SiConfig Indicador que indica si se debe utilizar un archivo de configuración.

La Figura 5 muestra un ejemplo de la configuración extraída de una muestra de PowHeartBeat (SHA-1: 757ABA12D04FD1167528FDD107A441D11CD8C427).

Figura 5. Ejemplo de configuración

Cifrado de datos

PowHeartBeat cifra los registros y el contenido adicional del archivo de configuración.

El contenido del archivo de registro se cifra a través de XOR de varios bytes con una clave especificada en texto no cifrado en la muestra. Curiosamente, Identificación del cliente se utiliza como sal para el índice en la matriz de claves. La clave es una matriz de 256 bytes, que era idéntica en cada muestra que encontramos. El contenido del archivo de configuración adicional se cifra a través de XOR de varios bytes con el valor de Llave secreta como su clave.

Comunicaciones C&C

PowHeartBeat usó HTTP para las comunicaciones de C&C hasta la versión 2.4 y luego cambió a ICMP. En ambos casos la comunicación no está encriptada.

HTTP

En un ciclo infinito, la puerta trasera envía una solicitud GET al servidor C&C, solicitando un comando para emitir. La puerta trasera descifra la respuesta cifrada, que procesa el comando y escribe la salida del comando en un archivo cuyo contenido se envía al servidor C&C a través de una solicitud POST.

El formato de las solicitudes GET es el siguiente:

Tenga en cuenta que la solicitud se crea utilizando los campos de configuración del mismo nombre.

En la respuesta del servidor C&C, el tercer byte del contenido es el identificador de comando que indica el comando que debe procesar el backdoor. lo llamaremos comando_id. El contenido restante de la respuesta se pasará como argumento al comando que se procesa. Este contenido está encriptado con el algoritmo que se muestra en la Figura 6, ID de tarea siendo el valor de la cookie nombrada después ID de tarea de cookieel valor de la configuración.

Figura 6. Algoritmo de cifrado de datos de contenido de solicitudes

La respuesta del servidor C&C también contiene otra cookie, cuyo nombre es especificado por la puerta trasera. ID de terminal de cookie variable de configuración. El valor de esta cookie se repite en la solicitud POST del backdoor y no debe estar vacía. Después de ejecutar el comando de puerta trasera, PowHeartBeat envía el resultado como una solicitud POST al servidor de C&C. El resultado se envía como un archivo cuyo nombre es .png.

ICMP

A partir de la versión 2.4 de PowHeartBeat, HTTP fue reemplazado por ICMP, los paquetes enviados tenían un tiempo de espera de seis segundos y eran sin fragmentar. La comunicación a través de ICMP es probablemente una forma de evadir la detección.

No hay cambios importantes en las versiones 2.4 y posteriores, pero notamos algunas modificaciones en el código:

  • PowHeartBeat envía un paquete de latidos en cada bucle que contiene la cadena ABCDEFGHIJKLMNOPQRSTU VWXYZ, antes de solicitar un comando. Esto informa al servidor C&C que la puerta trasera está lista para recibir comandos.
  • Las solicitudes para obtener comandos realizados por la puerta trasera contienen la cadena abcdefghijklmnop.

Los paquetes Heartbeat tienen el formato descrito en la Figura 7.

Worok: el panorama general PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Figura 7. Diseño del paquete Heartbeat

La diferencia entre los Identificación del cliente y bandera del cliente es que Identificación del cliente difiere en cada muestra mientras que bandera del cliente es el mismo en todas las muestras que utilizan ICMP. bandera del latido del corazón indica que la puerta trasera está enviando un latido. La respuesta del servidor C&C tiene el formato descrito en la Figura 8.

Worok: el panorama general PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Figura 8. Diseño de respuesta del servidor C&C

bandera aquí indica si hay un comando para enviar a la puerta trasera. Las solicitudes para obtener comandos tienen el formato descrito en la Figura 9.

Worok: el panorama general PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Figura 9. Diseño de solicitudes para obtener comandos

Tenga en cuenta que el modo ICMP de la puerta trasera permite recibir una cantidad ilimitada de datos, divididos en fragmentos, y las variables longitud de datos, posición actual y longitud total se utilizan para realizar un seguimiento de los datos transmitidos. Las respuestas a estas solicitudes tienen el formato descrito en la Figura 10.

Worok: el panorama general PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Figura 10. Diseño de respuestas a solicitudes para obtener comandos

Como en las respuestas HTTP, el identificador de comando es el tercer byte de datos.

Después de siete respuestas ICMP consecutivas con contenido vacío o con formato inconsistente, las transferencias entre la puerta trasera y el servidor C&C se consideran finalizadas.

Con respecto a las solicitudes para enviar el resultado del comando emitido al servidor C&C, el modo del servidor se cambia por el modo de publicación y la cadena final (abcdefghijklmnop) se cambia por los datos de resultado.

Comandos de puerta trasera

PowHeartBeat tiene varias capacidades, incluida la ejecución de comandos/procesos y la manipulación de archivos. La Tabla 2 enumera todos los comandos admitidos por las diversas muestras analizadas.

Tabla 2. Descripciones de los comandos de PowHeartBeat

Nombre Identificador de comando Descripción
Cmd 0x02 Ejecute un comando de PowerShell.
Exe 0x04 Ejecutar un comando como un .
Subir archivo 0x06 Sube un archivo a la máquina de la víctima. El contenido del archivo está comprimido con gzip.
Descarga de archivos 0x08 Descargue un archivo de la máquina de la víctima y devuelva la ruta del archivo, la longitud del archivo, el tiempo de creación, los tiempos de acceso y el contenido del archivo al servidor de C&C.
vista de archivo 0x0A Obtener información de archivo de un directorio específico, en particular:
· Nombres de archivo
· Atributos de archivo
· Últimos tiempos de escritura
· Contenido del archivo
Archivo Eliminar 0x0C Eliminar un archivo.
Renombrar archivo 0x0E Cambiar el nombre o mover un archivo.
CambiarDir 0x10 Cambie la ubicación de trabajo actual de la puerta trasera.
Info 0x12 Obtenga una categoría de información de acuerdo con el argumento especificado:
· "Información básica": Identificación del cliente, Versión, nombre de host, direcciones IP, explorer.exe información de versión y tamaño, sistema operativo (arquitectura y bandera que indica si la máquina es un servidor), Intervalo, directorio actual, información de la unidad (nombre, tipo, espacio libre y tamaño total), hora actual
· “Información de Intervalo de Tiempo”: Intervalo y hora actual
· “Información de dominio”: contenido del archivo de configuración descifrado
Config 0x14 Actualice el contenido del archivo de configuración y vuelva a cargar la configuración.
N/A 0x63 Salida de puerta trasera.

En caso de errores en el lado de la puerta trasera, la puerta trasera utiliza un identificador de comando específico 0x00 en la solicitud POST al servidor C&C, lo que indica que ocurrió un error.

Tenga en cuenta que antes de enviar la información al servidor de C&C, los datos se comprimen con gzip.

PNGLoad: cargador esteganográfico

PNGLoad es la carga útil de segunda etapa implementada por Worok en sistemas comprometidos y, según la telemetría de ESET, cargada por CLRLoad o PowHeartBeat. Si bien no vemos ningún código en PowHeartBeat que cargue directamente PNGLoad, la puerta trasera tiene la capacidad de descargar y ejecutar cargas útiles adicionales desde el servidor C&C, que es probablemente la forma en que los atacantes han implementado PNGLoad en sistemas comprometidos con PowHeartBeat. PNGLoad es un cargador que usa bytes de archivos PNG para crear una carga útil para ejecutar. Es un ejecutable .NET de 64 bits, ofuscado con Reactor .NET – que se hace pasar por software legítimo. Por ejemplo, la Figura 11 muestra los encabezados CLR de una muestra que se hace pasar por una DLL de WinRAR.

Worok: el panorama general PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Figura 11. Ejemplo de una DLL WinRAR falsa

Una vez desofuscado, solo una clase está presente. En esta clase hay un ruta principal atributo que contiene la ruta del directorio que busca la puerta trasera, incluidos sus subdirectorios, para archivos con un .png extensión, como se muestra en la Figura 12.

Worok: el panorama general PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Figura 12. .png listado de archivos

Cada .png archivo localizado por esta búsqueda de ruta principal luego se verifica el contenido incrustado esteganográficamente. Primero, el bit menos significativo de los valores R (rojo), G (verde), B (azul) y A (alfa) de cada píxel se obtiene y ensambla en un búfer. Si los primeros ocho bytes de ese búfer coinciden con el número mágico que se ve en la Figura 13 y el siguiente valor de ocho bytes, control, no es nulo, el archivo pasa la verificación de contenido esteganográfico de PNGLoad. Para dichos archivos, el procesamiento continúa con el resto del búfer descifrado con un XOR de múltiples bytes, utilizando la clave almacenada en PNGLoad. Bytes de clave secreta atributo, y luego el búfer descifrado se descomprime con gzip. Se espera que el resultado sea un script de PowerShell, que se ejecuta inmediatamente.

Worok: el panorama general PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Figura 13. Formato del búfer que PNGLoad crea a partir del procesamiento .png archivos

Curiosamente, las operaciones realizadas por PNGLoad se registran en un archivo cuya ruta se almacena en la variable Ruta del archivo de registro. Las operaciones solo se registran si hay un archivo presente cuya ruta está especificada por la variable interna IfLogFilePath.

No hemos podido obtener una muestra. .png utilizado junto con PNGLoad, pero la forma en que opera PNGLoad sugiere que debería funcionar con archivos PNG válidos. Para ocultar la carga útil maliciosa, Worok usa objetos de mapa de bits en C#, que solo toman información de píxeles de los archivos, no los metadatos del archivo. Esto significa que Worok puede ocultar sus cargas maliciosas en imágenes PNG válidas de aspecto inocuo y, por lo tanto, ocultarse a simple vista.

Conclusión

Worok es un grupo de ciberespionaje que desarrolla sus propias herramientas, además de aprovechar las herramientas existentes, para comprometer sus objetivos. Robar información de sus víctimas es lo que creemos que buscan los operadores porque se enfocan en entidades de alto perfil en Asia y África, apuntando a varios sectores, tanto privados como públicos, pero con un énfasis específico en entidades gubernamentales. Los tiempos de actividad y el conjunto de herramientas indican posibles vínculos con TA428, pero hacemos esta evaluación con poca confianza. Su conjunto de herramientas personalizado incluye dos cargadores, uno en C++ y otro en C# .NET, y una puerta trasera de PowerShell. Si bien nuestra visibilidad es limitada, esperamos que arrojar luz sobre este grupo anime a otros investigadores a compartir información sobre este grupo.

Para cualquier consulta sobre nuestra investigación publicada en WeLiveSecurity, contáctenos en amenazaintel@eset.com.

ESET Research ahora también ofrece fuentes de datos e informes de inteligencia APT privados. Para cualquier consulta sobre este servicio, visite el Inteligencia de amenazas de ESET .

IOCs

archivos

SHA-1 Nombre del archivo Nombre de detección de ESET Comentario
3A47185D0735CDECF4C7C2299EB18401BFB328D5 guión PowerShell/PowHeartBeat.B PowHeartBeat 2.4.3.0003.
27ABB54A858AD1C1FF2863913BDA698D184E180D guión PowerShell/PowHeartBeat.A PowHeartBeat 2.4.3.0003.
678A131A9E932B9436241402D9727AA7D06A87E3 guión PowerShell/PowHeartBeat.B PowHeartBeat 2.4.3.0003.
757ABA12D04FD1167528FDD107A441D11CD8C427 guión PowerShell/PowHeartBeat.B PowHeartBeat 2.1.3.0003.
54700A48D934676FC698675B4CA5F712C0373188 guión PowerShell/PowHeartBeat.A PowHeartBeat 1.1.3.0002.
C2F53C138CB1B87D8FC9253A7088DB30B25389AF guión PowerShell/PowHeartBeat.A PowHeartBeat 1.1.3.0002.
C2F1954DE11F72A46A4E823DE767210A3743B205 tmp.ps1 PowerShell/PowHeartBeat.B PowHeartBeat 2.4.3.0004.
CE430A27DF87A6952D732B4562A7C23BEF4602D1 tmp.ps1 PowerShell/PowHeartBeat.A PowHeartBeat 2.1.3.0004.
EDE5AB2B94BA85F28D5EE22656958E4ECD77B6FF guión PowerShell/PowHeartBeat.A PowHeartBeat 2.4.3.0003.
4721EEBA13535D1EE98654EFCE6B43B778F13126 vix64.dll MSIL/PNGLoader.A Cargador PNG.
728A6CB7A150141B4250659CF853F39BFDB7A46C RarExtMgt.dll MSIL/PNGLoader.A Cargador PNG.
864E55749D28036704B6EA66555A86527E02AF4A Jsprofile.dll MSIL/PNGLoader.A Cargador PNG.
8DA6387F30C584B5FD3694A99EC066784209CA4C vssxml.dll MSIL/PNGLoader.A Cargador PNG.
AA60FB4293530FBFF00D200C0D44EEB1A17B1C76 xsec_1_5.dll MSIL/PNGLoader.A Cargador PNG.
B2EAEC695DD8BB518C7E24C4F37A08344D6975BE msvbvm80.dll MSIL/PNGLoader.A Cargador PNG.
CDB6B1CAFEE098615508F107814179DEAED1EBCF lucenelib.dll MSIL/PNGLoader.A Cargador PNG.
4F9A43E6CF37FF20AE96E564C93898FDA6787F7D vsstrace.dll Win64/CRLLoad.C CLRCargar.
F181E87B0CD6AA4575FD51B9F868CA7B27240610 crypt.dll Win32/CLRCargar.A CLRCargar.
4CCF0386BDE80C339EFE0CC734CB497E0B08049C crypt.dll Win32/CLRCargar.A CLRCargar.
5CFC0D776AF023DCFE8EDED5CADA03C6D7F9C244 wlbsctrl.dll Win64/CRLLoad.E CLRCargar.
05F19EBF6D46576144276090CC113C6AB8CCEC08 wlbsctrl.dll Win32/CLRCargar.A CLRCargar.
A5D548543D3C3037DA67DC0DA47214B2C2B15864 secur32.dll Win64/CLRCargar.H CLRCargar.
CBF42DCAF579AF7E6055237E524C0F30507090F3 dbghelp.dll Win64/CRLLoad.C CLRCargar.

Rutas de archivos

Algunos de los ruta principal, Ruta del archivo de registro y IfLogFilePath valores que encontramos en las muestras de PNGLoad:

ruta principal Ruta del archivo de registro IfLogFilePath
C:Archivos de programaVMwareHerramientas de VMware C:Archivos de programaVMwareHerramientas de VMwareVMware VGAuthreadme.txt C:Archivos de programaVMwareHerramientas de VMwareVMware VGAuthVMWSU_V1_1.dll
C:Archivos de programaWinRar C:Archivos de programaWinRarrarinstall.log C:Archivos de programaWinRardes.dat
C:Archivos de programaUltraViewer C:Archivos de programaUltraViewer‌CopyRights.dat C:Archivos de programaUltraVieweruvcr.dll

Nuestra red

Dominio IP
Ninguna 118.193.78[.]22
Ninguna 118.193.78[.]57
avión.comerciales-de-viajes[.]agencia 5.183.101[.]9
central.suhypercloud[.]org 45.77.36[.]243

mutexes

En las muestras de CLRLoad, los nombres mutex que encontramos son:

aB82UduGX0EX
ad8TbUIZl5Ga
Mr2PJVxbIBD4
oERiQtKLgPgK
U37uxsCsA4Xm
Wo0r0KGWhYGO
xBUjQR2vxYTz
zYCLBWekRX3t
3c3401ad-e77d-4142-8db5-8eb5483d7e41
9xvzMsaWqxMi

Puede encontrar una lista completa de indicadores de compromiso (IoC) y muestras en nuestro repositorio de GitHub.

Técnicas MITRE ATT & CK

Esta tabla fue construida usando Versión 11 del marco MITRE ATT & CK.

Táctica ID Nombre Descripción
Reconocimiento T1592.002 Recopilar información del anfitrión de la víctima: Software PowHeartBeat reúne explorer.exe información.
T1592.001 Recopilar información del anfitrión de la víctima: hardware PowHeartBeat recopila información sobre las unidades.
T1590.005 Recopilar información de la red de la víctima: direcciones IP PowHeartBeat recopila las direcciones IP de la computadora comprometida.
Desarrollo de recursos T1583.004 Adquirir Infraestructura: Servidor Worok utiliza sus propios servidores C&C.
T1588.002 Obtenga capacidades: herramienta Workok implementó múltiples herramientas disponibles públicamente en las máquinas comprometidas.
T1583.001 Adquirir infraestructura: dominios Worok tiene dominios registrados para facilitar la comunicación y puesta en escena de C&C.
T1588.005 Obtener capacidades: hazañas Worok ha utilizado la vulnerabilidad ProxyShell.
T1587.001 Desarrollar capacidades: malware Worok ha desarrollado su propio malware: CLRLoad, PNGLoad, PowHeartBeat.
T1587.003 Desarrollar Capacidades: Certificados Digitales Worok ha creado certificados Let's Encrypt SSL para habilitar la autenticación TLS mutua para malware.
Ejecución T1059.001 Intérprete de comandos y secuencias de comandos: PowerShell PowHeartBeat está escrito en PowerShell.
Persistencia T1505.003 Componente de software de servidor: Web Shell Workok usa el shell web ReGeorg.
Evasión de defensa T1140 Desofuscar / decodificar archivos o información Worok utiliza varios esquemas personalizados basados ​​en XOR para cifrar cadenas y registros en PowHeartBeat, PNGLoad y CLRLoad.
T1036.005 Enmascaramiento: coincide con el nombre o la ubicación legítimos Las muestras de PNGLoad se implementan en directorios de VMWare que parecen legítimos.
Acceso a credenciales T1003.001 Volcado de credenciales del sistema operativo: memoria LSASS Worok usa Mimikatz para volcar las credenciales de la memoria LSASS.
Descubrimiento de moléculas T1082 Descubrimiento de información del sistema PowHeartBeat recopila información del sistema operativo.
T1083 Descubrimiento de archivos y directorios PowHeartBeat puede enumerar archivos y directorios.
T1046 Descubrimiento de servicios de red Usos de trabajo NbtScan para obtener información de red en máquinas comprometidas.
T1124 Descubrimiento de la hora del sistema PowHeartBeat recopila la información de tiempo de la víctima.
Colecciones T1005 Datos del sistema local PowHeartBeat recopila datos del sistema local.
T1560.002 Archivar datos recopilados: Archivar a través de la biblioteca PowHeartBeat gzip comprime los datos antes de enviarlos al servidor C&C.
Comando y control T1071.001 Protocolo de capa de aplicación: protocolos web Algunas variantes de PowHeartBeat utilizan HTTP como protocolo de comunicación con el servidor C&C.
T1090.001 Proxy: Proxy interno PowHeartBeat maneja la configuración del proxy en la máquina de la víctima.
T1001.002 Ofuscación de datos: esteganografía PNGLoad extrae valores de píxeles de .png archivos para reconstruir las cargas útiles.
T1573.002 Canal cifrado: criptografía asimétrica PowHeartBeat maneja las comunicaciones HTTPS con el servidor C&C.
T1095 Protocolo de capa de no aplicación Algunas variantes de PowHeartBeat utilizan ICMP como protocolo de comunicación con el servidor C&C.
T1132.001 Codificación de datos: codificación estándar Worok utiliza la codificación XOR en PowHeartBeat y PNGLoad.
T1132.002 Codificación de datos: codificación no estándar Worok usa algoritmos de codificación XOR que hacen uso de una sal adicional.
exfiltración T1041 Exfiltración sobre canal C2 PowHeartBeat utiliza su canal de comunicación C&C para extraer información.

Worok: el panorama general PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Sello de tiempo:

Mas de Vivimos la seguridad