malware

Resumen ejecutivo

WhisperGate es una nueva familia de malware que se utiliza en una operación en curso dirigida a múltiples industrias en Ucrania, incluidas organizaciones gubernamentales, sin fines de lucro y de tecnología de la información. El malware es un limpiador de registro de arranque maestro (MBR) de 3 etapas diseñado para destruir el MBR de una víctima y dañar los archivos en los dispositivos de almacenamiento adjuntos. Cada etapa del malware tiene una tarea discreta: la etapa 1 sobrescribe el MBR con una nota de rescate y un código para sobrescribir secciones en cada unidad encontrada, la etapa 2 descarga y ejecuta la etapa 3, que está alojada en el CDN de Discord como un archivo adjunto JPG, y la etapa 3 corrompe cualquier archivo que coincida con una lista de 191 extensiones de archivo. Los desarrolladores del malware utilizan la ofuscación, particularmente en la etapa 3, para evadir la detección y el análisis. WhisperGate limpia y corrompe un sistema Windows hasta el punto en que los archivos y las unidades ya no se pueden recuperar ni utilizar. Todavía están surgiendo detalles sobre el motivo de WhisperGate y el actor de amenazas detrás de los ataques. Estos ataques tienen lugar en el contexto de un riesgo creciente de una invasión rusa de Ucrania y desfiguraciones del sitio web del gobierno ucraniano que ocurrieron el 14 de enero de 2022.

Juicios clave

  • Al momento de escribir este artículo, el grupo de actores de amenazas que implementa WhisperGate no se ha atribuido a ningún grupo de amenazas conocido, pero otros investigadores sospechan que el grupo está patrocinado por el estado.
  • Se deben aplicar las mismas precauciones que se toman contra el ransomware con respecto a las copias de seguridad de datos para mitigar los efectos de las capacidades de destrucción de datos de WhisperGate.
  • No se ha observado el uso del malware WhisperGate como parte de ningún otro ataque fuera de Ucrania, lo que indica que puede haber sido desarrollado específicamente para esta operación.

Antecedentes

El 15 de enero de 2022, Microsoft informó sobre una operación de malware destructiva dirigida a varias organizaciones en Ucrania. Esta actividad no se ha atribuido a ningún grupo de actores de amenazas existente y, por lo tanto, se rastrea utilizando la convención de nomenclatura DEV-#### de Microsoft, que se usa para rastrear grupos emergentes desconocidos de actividad de amenazas. Este grupo recibió la designación DEV-0586 hasta que finalmente se convierta en un actor designado o se fusione con un actor existente. Microsoft comenzó a ver esta actividad maliciosa el 13 de enero de 2022, lo que condujo a la investigación que descubrió una nueva familia de malware que se rastrea como WhisperGate. 

Análisis técnico de WhisperGate

El malware WhisperGate tiene 3 etapas, que se detallan a continuación en la Figura 1. Las 3 etapas deben ejecutarse antes de que la máquina se reinicie para obtener el máximo efecto. La etapa 1 corrompe el MBR del disco de arranque de la víctima y, al reiniciar, corromperá otras unidades del sistema. La etapa 2 descarga la etapa 3, que se usa para dañar archivos en sistemas de archivos adjuntos y unidades de red. Se producirán daños en el archivo si solo una de las etapas 1 o 2 se ejecuta correctamente. En las pruebas, descubrimos que los discos de tabla de particiones GUID (GPT) no se destruyen de manera irreparable por el malware de etapa 1 de WhisperGate y, por lo tanto, son parcialmente inmunes a esa etapa del malware. Especulamos que la inclusión de las etapas 2 y 3 puede ser una forma de garantizar que las víctimas que usan discos de arranque estilo GPT también se vean afectadas por el malware. Sin embargo, la etapa 3 también apunta a unidades de red remotas,


Figura 1: Etapas del malware WhisperGate (Fuente: Recorded Future)

Etapa 1: sobrescribir el registro de arranque maestro (MBR)

La etapa 1 se compila utilizando el entorno de desarrollo Minimalist GNU para Windows (MinGW), que es compatible con GNU Compiler Collection (GCC) 6.3.0 en Windows. El objetivo principal del binario es sobrescribir el MBR de «\\\\.\\PhysicalDrive0» con un MBR personalizado cuyo efecto no se verá hasta que la máquina se reinicie. Al inicio, el BIOS de la computadora determina el orden del disco que se usará al buscar el MBR. Sobrescribir el MBR en PhysicalDrive0 es suponer que ese disco es el primero en la línea que debe verificar el BIOS, lo que normalmente es una suposición razonable. Una vez que la máquina se reinicia y se ejecuta el código MBR personalizado, se presenta al usuario la nota de rescate que se muestra en la Figura 2.


