• Saltar al contenido principal
  • Saltar a la barra lateral principal
  • Saltar al pie de página

Una al Día

Boletín de noticias de Seguridad Informática ofrecido por Hispasec

Usted está aquí: Inicio / Malware / ShadowPad: la nueva variante del malware Winnti

ShadowPad: la nueva variante del malware Winnti

2 febrero, 2020 Por Raquel Deja un comentario

En noviembre del pasado año los investigadores de ESET descubrieron una nueva campaña de malware llevada a cabo por el Grupo Winnti, la cual tenía como objetivos varias universidades de Hong Kong. Lo que los investigadores encontraron fue una variante de la puerta trasera ShadowPad (insignia del grupo), implementada usando un nuevo sistema de inicialización (launcher), la cual contenía numerosos módulos. El malware Winnti también fue encontrado en las universidades afectadas unas semanas antes del descubrimiento de ShadowPad.

El Grupo Winnti, activo desde al menos el año 2012, es responsable por ataques en cadena de perfil alto contra industrias de videojuegos y software, habiendo causado la distribución de software infectado (como por ejemplo CCleaner, ASUS LiveUpdate y varios videojuegos) que es usado para luego comprometer a más víctimas. También se le conoce por haber comprometido a varios objetivos en los sectores de la educación y la sanidad.

ShadowPad ha sido encontrado en varias universidades en Hong Kong

Como se indicó anteriormente, en noviembre de 2019 los investigadores en ESET, mediante el uso de su tecnología de machine-learning Augur, detectaron una muestra maliciosa y única que estaba presente en numerosos ordenadores de dos universidades de Hong Kong, donde el malware Winnti ya había sido encontrado a finales de octubre de ese mismo año. La muestra maliciosa detectada por Augur es un nuevo sistema de inicialización de 32 bit. Las muestras tanto de ShadowPad como de Winnti descubiertas en estas universidades contienen identificadores de campaña y URLs de C&C con los nombres de las universidades, lo que indica que se trata de un ataque específico para estas entidades.

Además de las dos universidades comprometidas, gracias al formato usado por los atacantes para las URLs del C&C se sospecha que al menos otras tres universidades de la misma región se han visto afectadas por estas mismas variantes de ShadowPad y Winnti.

Sistema de inicialización actualizado

A diferencia de otras variantes de ShadowPad, el sistema de inicialización utilizado en este caso no se encuentra ofuscado con VMProtect. Además, el payload cifrado tampoco se encuentra dentro del código ni en un conjunto de datos alternativo como COM1:NULL.dat. Asimismo, el cifrado habitual RC5 con una clave derivada de la ID del volumen del equipo víctima tampoco está presente. En este caso el sistema de inicialización resulta ser mucho más simple.

Carga lateral de DLL

El sistema de inicialización es una DLL de 32 bit llamada hpqhvsei.dll, el cual es el nombre de una DLL legítima cargada por hpqhvind.exe. Este ejecutable es de HP y normalmente es instalado con su software de impresión y escaneo llamado «HP Digital Imaging». En este caso el ejecutable legítimo hpqhvind.exe fue lanzado por los atacantes junto a la DLL maliciosa hpqhvsei.dll en la ruta C:\Windows\Temp.

La presencia de estos archivos, según ESET, podrían indicar que la ejecución inicial de este sistema de inicialización se hace mediante la carga lateral de DLL. Cuando la DLL maliciosa se carga al inicio de hpqhvind.exe, se llama a la función DLLMain y se comprueba el proceso padre para la siguiente secuencia de bytes en el offset 0x10BA:

85 C0 ; test eax, eax
0F 84 ; jz

En el caso en el que el proceso padre es hpqhvind.exe, esta secuencia de bytes está presente en ese mismo lugar y la DLL maliciosa procederá a parchear el proceso padre en la memoria. Se reemplazan así las instrucciones originales en 0x10BA con un salto incondicional (jmp – 0xE9) hacia el lugar donde se encuentra la función de hpqhvsei.dll que descifra y ejecuta el payload cifrado incluido en el sistema de inicialización.

La función descompilada responsable de parchear el proceso padre se muestra en la siguiente figura. Si hpqhvsei.dll es cargado por un proceso diferente a hpqhvind.exe, el código malicioso no será descifrado ni ejecutado.

Figura 1: Función responsable de parchear el proceso padre descompilada
Fuente: WeLiveSecurity

