Grupo Gamaredon crece su juego


El grupo APT activo agrega astutos inyectores de plantillas remotas para documentos de Word y Excel; Macro única de correo masivo de Outlook

Los investigadores de ESET han descubierto varias herramientas post-compromiso previamente indocumentadas utilizadas por el grupo de amenazas Gamaredon altamente activo en varias campañas maliciosas. Una herramienta, una macro VBA dirigida a Microsoft Outlook, utiliza la cuenta de correo electrónico del objetivo para enviar correos electrónicos de spearphishing a los contactos en la libreta de direcciones de Microsoft Office de la víctima. También analizamos otras herramientas Gamaredon que tienen la capacidad de inyectar macros maliciosas y plantillas remotas en documentos existentes de Office.

Las herramientas vinculadas a Gamaredon y discutidas en este blog se detectan como variantes de MSIL / Pterodo, Win32 / Pterodo o Win64 / Pterodo por los productos de ESET.

El grupo Gamaredon ha estado activo desde al menos 2013. Ha sido responsable de varios ataques, principalmente contra instituciones ucranianas, como se evidencia en varios informes desde CERT-UA y de otros organismos oficiales ucranianos a lo largo del tiempo.

En los últimos meses, ha habido un aumento en la actividad de este grupo, con constantes oleadas de correos electrónicos maliciosos que llegan a los buzones de sus objetivos. Los archivos adjuntos a estos correos electrónicos son documentos con macros maliciosas que, cuando se ejecutan, intentan descargar una multitud de diferentes variantes de malware.

Gamaredon ha aprovechado muchos lenguajes de programación diferentes en los últimos meses, que van desde C # a VBScript, archivos por lotes y C / C ++. Las herramientas utilizadas por Gamaredon son muy simples y están diseñadas para recopilar información confidencial de sistemas comprometidos y difundirse aún más.

A diferencia de otros grupos de APT, el grupo Gamaredon parece no hacer ningún esfuerzo para tratar de mantenerse fuera del radar. A pesar de que sus herramientas tienen la capacidad de descargar y ejecutar archivos binarios arbitrarios que podrían ser mucho más sigilosos, parece que el enfoque principal de este grupo es propagarse lo más rápido y rápido posible en la red de su objetivo mientras intentan filtrar datos. ¿Podríamos estar perdiendo algo?

Antecedentes

La Figura 1 ilustra una típica cadena de compromiso en una campaña de Gamaredon.

Figura 1. Cadena de compromiso típica de Gamaredon

Si bien la mayoría de las publicaciones recientes se han centrado en los correos electrónicos de spearphishing junto con los descargadores que contienen, esta publicación de blog se centra en las herramientas posteriores al compromiso implementadas en estos sistemas.

Módulo de VBA de Outlook

El grupo Gamaredon usa un paquete que incluye un proyecto personalizado de Microsoft Outlook Visual Basic para Aplicaciones (VBA). El uso de macros de Outlook para entregar malware es algo que rara vez vemos al investigar campañas maliciosas.

Este paquete de código malicioso comienza con un VBScript que primero mata el proceso de Outlook si se está ejecutando, y luego elimina la seguridad en torno a la ejecución de macros VBA en Outlook al cambiar los valores del registro. También guarda en el disco el archivo OTM malicioso (proyecto Outlook VBA) que contiene una macro, el archivo adjunto de correo electrónico malicioso y, en algunos casos, una lista de destinatarios a los que se deben enviar los correos electrónicos.

A continuación, relanza Outlook con una opción especial, / altvba , que carga el proyecto Gamaredon VBA. El código malicioso se ejecuta una vez que la aplicación. evento Esta recibido. Han estado usando este módulo de tres maneras diferentes para enviar correos electrónicos maliciosos a:

  • Todos en la libreta de direcciones de la víctima
  • Todos dentro de la misma organización
  • Una lista predefinida de objetivos

Si bien abusar de un buzón comprometido para enviar correos electrónicos maliciosos sin el consentimiento de la víctima no es una técnica nueva, creemos que este es el primer caso documentado públicamente de un grupo de ataque que utiliza un archivo OTM y una macro de Outlook para lograrlo.

Figura 2. Script VBA de Outlook que crea el correo electrónico malicioso

Basado en el comportamiento de "enviar a todos en la lista de contactos" de este código malicioso de VBA, creemos que este módulo podría haber llevado a algunas organizaciones a pensar que fueron atacados por Gamaredon cuando eran simplemente daños colaterales. Por ejemplo, las muestras recientes cargadas en VirusTotal provienen de regiones que tradicionalmente no son objetivo de Gamaredon, como Japón, podría explicarse por las acciones de este módulo.