Figura 2: Nota de rescate que se muestra después de ejecutar la etapa 1 de WhisperGate (Fuente: Recorded Future)

Después de mostrar la nota de rescate, el código MBR sobrescribe secciones de cada unidad, en intervalos de 199 bytes, con el contenido que se muestra en la Figura 3. El contenido escrito en cada unidad difiere en el sexto byte, incrementándose secuencialmente desde 0x00.


Figura 3: Vista hexadecimal de los contenidos que se escriben en el disco (Fuente: Recorded Future)

El código MBR escribe el contenido varias veces en cada unidad al realizar llamadas de función de escritura extendida a través de la interrupción 0x13 , como se muestra en la Figura 4.

Figura 4: Instrucciones MBR que enumeran las unidades y sobrescriben secciones en cada disco encontrado (Fuente: Recorded Future)

En el caso de que una víctima esté usando tablas de particiones de estilo GPT en su disco de arranque, la etapa 1 no será efectiva. Al reiniciar, Windows no podrá iniciarse; sin embargo, el código MBR de WhisperGate, que corrompe las unidades de disco, no se ejecutará. Dado que los discos GPT mantienen una copia de respaldo de la tabla GPT al final de un disco, las víctimas pueden restaurar la tabla GPT ejecutando una distribución de Linux en vivo y usando el comando de recuperación de la utilidad gdisk como se muestra en la Figura 5.


Figura 5: Restauración de la tabla GPT dañada con el comando gdisk recovery (Fuente: Recorded Future)

Etapa 2: Descargador

La etapa 2 está escrita en .NET y su función principal es descargar la tercera etapa del malware y ejecutarla. Comienza a ejecutarse después de 20 segundos, utilizando el comando de PowerShell “ powershell -enc UwB0AGEAcgB0AC0AUwBsAGUAZQBwACAALQBzACAAMQAwAA== ”, que se decodifica en “ Start-Sleep -s 10 ” El retraso de 10 segundos se ejecuta dos veces y probablemente se use para ayudar al malware a evadir la detección de los motores AV. El malware recupera la tercera etapa de un archivo adjunto de Discord alojado en https://cdn[.]discordapp[.]com, llamado Tbopbh.jpg. La etapa 2 invierte los bytes del archivo JPG, carga reflexivamente el archivo JPG como un ensamblado .NET y luego llama a la función exportada » Ylfwdwgmpilzyaph «.

Etapa 3: Corruptor de archivos

La etapa 3 del malware está escrita en .NET y ofuscada con eazfuscator. Tras la ejecución, se desempaquetan, decodifican y descomprimen GZIP 2 recursos ejecutables PE integrados (AdvancedRun y ​​Wagybg). A continuación, se escribe un script .vbs en » %AppData%\local\Temp\Nmddfrqqrbyjeygggda.vbs » y se ejecuta con Wscript.exe. El script, que se muestra en la Figura 6, se usa para excluir la unidad C completa del análisis de Windows Defender.

Figura 6: Contenido de “ %AppData%\local\Temp\Nmddfrqqrbyjeygggda.vbs ” (Fuente: Recorded Future)

A continuación, se ejecuta AdvancedRun para detener el servicio de Windows Defender y eliminar su carpeta de datos del programa. AdvancedRun es un software benigno desarrollado por NirSoft y utilizado para ejecutar programas en diferentes configuraciones. El autor usó AdvancedRun debido a su capacidad para ejecutar programas con privilegios de TrustedInstaller, que son necesarios para ejecutar el comando que desactiva Windows Defender. Las Figuras 7 y 8 muestran los argumentos de la línea de comandos utilizados para ejecutar AdvancedRun.exe. El uso del argumento » /RunAs 8 » le indica a AdvancedRun que use los privilegios de TrustedInstaller.  


Figura 7:  AdvancedRun.exe ” deteniendo el servicio de Windows Defender (Fuente: Recorded Future)


Figura 8:  AdvancedRun.exe ” borrando recursivamente los datos del programa de Windows Defender (Fuente: Recorded Future)

Finalmente, Wagybg se ejecuta a través del vaciado de procesos en un proceso InstallUtil.exe. Se utilizó una técnica similar para cargar el troyano Netwire en 2019 como parte de una campaña de phishing. InstallUtil es un programa benigno producido por Microsoft y distribuido como parte del marco .NET. 