La diferencia entre el ejecutable hpqhvind.exe original y parcheado se muestra a continuación en la Figura 2.

Figura 2: Diferencia entre el proceso hpqhvind.exe original (izquierda) y parcheado (derecha)
Fuente: WeLiveSecurity

La parte del código que es parcheada se encuentra al principio de la función principal de hpqhvind.exe. Como se observa en la Figura 2, el código parcheado se encuentra justo después de que se produzca la carga de hpqhvsei.dll. Esto significa que la función responsable de descifrar y ejecutar el payload se ejecuta inmediatamente después de la carga de la DLL maliciosa.

Descifrado del payload

El payload cifrado se encuentra en la sección .rdata de hpqhvsei.dll y el algoritmo de descifrado se realiza mediante una función XOR iterativa, donde la variable XOR_key se actualiza en cada iteración, como se muestra en la Figura 3.

Figura 3: Pseudocódigo del bucle de descifrado del payload
Fuente: WeLiveSecurity

El payload descifrado es la shellcode responsable de que se inicie ShadowPad (ofuscada usando saltos condicionales falsos para hacer más difícil el proceso de desensamblado).

Persistencia

Después de haber sido descifrada, la shellcode de ShadowPad es ejecutada. Primero conseguirá persistencia en el sistema escribiendo el proceso padre parcheado en memoria en una ruta específica en la colección de cadenas de configuración. En el caso investigado por ESET, esto se hizo en la ruta C:\ProgramData\DRM\CLR\CLR.exe. Luego se creó un servicio llamado clr_optimization_v4.0.30229_32, responsable de ejecutar CLR.exe.

Figura 4: Flujo del proceso de ShadowPad

La enumeración se corresponde con el orden cronológico de la secuencia de eventos.

Módulos

ShadowPad es una puerta trasera con múltiples módulos a los que se hace referencia desde el módulo Root con una lista circular desde la cual se puede extraer la localización de un módulo en cuestión, la fecha de UNIX (probablemente incluida automáticamente durante el proceso de compilación del módulo) y un identificador para el módulo. Desde este también se puede extraer el nombre que el desarrollador le dio. Esta versión de ShadowPad incluye los 17 módulos que se muestran en la siguiente tabla:

Tabla 1: Módulos usados en esta versión de ShadowPad

El número de módulos incluidos en esta variante de ShadowPad es muy superior al de otras versiones, que incluían entre 8 y 10.

Por defecto, cada pulsación queda registrada mediante el uso del módulo Keylogger y es guarda en el disco en el archivo %APPDATA%\PAGM\OEY\XWWEYG\WAOUE.

El archivo de log es cifrado usando el mismo algoritmo utilizado para cifrar las cadenas estáticas del módulo. El haber usado este módulo por defecto indica que los atacantes están interesados en robar la información que se encuentra en los equipos vulnerados.

Configuración

Al igual que en otras variantes de ShadowPad, el módulo Config contiene una colección de cadenas cifradas a las que se puede acceder desde cualquier otro módulo. La colección de cadenas nunca se almacena totalmente descifrada en memoria, sino que el campo de interés es descifrado cuando se necesita e inmediatamente liberado a posteriori (dejando así de estar disponible con rapidez). El tamaño de la configuración es de 2180 bytes y las cadenas cifradas se encuentra en el offset 0x84. El algoritmo usado para descifrar las cadenas es el mismo que el utilizado para descifrar las cadenas estáticas del módulo. El contenido descifrado de la colección de cadenas es el siguiente:

  • 0x84: 2019/11/7 16:28:36
  • 0x99: CAMPAIGN_ID_REDACTED
  • 0xa1: %ALLUSERSPROFILE%\DRM\CLR\CLR.exe
  • 0xc5: clr_optimization_v4.0.30229_32
  • oxe6: clr_optimization_v4.0.30229_32
  • 0x107: clr_optimization_v4.0.30229_32
  • 0x128: SOFTWARE\Microsoft\Windows\CurrentVersion\Run
  • 0x158: CLR
  • 0x15e: %ProgramFiles%\Windows Media Player\wmplayer.exe
  • 0x197: %windir%\system32\svchost.exe
  • 0x1b7: TCP://b[redacted].dnslookup.services:443
  • 0x1db: UDP://b[redacted].dnslookup.services:443
  • 0x202: SOCKS4
  • 0x21e: SOCKS5