Como se ve en la Figura 2, el código VBA construye el cuerpo del correo electrónico y adjunta el documento malicioso al correo electrónico. Los hemos visto a ambos .docx y .lnk archivos utilizados como archivos adjuntos. Estos son muy similares al contenido de los archivos adjuntos maliciosos utilizados en las campañas iniciales de spearphishing de Gamaredon. La Figura 3 muestra un correo electrónico generado por este componente malicioso.

Figura 3. Correo electrónico generado por el módulo Outlook VBA con un documento adjunto de Word que contiene una plantilla remota

El correo electrónico contiene texto en inglés y ruso. Sin embargo, como se ilustra en la Figura 3, hay un problema con la codificación rusa. Esto se solucionó en una versión posterior de este módulo, otro ejemplo del rápido ritmo de desarrollo del grupo Gamaredon y la aparente falta de atención a los detalles.

Módulo de inyección de macro de Office – CodeBuilder

Analizamos diferentes variantes de módulos maliciosos utilizados por el grupo Gamaredon para inyectar macros maliciosas o plantillas remotas en documentos ya presentes en el sistema comprometido. Esta es una forma muy eficiente de moverse lateralmente dentro de la red de una organización, ya que los documentos se comparten habitualmente entre colegas. Además, dado que estas macros se ejecutan al abrir los documentos, es una buena forma de persistir en un sistema, ya que es probable que algunos de estos documentos se abran varias veces y en diferentes momentos.

Estos módulos de inyección de macros también tienen la funcionalidad de alterar la configuración de seguridad de macros de Microsoft Office. Por lo tanto, los usuarios afectados no tienen idea de que están comprometiendo nuevamente sus estaciones de trabajo cada vez que abren los documentos. Hemos visto este módulo implementado en dos lenguajes diferentes: C # y VBScript.

C#

Este módulo se entregó, como muchas otras herramientas, en un archivo autoextraíble de 7z. En el interior, había un archivo RAR protegido por contraseña que contenía algunos archivos. En particular, había dos archivos de texto, uno para Word y otro para Excel, que contenían el código fuente VBA de la macro maliciosa para insertar en los documentos de destino, y el ensamblado .NET responsable de encontrar y comprometer los documentos existentes. Como se ilustra en la Figura 4, el nombre del ensamblado es CodeBuilder.

Figura 4. CodeBuilder funciona en una versión que no está ofuscada

Este módulo .NET primero reduce la configuración de seguridad de macros de Office para varios tipos de documentos al modificar los siguientes valores de registro:

HKCU Software Microsoft Office Seguridad VBAWarnings
HKCU Software Microsoft Office Seguridad AccessVBOM

Se itera sobre todas las oficinas posibles valores para ambos Palabra y Sobresalir valores. Luego busca documentos con extensiones válidas de archivos de Word o Excel en todas las unidades conectadas al sistema. Para la unidad que contiene la instalación de Windows, escanea solo ubicaciones específicas, es decir, el Escritorio y Descargas carpetas Para los demás, escanea todo el disco. El malware mueve cada documento localizado al Datos de aplicación carpeta, inserta macros maliciosas de Word o Excel utilizando un Microsoft.Office.Interop objeto, y luego mueve el documento nuevamente a su carpeta original. En las muestras que analizamos, las macros inyectadas eran simples descargadores.

Archivo por lotes / VBScript

La versión VBScript de este módulo es similar en comportamiento al .NET. La principal diferencia es que, en lugar de insertar una macro maliciosa en documentos existentes, inserta referencias a una plantilla remota en ellos.

Figura 5. VBScript usando la propiedad Document.AttachedTemplate para inyectar una referencia a una plantilla remota en documentos existentes

Este módulo VBScript también viene empaquetado en un archivo autoextraíble, que contiene un archivo por lotes y dos archivos VBS responsables de iterar a través de documentos y agregarles las referencias de plantillas remotas.

Actualizaciones del módulo

Curiosamente, algunas de las herramientas personalizadas descritas en Palo Alto Networks " Blogpost 2017 en Gamaredon todavía se están actualizando y en uso hoy. Algunos muestran similitudes significativas, mientras que otros se reescriben en diferentes lenguajes de codificación. Las herramientas más frecuentes descargadas e instaladas en máquinas comprometidas se pueden agrupar en dos categorías diferentes: descargadores y puertas traseras.

Descargadores

Hay muchas variaciones de sus descargadores, la mayoría de ellos escritos en C # o VBScript. Esta sección cubrirá solo dos de sus variantes más originales; los otros no han evolucionado tanto y son muy simples.