Esta etapa del malware se utiliza para realizar la corrupción de archivos. Primero obtiene una lista de unidades lógicas en el sistema llamando a GetLogicalDrives(), luego identifica aquellas que son medios fijos o unidades de red. El malware busca en estas unidades archivos que terminen en 1 de las 191 extensiones de archivo que se muestran en la Figura 9 a continuación. Luego corrompe los archivos coincidentes sobrescribiendo el primer MiB de cada archivo con bytes 0xCC.

Figura 9: Extensiones de archivo dirigidas (Fuente: Recorded Future)

Una vez que termina de corromper los archivos, el corruptor envía 5 solicitudes de ping a 111.111.111[.]111 y luego se elimina como se muestra en la Figura 10. Si bien no está claro exactamente por qué el malware realiza las solicitudes de ping, especulamos que podría ser para agregue un tiempo de retraso antes de borrarse o para mantener un registro de hosts infectados.


Figura 10: Función de autoeliminación utilizada por el corruptor de archivos (Fuente: Recorded Future)

Mitigaciones

Recomendamos que las organizaciones consideren una estrategia de copia de seguridad externa para proteger sus datos de las capacidades de destrucción del malware WhisperGate.

  • La segmentación de la red puede evitar que los atacantes y el malware obtengan acceso a otras partes de la red de una organización. Esta solución implica dividir la red más grande en segmentos de red más pequeños y se puede lograr a través de firewalls, redes de área local virtual y otras técnicas de separación.
  • Considere mantener la información confidencial del cliente en sistemas que están desconectados de Internet o segmentados del resto de la red corporativa. Dado que el malware WhisperGate alterará los archivos en el sistema de una víctima, mover datos de clientes altamente confidenciales a un sistema sin acceso a Internet o acceso al resto de la red minimizará el acceso que el malware WhisperGate tendría a esos archivos.
  • Configure sus sistemas de detección de intrusiones (IDS), sistemas de prevención de intrusiones (IPS) o cualquier mecanismo de defensa de la red para alertar sobre la dirección IP externa mencionada y, luego de revisarla, considere bloquear los intentos de conexión hacia y desde.
  • Si las soluciones de acceso remoto son cruciales para las operaciones diarias, todos los servicios y protocolos de acceso remoto, como Citrix y RDP, deben implementarse con autenticación de dos o múltiples factores.
  • Supervise la creación de actividad de modificación de archivos sospechosa, en particular, grandes cantidades de modificaciones de archivos en directorios de usuarios.
  • Establezca la Política de ejecución para PowerShell para que requiera que los scripts estén firmados para ejecutarse. Esto solo será efectivo para los scripts que se ejecutan de forma tradicional (por ejemplo, al hacer doble clic) y no protegerá contra los scripts codificados en base64 que se ejecutan en la línea de comandos como argumento del programa PowerShell (como powershell.exe <comando>).
  • Use versiones más recientes de PowerShell, como la versión 5, que agregó algunas mejoras relacionadas con la seguridad.
    • Interfaz de exploración antimalware (AMSI): esta función se introdujo en Windows 10 y Windows Server 2016 y proporciona «exploración de archivos y memoria o secuencias, comprobaciones de reputación de URL/IP de fuente de contenido y otras técnicas» y puede integrarse con PowerShell, UAC, Windows Script Host, JavaScript, VBScript y macros de Office VBA. La investigación sobre cómo se puede omitir AMSI indica que el uso de ofuscación (como XOR o comandos «prohibidos» de codificación base64) o una omisión de ejecución simple, entre otros métodos más sofisticados, como parches de memoria, se pueden usar para sortear AMSI.
  • Asegúrese de que el registro de scripts y comandos esté habilitado. Estos incluyen: registro de módulos (registros de ejecución de canalización de scripts de PowerShell, incluidas algunas partes del script, código desofuscado y algunos datos formateados para la salida), registro de bloque de scripts (ejecución de registros, incluido el contenido completo de scripts y comandos que se ejecutan), y Transcripción (crea un registro único de cada sesión de PowerShell, incluidas las entradas y salidas). Si bien el registro no evitará necesariamente que se ejecute PowerShell malicioso, podría ayudar a comprender qué tipo de comportamiento o indicadores maliciosos estaban involucrados.

Panorama

Al momento de escribir este artículo, parece que DEV-0586 solo ha estado usando WhisperGate para apuntar a organizaciones en Ucrania. Esperamos que se publique más información sobre este actor de amenazas, incluida la atribución, en los próximos días o semanas. Ahora que WhisperGate ha sido informado públicamente y los profesionales de seguridad han sido alertados sobre el malware, es posible que los desarrolladores de WhisperGate alteren el limpiador para evadir mejor las detecciones.

Fuente y redacción: recordedfutire.com

Compartir