El ID de esta campaña se encuentra en el offset 0x99, tratándose del nombre de la universidad a la que tiene por objetivo. Tener una ID de campaña relacionada con el objetivo es bastante común en los casos de ShadowPad y Winnti.

Comunicaciones en red

Una vez instalado en el sistema, ShadowPad inicia un proceso escondido y suspendido de Microsoft Windows Media Player, wmplayer.exe, y se incluye a sí mismo en dicho proceso. Comenzará entonces a escuchar las conexiones en el puerto 13567 después de haber actualizado las reglas del cortafuegos.

Llave de registro: HKLM\SYSTEM\ControlSet001\services\SharedAccess\Parameters\FirewallPolicy\FirewallRules{816381AB-1400-45E5-B560-B8E11C5988CF}

Valor: v2.10|Action=Allow|Active=TRUE|Dir=In|Protocol=6|Profile=Public|LPort=13567|Name=Network Discovery (TCP)|

El malware Winnti también estaba presente en el ataque

Además de ShadowPad, el malware Winnti también fue encontrado en algunas máquinas de estas dos universidades a finales de octubre (dos semanas antes de ShadowPad) en el archivo C:\Windows\System32\oci.dll and is detected by ESET products as Win64/Winnti.CA.

Winnti normalmente incluye una configuración que especifica una ID de campaña y una URL de C&C. El ID de campaña coincide en todas las máquinas con el nombre de la universidad objetivo. Las URLs de C&C son:

  • w[eliminado].livehost.live:443
  • w[eliminado].dnslookup.services:443

donde las partes eliminadas se corresponden con el nombre de la universidad.

Formato de la URL de C&C

Es posible observar que la URL de C&C usada tanto por Winnti como por ShadowPad se ajusta al esquema [backdoor_type][target_name].domain.tld:443, donde [backdoor_type] es una letra única («w» en el caso de Winnti y «b» en el caso de ShadowPad).

Gracias a dicho formato se encontraron las tres universidades adicionales a las que se ha hecho referencia previamente en este artículo. Los identificadores de campaña encontrados en las muestras analizadas coinciden con el subdominio que forma parte del servidor C&C, lo que verifica que estas muestras son realmente específicas para las universidades afectadas.

Conclusión

El Grupo Winnti todavía usa con asiduidad una de sus puertas traseras insignia, ShadowPad, esta vez contra universidades en Hong Kong. En esta campaña se ha reemplazado el sistema de inicialización protegido con VMProtect, usado con ShadowPad y con la puerta trasera PortEuse, así como skip-2.0 fue reemplazado por un método más simple. El hecho de que estas muestras, además de haber sido encontradas en estas universidades, contengan IDs de campaña que coincidan con el nombre de las instituciones y usen URLs de C&C que contienen el nombre de estas últimas son indicadores fiables de que esta campaña es muy específica.

Indicadores de Compromiso (IoCs)

  • Nombres de detección de ESET
    • Win32/Shadowpad.C trojan
    • Win64/Winnti.CA trojan
  • Nombres de archivos
    • %ALLUSERSPROFILE%\DRM\CLR\hpqhvsei.dll
    • %ALLUSERSPROFILE%\DRM\CLR\CLR.exe
    • C:\windows\temp\hpqhvsei.dll
    • C:\windows\temp\hpqhvind.exe
    • %ALLUSERSPROFILE%\DRM\CLR\hpqhvsei.dll
    • %SYSTEM32%\oci.dll
    • %APPDATA%\PAGM\OEY\XWWEYG\WAOUE
  • Nombre del servicio
    • clr_optimization_v4.0.30229_32
  • Servidores C&C
    • b[org_name].dnslookup[.]services:443
    • w[org_name].livehost[.]live:443
    • w[org_name].dnslookup[.]services:443
  • Launcher ShadowPad
    • Similar sample to avoid disclosing targeted universities.
    • 693f0bd265e7a68b5b98f411ecf1cd3fed3c84af

Más información:

  • Winnti Group targeting universities in Hong Kong

Acerca de Raquel

Raquel Gálvez Ha escrito 67 publicaciones.

Pentester. Cloud security specialist on the making.

  • View all posts by Raquel →
  • Blog

Compártelo:

  • Twitter
  • Facebook
  • LinkedIn
  • Reddit
  • Telegram
  • WhatsApp

Publicaciones relacionadas

Publicado en: Malware Etiquetado como: IOC, ShadowPad, Winnti

Interacciones con los lectores

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Barra lateral principal

Buscar