Módulo compilador C #

Este ejecutable .NET, similar a muchas otras herramientas utilizadas por el grupo Gamaredon, utiliza técnicas de ofuscación como la inserción de código basura y la ofuscación de cadenas. Contiene en su cuerpo el código fuente codificado en base64 de un descargador. Decodifica ese código fuente y lo compila directamente en el sistema utilizando el incorporado Microsoft.CSharp.CSharpCodeProvider clase. Coloca el ejecutable resultante en un directorio existente y crea una tarea programada que lo iniciará cada 10 minutos. Como se puede ver en la Figura 6, el código fuente decodificado todavía tiene comentarios, lo que ilustra la aparente descuido de los operadores de Gamaredon.

Figura 6. Parte del código fuente del descargador C # incluido en el módulo compilador C #

Módulo de proyecto GitHub

Como se ve en la Figura 7, este ejecutable .NET usa un repositorio de GitHub para obtener y ejecutar un descargador. Este repositorio ya no existe, pero pudimos descargar una copia mientras todavía estaba disponible.

Figura 7. Módulo .NET responsable de descargar y ejecutar una carga útil almacenada en github.com

El repositorio contenía un solo archivo: readme.txt – ese era un ejecutable de descarga de .NET codificado en base64. La función del módulo del proyecto GitHub es descargar este archivo, decodificarlo y ejecutarlo.

Puertas traseras – ladrones de archivos

Si bien existen algunas variaciones en las funcionalidades, el propósito principal de estos módulos es enumerar todos los documentos en un sistema comprometido y subirlos al servidor de C&C. Estos ladrones de archivos también pueden descargar y ejecutar código arbitrario desde el servidor de C&C. Al igual que con muchas otras herramientas utilizadas por el grupo Gamaredon, vienen en cuatro lenguajes de codificación diferentes: C / C ++, C #, archivo por lotes y VBScript.

C / C ++

Esta variante es la sucesora del módulo USBStealer descrito aquí. Aunque las últimas versiones ahora son bastante diferentes, el examen de muestras de este módulo a lo largo de su desarrollo muestra claramente que se origina en el mismo código fuente.

Una muestra que ilustra bien este cambio es una DLL de 64 bits con nombre interno Harvesterx64.dll, compilado en junio de 2019. Todavía tiene la mayoría de las cadenas utilizadas en las variantes anteriores, pero también exhibe dos mejoras que todavía están en las más nuevas. Primero, ahora resuelve las API de Windows a través del hashing de nombres y segundo, usa un archivo de texto básico en lugar de una base de datos SQLite para rastrear qué archivos ya se cargaron en el servidor de C&C.

El comportamiento de este módulo es bastante sencillo: escanea el sistema en busca de nuevos documentos de Microsoft Office, tanto en unidades locales como extraíbles, y los carga en el servidor de C&C. Para saber si el documento es nuevo, el módulo mantiene, en un archivo de texto, un hash MD5 por archivo cargado en el servidor. Estos hash MD5 no se basan en el contenido del archivo, sino en una cadena compuesta por el nombre del archivo, su tamaño y su última hora de modificación. Las cadenas del módulo se almacenan en su sección .data, encriptadas con una simple clave XOR. También tiene la capacidad de descargar y ejecutar código arbitrario desde su servidor C&C.

C#

Esta es una reimplementación en C # de la versión C / C ++. La principal diferencia es que también toma capturas de pantalla de la computadora comprometida cada minuto. Como se ve en la Figura 8, la versión que analizamos tiene cinco hilos diferentes con nombres evocadores.

Figura 8. C # rutina de creación de subprocesos de puerta trasera

Archivo por lotes / VBScript

Esta versión consta de varios scripts, escritos en forma de archivo por lotes y VBScript. Sin embargo, el objetivo final es el mismo: escanear el sistema en busca de documentos confidenciales. El mecanismo principal es un archivo por lotes que busca documentos de Word (*.Doc*) en el sistema y almacena sus nombres en un archivo de texto (consulte la Figura 9).

Figura 9 Ejemplo inject.txt archivo que contiene el resultado del escaneo del archivo de documento de la puerta trasera

El paquete también contiene archivos de script cifrados llamados 1.log, 2.log, 3.log, 4.log y 5.log. Una vez descifrados, estos scripts son descargadores de VBScript ofuscados que pueden descargar y ejecutar código arbitrario.

Infraestructura de red

El grupo Gamaredon utiliza muchos dominios diferentes, tanto gratuitos como de pago, para sus servidores de C&C. Los dominios gratuitos son principalmente DDNS de No-IP: hopto.org, ddns.net, myftp.biz, mientras que los dominios pagos se registran a través del registrador REG.RU e incluyen el .divertido, .sitio, .espacio, .ru, .sitio web y .xyz TLDs.

Están cambiando constantemente los dominios utilizados por sus herramientas, pero principalmente en un pequeño número de ASN. Un análisis cuidadoso sugiere que usan dominios separados para pequeños grupos de víctimas. por favor, compruebe Cuenta GitHub de ESET para obtener una extensa lista de dominios utilizados por el grupo Gamaredon.

Calidad de ejecución

Pudimos recolectar numerosas muestras diferentes de scripts maliciosos, ejecutables y documentos utilizados por el grupo Gamaredon a lo largo de sus campañas. Notamos varios errores en estos, especialmente en los scripts. Por supuesto, es imposible saber la razón exacta detrás de estos errores o descuidos, pero el volumen de muestras que produce el grupo y su rápido desarrollo podrían explicarlo. El hecho de que quedaran comentarios en el código fuente incluido en algunos ejemplos del módulo compilador de C # o que la codificación rusa fuera incorrecta en el correo electrónico generado por el módulo VBA de Outlook muestra que no hay una revisión o prueba rigurosa antes de lanzar sus muchas herramientas y usarlas En la naturaleza.

Sin embargo, si bien estos errores pueden disminuir la efectividad general de sus herramientas, la rápida ejecución y adaptación de este grupo también tiene algunas ventajas. El volumen y la implacabilidad de los ataques pueden crear un estado de temor constante en sus objetivos. Y aunque el código es muy simple, algunas técnicas, como la ofuscación de secuencias de comandos, dificultan la automatización completa del análisis, lo que hace que el trabajo del analista sea tedioso.

Su proyecto GitHub nos permitió echar un vistazo al rápido desarrollo de sus herramientas. El código que se confirmó allí mostró claramente la evolución del descargador de C #. Las primeras versiones no mostraron signos de ofuscación; luego los desarrolladores agregaron diferentes ofuscaciones de cadenas y código basura para dificultar el análisis.

En términos de persistencia, se utilizan varias técnicas diferentes, pero las más comunes son las tareas programadas, las claves de registro de ejecución automática y el aprovechamiento de la carpeta de Inicio. Aunque estas técnicas son muy simples y se conocen desde hace mucho tiempo, la estrategia del grupo Gamaredon de tratar de instalar múltiples scripts y ejecutables en cada sistema, y ​​actualizarlos constantemente, complica significativamente la vida del defensor.

Conclusión

A pesar de la simplicidad de la mayoría de sus herramientas, el grupo Gamaredon también es capaz de implementar algunas novedades, como su módulo Outlook VBA. Sin embargo, como está lejos de ser sigiloso, a la larga no es rival para una organización capaz. La variedad de herramientas que Gamaredon tiene a su disposición puede ser muy efectiva para tomar huellas digitales de una máquina y comprender qué datos confidenciales están disponibles, y luego difundirlos por toda la red. ¿Podría ser esta una forma de desplegar una carga útil mucho más sigilosa?

Un agradecimiento especial a ESET Senior Malware Researcher Anton Cherepanov por su ayuda en esta investigación.

Indicadores de compromiso (IoC)

SHA-1 Nombre de detección de ESET Comentarios
6F75F2490186225C922FE605953038BDEB537FEE DOC / TrojanDownloader.Agent.ARJ Módulo de VBA de Outlook
DFC941F365E065187B5C4A4BF42E770035920856 Win32 / Pterodo.XG.gen Módulo de inyección macro C # Office
9AFC9D6D72F78B2EB72C5F2B87BDC7D59C1A14ED Win32 / Pterodo.ZM Archivo por lotes / ‌VBScript Office módulo de inyección de macro
3DD83D7123AEFBE5579C9DC9CF3E68BCAFC9E65E MSIL / Pterodo.CD Módulo compilador C #
941F341770B67F9E8EE811B4B8383101F35B27CD MSIL / Pterodo.CA Módulo de proyecto GitHub
DC8BD2F65FD2199CE402C76A632A9743672EFE2D Win32 / Pterodo.XC Puerta trasera C / C ++
336C1244674BB378F041E9064EA127E9E077D59D MSIL / Pterodo.DP C # puerta trasera
5FC1B6A55A9F5A52422872A8E34A284CDBDD0526 Win32 / Pterodo.YE Archivo por lotes / ‌VBScript puerta trasera

Técnicas MITRE ATT y CK