Síguenos

siguenos en twitter

UAD360 EDICIÓN 2022

https://www.youtube.com/watch?v=go_CSWK56yU

Populares de UAD

  • Vulnerabilidad zero-day en AWS Glue
  • Técnica permite modificar ficheros PDF con firma digital
  • Tamagotchi para hackers: Flipper Zero
  • Campañas de phishing utilizan Flipper Zero como cebo
  • Parches de enero 2023: Microsoft corrige 98 vulnerabilidades

Entradas recientes

  • Vulnerabilidad zero-day en AWS Glue
  • Evasión de CloudTrail en AWS a través de API no documentada
  • Parches de enero 2023: Microsoft corrige 98 vulnerabilidades
  • UAD se abre a la comunidad
  • Campañas de phishing utilizan Flipper Zero como cebo
  • Vulnerabilidades críticas en productos de Synology
  • Más de dos docenas de errores de WordPress explotados por un nuevo malware de Linux
  • Correo electrónico
  • Facebook
  • LinkedIn
  • RSS
  • Twitter

Footer

UAD

UAD nació a raíz de un inocente comentario en un canal IRC hace 24 años. A través de los archivos, un lector curioso puede ver cómo ha cambiado (o no) la seguridad de la información desde entonces.

Aviso Legal

  • Aviso Legal
  • Términos y Condiciones
  • Política de Privacidad
  • Política de Cookies

Copyright © 2023 · Hispasec Sistemas, S.L. Todos los derechos reservados

Este sitio web utiliza cookies propias y de terceros para fines analíticos y para mostrarte publicidad (tanto general como personalizada) relacionada con tus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación (por ejemplo, páginas visitadas), para optimizar la web y para poder valorar las opiniones de los servicios consultados por los usuarios. Para administrar o deshabilitar estas cookies haz clic en: Configurar Cookies


Rechazar todo Aceptar Todo
Configurar Cookies

Resumen de privacidad

Este sitio web utiliza cookies para mejorar su experiencia mientras navega por el sitio web. De estas, las cookies que se clasifican como necesarias se almacenan en su navegador, ya que son esenciales para el funcionamiento de las funcionalidades básicas del sitio web. También utilizamos cookies de terceros que nos ayudan a analizar y comprender cómo utiliza este sitio web. Estas cookies se almacenarán en su navegador solo con su consentimiento. También tiene la opción de optar por no recibir estas cookies. Pero la exclusión voluntaria de algunas de estas cookies puede afectar su experiencia de navegación.
Necesaria
Siempre activado
Las cookies necesarias son absolutamente esenciales para que el sitio web funcione correctamente. Estas cookies garantizan funcionalidades básicas y características de seguridad del sitio web, de forma anónima.
CookieDuraciónDescripción
cookielawinfo-checkbox-analytics11 monthsEsta cookie está configurada por el complemento de consentimiento de cookies de GDPR. La cookie se utiliza para almacenar el consentimiento del usuario para las cookies en la categoría "Análisis".
cookielawinfo-checkbox-functional11 monthsLa cookie está configurada por el consentimiento de cookies de GDPR para registrar el consentimiento del usuario para las cookies en la categoría "Funcional".
cookielawinfo-checkbox-necessary11 monthsEsta cookie está configurada por el complemento de consentimiento de cookies de GDPR. Las cookies se utilizan para almacenar el consentimiento del usuario para las cookies en la categoría "Necesario".
cookielawinfo-checkbox-others11 monthsEsta cookie está configurada por el complemento de consentimiento de cookies de GDPR. La cookie se utiliza para almacenar el consentimiento del usuario para las cookies en la categoría "Otro.
cookielawinfo-checkbox-performance11 monthsEsta cookie está configurada por el complemento de consentimiento de cookies de GDPR. La cookie se utiliza para almacenar el consentimiento del usuario para las cookies en la categoría "Rendimiento".
viewed_cookie_policy11 monthsLa cookie está configurada por el complemento de consentimiento de cookies de GDPR y se utiliza para almacenar si el usuario ha dado su consentimiento o no para el uso de cookies. No almacena ningún dato personal.
Analítica
Las cookies analíticas se utilizan para comprender cómo interactúan los visitantes con el sitio web. Estas cookies ayudan a proporcionar información sobre métricas, el número de visitantes, la tasa de rebote, la fuente de tráfico, etc.
GUARDAR Y ACEPTAR
 

Cargando comentarios...