Táctica CARNÉ DE IDENTIDAD Nombre Descripción
Acceso inicial T1193 Accesorio de pesca submarina El grupo Gamaredon envía correos electrónicos con archivos adjuntos maliciosos a sus objetivos.
T1199 Relación de confianza El malware del grupo Gamaredon abusa de las cuentas de correo electrónico de una organización comprometida para enviar correos electrónicos con archivos adjuntos maliciosos a los contactos de la víctima.
Ejecución T1064 Scripting El grupo Gamaredon utiliza mucho los scripts, principalmente archivos Batch y VBScript.
T1085 Rundll32 El malware del grupo Gamaredon utiliza rundll32 para iniciar archivos DLL maliciosos, por ejemplo, la puerta trasera C / C ++.
T1106 Ejecución a través de API El malware del grupo Gamaredon utiliza Proceso de creación para lanzar componentes adicionales, por ejemplo para ejecutar cargas útiles recibidas de sus servidores de C&C.
T1204 Ejecución de usuario El compromiso inicial del grupo Gamaredon generalmente requiere que el usuario ejecute un archivo adjunto de correo electrónico malicioso.
Persistencia T1053 Tarea programada El malware del grupo Gamaredon registra varios de sus módulos (descargadores, puertas traseras, etc.) como tareas programadas.
T1060 Claves de ejecución del registro / Carpeta de inicio El grupo Gamaredon usa las teclas Ejecutar y la carpeta Inicio para garantizar que sus módulos se ejecuten en cada reinicio.
T1137 Inicio de aplicaciones de Office El malware del grupo Gamaredon inserta macros maliciosas en los documentos existentes, proporcionando persistencia cuando se vuelven a abrir.
Evasión de defensa T1027 Archivos o información ofuscados El grupo Gamaredon hace un uso intensivo de archivos comprimidos, algunos protegidos por contraseña, para entregar sus cargas maliciosas. Las cadenas se ofuscan o encriptan habitualmente en estos módulos maliciosos.
T1112 Modificar registro El malware del grupo Gamaredon modifica varias claves de registro para desactivar los mecanismos de seguridad en Microsoft Office relacionados con las macros.
T1116 Firma de código El grupo Gamaredon utiliza binarios firmados en sus campañas maliciosas. Un ejemplo notable son las muestras wget firmadas con un certificado válido de Jernej Simončič y disponibles aquí.
T1140 Desobuscar / decodificar archivos o información El grupo Gamaredon utiliza rutinas simples de desofuscación y descifrado de cadenas en sus módulos.
T1221 Inyección de plantilla El grupo Gamaredon agrega plantillas remotas a los documentos que envía a los objetivos.
T1500 Compilar después del parto El módulo compilador C # del grupo Gamaredon contiene un descargador ofuscado que compila utilizando csc.exe y luego se ejecuta.
Descubrimiento T1083 Descubrimiento de archivos y directorios El grupo Gamaredon utiliza sus puertas traseras para enumerar automáticamente archivos interesantes (como documentos de Office) encontrados en un sistema para su posterior filtración.
Movimiento lateral T1080 Manchar contenido compartido El malware del grupo Gamaredon inyecta macros maliciosas en todos los documentos de Word y Excel accesibles por el sistema comprometido.
T1534 Pesca submarina interna El grupo Gamaredon usa su macro Outlook VBA para enviar correos electrónicos con archivos adjuntos maliciosos a otros objetivos dentro de la misma organización.
Colección T1005 Datos del sistema local El malware del grupo Gamaredon busca activamente documentos confidenciales en el sistema local.
T1025 Datos de medios extraíbles El malware del grupo Gamaredon escanea todas las unidades en busca de datos confidenciales y también busca la inserción de unidades extraíbles en un sistema.
T1039 Datos de la unidad compartida de red El malware del grupo Gamaredon escanea todas las unidades A: – Z: en busca de datos confidenciales, por lo que escaneará todos los recursos compartidos de red montados como unidades.
T1113 La captura de pantalla El grupo Gamaredon usa una puerta trasera que toma capturas de pantalla cada minuto.
T1119 Colección automatizada El grupo Gamaredon implementa scripts en sistemas comprometidos que escanean automáticamente en busca de documentos interesantes.
Comando y control T1071 Protocolo de capa de aplicación estándar El malware del grupo Gamaredon utiliza HTTP y HTTPS para comando y control.
Exfiltración T1020 Exfiltración Automatizada El grupo Gamaredon utiliza módulos que cargan automáticamente los documentos recolectados al servidor de C&C.








Enlace a la noticia original