Trickbot (también conocido como TrickLoader o Trickster), es un sucesor del troyano bancario Dyre, que estuvo activo entre 2014 y 2016 y lanzaba ataques man-in-the-browser para robar credenciales bancarias. Trickbot fue descubierto en octubre de 2016. Al igual que Dyre, en un principio su principal funcionalidad era el robo de datos bancarios online. Pero con el paso del tiempo, sus tácticas y objetivos han ido cambiando. En la actualidad, Trickbot se centra en la penetración y distribución a través de la red local, y proporciona a otro malware (como el ransomware Ryuk) acceso al sistema infectado, aunque no es la única función que tiene.
A lo largo de los años, Trickbot ha adquirido docenas de módulos auxiliares que roban credenciales e información crítica, lo propagan por la red local utilizando credenciales robadas y vulnerabilidades, proporcionan acceso remoto, a través de un proxy para tráfico de red, realizan ataques de fuerza bruta y descargan otros programas maliciosos. En este documento, ofrecemos una breve descripción de los módulos de Trickbot. A pesar de que las fechas indicadas en las cabeceras de PE de algunos módulos son bastante antiguas, estos módulos siguen disponibles para su descarga y pueden ser utilizados por los creadores de amenazas. Esta especificación puede simplificar el análisis de cualquier actividad relacionada con Trickbot.
Información técnica
Cómo obtener los módulos de Trickbot para analizarlos
Los módulos pueden descargarse desde uno de los C2 de Trickbot utilizando simples peticiones GET como ‘https://<CC_IP>:<CC_PORT>/<gtag>/<bot_ID>/5/<nombre_del_módulo>/’. Hay que tener en cuenta que los nombres de los módulos distinguen entre mayúsculas y minúsculas, y aunque en este artículo describimos módulos de 32 bits, en la mayoría de los casos se pueden descargar versiones de 64 bits sustituyendo “32” por “64” en el nombre del módulo. En la mayoría de los casos, los valores válidos de <gtag> y <bot_ID> no son necesarios para poder descargarlo. Este es un ejemplo de la URL que sirve para descargar el módulo ‘pwgrab64’:
https[:]//87.97.178[.]92:447/asdasdasd/asdasdasd_asdasdasd.asdasdasd/5/pwgrab64/
Los módulos descargados están cifrados y pueden ser descifrados con el script de Python que aparece a continuación.
Script de Python con la rutina de descifrado de módulos
La siguiente tabla contiene la lista de módulos y simplifica la búsqueda de la descripción del módulo. Tenga en cuenta que estos módulos se recibieron a finales de mayo y su funcionalidad y nombres pueden variar en el momento de la publicación.
Nombre del módulo | Sello de tiempo PE | Nombre interno de PE | Enlace a la descripción |
adll32 | 14.11.2019 | ADll.dll | adll32 |
adllog32 | 14.11.2019 | ADll.dll | adll32 |
bexecDll32 | 13.04.2020 | mexec.dll | aexecDll32 |
mexecDll32 | 29.11.2019 | mexec.dll | aexecDll32 |
onixDll32 | 29.11.2019 | mexec.dll | aexecDll32 |
aexecDll32 | 17.06.2020 | m001c.dll | aexecDll32 |
shadnewDll32 | 13.06.2019 | inj_32.dll | anubisDll32 |
anubisDll32 | 08.10.2019 | tbmf_32.dll | anubisDll32 |
bcClientDllNew32 | 05.02.2019 | socks5dll.dll | bcClientDll32 |
bcClientDllTestTest32 | 29.08.2019 | socks5dll.dll | bcClientDll32 |
TwoBCtestDll32 | 06.10.2019 | client.dll | bcClientDll32 |
bcClientDll32 | 20.04.2017 | bcClientDll.dll | bcClientDll32 |
tvncDll32 | 17.05.2021 | VNCSRV.dll | bvncDll32 |
vncDll32 | 20.04.2021 | VNCSRV.dll | bvncDll32 |
bvncDll32 | 11.02.2020 | VNCSRV.dll | bvncDll32 |
cookiesDll32 | 04.07.2019 | Cookies.dll | cookiesDll32 |
domainDll32 | 16.01.2018 | module32.dll | domainDll32 |
fscanDll32 | 23.12.2019 | TestLib.dll | fscanDll32 |
oimportDll32 | 24.07.2020 | grabber.dll | importDll32 |
timportDll32 | 22.03.2021 | grabber.dll | importDll32 |
importDll32 | 24.03.2021 | grabber.dll | importDll32 |
totinjectDll32 | 14.06.2019 | webinject32.dll | injectDll32 |
injectDll32 | 17.09.2020 | <nada> | injectDll32 |
sokinjectDll32 | 14.06.2019 | webinject32.dll | injectDll32 |
tinjectDll32 | 25.02.2021 | webinject32.dll | injectDll32 |
mailsearcher32 | 22.04.2019 | mailsearcher.dll | mailsearcher32 |
masrvDll32 | 04.12.2020 | masrv.dll | masrvDll32 |
mlcDll32 | 18.11.2019 | MailClient.dll | mlcDll32 |
networkDll32 | 14.12.2020 | dll.dll | networkDll32 |
networknewDll32 | 06.04.2020 | dll.dll | networkDll32 |
tnetworkDll32 | 14.12.2020 | dll.dll | networkDll32 |
socksDll32 | 07.04.2021 | socksbot.dll | NewBCtestnDll32 |
NewBCtestnDll32 | 07.04.2021 | socksbot.dll | NewBCtestnDll32 |
outlookDll32 | <nada> | OutlookX32.dll | outlookDll32 |
owaDll32 | 21.10.2019 | owa.dll | owaDll32 |
permaDll32 | 19.10.2020 | user_platform_check.dll | permaDll32 |
psfin32 | 05.11.2018 | dll.dll | psfin32 |
rdpscanDll32 | 10.06.2020 | rdpscan.dll | rdpscanDll32 |
trdpscanDll32 | 10.07.2020 | rdpscan.dll | rdpscanDll32 |
shadDll32 | 12.03.2019 | inj_32.dll | shadDll32 |
tshareDll32 | 21.04.2020 | templ.dll | shareDll32 |
shareDll32 | 01.02.2021 | <nada> | shareDll32 |
sharesinDll32 | 22.01.2020 | dlltest1.dll | sharesinDll32 |
sqlscanDll32 | 14.12.2019 | sqlscan.dll | sqlscanDll32 |
squDll32 | 23.04.2020 | mailFinder_x86.dll | squDll32 |
squlDll32 | 19.04.2018 | mailFinder_x86.dll | squlDll32 |
systeminfo32 | 13.09.2019 | SystemInfo.dll | systeminfo32 |
stabDll32 | 02.07.2020 | <random> | tabDll32 |
tabDll32 | 03.08.2020 | tabdll_x86.dll | tabDll32 |
testtabDll32 | 04.06.2019 | tabdll_x86.dll | tabDll32 |
ttabDll32 | 30.07.2020 | tabdll.dll | tabDll32 |
pwgrab32 | 19.03.2021 | <random> | tdpwgrab32 |
pwgrabb32 | 19.03.2021 | <random> | tdpwgrab32 |
tpwgrab32 | 26.02.2021 | <random> | tdpwgrab32 |
dpwgrab32 | 19.03.2020 | pwgrab.dll | tdpwgrab32 |
tdpwgrab32 | 26.02.2021 | <random> | tdpwgrab32 |
vpnDll32 | 04.06.2020 | vpnDll.dll | vpnDll32 |
webiDll32 | 11.05.2021 | webinject32.dll | webiDll32 |
twormDll32 | 15.10.2019 | testinfo.dll | wormDll32 |
wormDll32 | 18.02.2021 | <random> | wormDll32 |
wormwinDll32 | 22.01.2020 | <random> | wormDll32 |
El nuevo módulo de Trickbot ‘ADLL’ vuelca los archivos de la base de datos de Active Directory (ntds.dit y ntds.jfm) y los archivos de registro utilizando las herramientas ‘ntdsutil’ y ‘reg’. Por ejemplo, utiliza el comando ntdsutil “Install from Media (IFM)” para volcar la base de datos de Active Directory y varios subárboles del Registro a la carpeta %Temp%. Estos archivos se comprimen y se envían a los atacantes.
Parte de la función adll32 que recoge información mediante la herramienta ‘ntdsutil
Parte de la función adll32 que recoge información mediante la herramienta ‘reg’
El módulo utiliza las herramientas ‘ntdsutil’ y ‘reg’ con los siguientes argumentos de línea de comandos:
- ntdsutil “ac in ntds” “ifm” “cr fu %TEMP%\<random>0.dat” q q
- reg save HKLM\SAM %TEMP%\<random>1.dat /y
- reg save HKLM\SECURITY %TEMP%\<random>2.dat /y
- reg save HKLM\SYSTEM %TEMP%\<random>3.dat /y
Estos comandos descargan la base de datos de Active Directory, así como los subárboles SAM, SECURITY y SYSTEM. Los creadores de esta amenaza pueden descifrar estos archivos y volcar los nombres de usuario, los hashes de las contraseñas, los nombres de los equipos, los grupos y otros datos, que pueden utilizarse para su posterior difusión en la red.
Este módulo es un simple descargador. Descarga la carga útil (por ejemplo, otro módulo de Trickbot o un malware de terceros) mediante una URL indicada en el código, y la ejecuta.
Parte de la rutina de descarga de aexecDll32
Se trata de un módulo Man-in-the-Browser. Contiene una implementación completa del módulo principal de IcedID. Puede interceptar el tráfico web en la máquina víctima. Este módulo tiene incrustado, además, el binario ‘Anubis VNC’ (también conocido como ‘HDESK Bot’), que es un RAT personalizado basado en el protocolo VNC (Virtual Network Computing), utilizado por IcedID para el control remoto.
Este es un módulo de proxy inverso con una implementación personalizada del protocolo SOCKS5. Se utiliza para desviar el tráfico a través del host comprometido.
Este módulo es una implementación de ‘Hidden VNC’, que es una herramienta de administración remota personalizada basada en el protocolo VNC (Virtual Network Computing). “Hidden” significa que esta modificación del VNC crea un escritorio adicional oculto al usuario, lo que permite a los atacantes trabajar con el sistema comprometido de la misma manera que a través de una conexión RDP, pero sin llamar la atención del usuario. Las sesiones web y las contraseñas de los usuarios guardadas en el navegador están disponibles en las sesiones hVNC. El atacante puede ejecutar libremente un navegador web en un sistema remoto, accediendo a cualquier servicio web cuando hay una sesión de usuario activa.
Este módulo roba los datos de las cookies de los navegadores web. Se dirige a las bases de datos de almacenamiento de Chrome, Firefox, Internet Explorer y Microsoft Edge.
El módulo también se conoce como ‘DomainGrabber’. Recoge la información del controlador de dominio en los sistemas comprometidos accediendo a la carpeta SYSVOL. La primera modificación de este módulo enviaba consultas a los archivos groups.xml, services.xml, scheduledtasks.xml, datasources.xml, printers.xml y drives.xml. La modificación actual de este módulo sólo consulta las directivas de grupo (groups.xml).
Rutinas para la recopilación de políticas de grupo en el módulo DomainGrabber
Este módulo está diseñado para robar contraseñas. Puede robar las credenciales almacenadas en el registro, las bases de datos de diferentes aplicaciones, la configuración y los “archivos valiosos”, es decir, las claves privadas, los certificados SSL y los archivos de datos de las criptobilleteras. También es capaz de obtener información de autorrelleno de los navegadores web. Esta es la lista de aplicaciones de las que el módulo es capaz de robar datos: Git, TeamViewer, OpenSSH, OpenVPN, KeePass, Outlook, FileZilla, Internet Explorer, Mozilla Firefox, Google Chrome, Microsoft Edge, RDP, WinSCP, VNC, UltraVNC, RealVNC, TigerVNC, PuTTY y AnyConnect. Hay que tener en cuenta que las nuevas versiones del módulo también pueden tener como objetivo a otras aplicaciones.
Este es un escáner de archivos FTP (File Transfer Protocol) y SFTP (SSH File Transfer Protocol) basado en el proyecto de software de código abierto cURL. El módulo recibe la lista de archivos y los recursos FTP/SSH que coinciden con las reglas, enumera los archivos en el recurso objetivo e informa al C2 sobre los archivos encontrados.
Parte de la rutina de lectura de SFTP
El módulo roba datos de los navegadores web, entre ellos la configuración del navegador, las cookies, el historial, el título, el recuento de visitas y el almacenamiento local de HTML5. Sus blancos son los navegadores Internet Explorer, Mozilla Firefox, Google Chrome y Microsoft Edge. El módulo también recoge información sobre los plugins y componentes instalados en el navegador.
Parte de la rutina de obtención de información del navegador
Este módulo se utiliza para interceptar la actividad relacionada con los sitios web bancarios en los navegadores. Utiliza inyecciones web para robar información financiera. Se admiten dos tipos de ataques: “estático” y “dinámico”. El ataque “estático” redirige la solicitud del usuario a una página de phishing maliciosa, mientras que el ataque “dinámico” pasa todo el tráfico a través del servidor proxy malicioso, lo que permite obtener información de los formularios de entrada y modificar la respuesta del sitio web bancario inyectando scripts maliciosos adicionales en las páginas que se devuelven.
Ejemplos de configuraciones “estáticas” y “dinámicas”
Para interceptar el tráfico, una versión antigua del módulo (activa antes de 2019) se inyectaba en numerosos procesos del navegador y enganchaba funciones de la API de red responsables de la rutina de cifrado SSL y de la validación de certificados de sitios web: HttpSendRequest, InternetReadFile para Internet Explorer, PR_Read, PR_Write para Mozilla Firefox, SSL_read, SSL_write para Google Chrome.
Sin embargo, a principios de 2019, se lanzó un módulo actualizado. Los desarrolladores abandonaron la interceptación de múltiples funciones en diferentes navegadores y se concentraron en enganchar sólo unas pocas funciones básicas de red de Microsoft Windows: la función ws2_32::connect() y la función de extensión de WSA mswsock::ConnectEx(). Para realizar un ataque a las conexiones SSL, el módulo genera un certificado autofirmado y lo inserta en el almacén de certificados. Para instalar el certificado autofirmado en diferentes navegadores se utilizan diferentes APIs internas del navegador. También las funciones crypt32::CertGetCertificateChain() y crypt32::CertVerifyCertificateChainPolicy() se enganchan para omitir la validación de certificados.
EMBEDDED MODULE PE timestamp:2020-09-17 InternalName:<payload32.dll>
Este submódulo se inyecta en los procesos de los navegadores (Internet Explorer, Mozilla Firefox, Google Chrome, Microsoft Edge) e intercepta la API de red para redirigir el tráfico de los navegadores a través de un proxy local basado en el protocolo SOCKS modificado. También intercepta las APIs responsables de la validación de la cadena de certificados, con el fin de falsear los resultados de la comprobación.
Este módulo enumera todos los discos y carpetas, y busca patrones de correo electrónico en los archivos. Omite los archivos con las extensiones .avi, .mov, .mkv, .mpeg, .mpeg4, .mp4, .mp3, .wav’, .ogg, .jpeg, .jpg, .png, .bmp, .gif, .tiff, .ico. Además, desempaqueta archivos con extensiones .xlsx, .docx, .zip, y realiza la misma búsqueda de patrones de correo electrónico en el archivo extraído. Cada vez que termina el escaneo de un disco, el módulo envía la lista de direcciones encontradas al servidor C2.
Este módulo es un escáner de red basado en el código fuente del proyecto de software Masscan. El módulo solicita el rango de direcciones IP al C2, escanea todas las IP en este rango en busca de puertos abiertos, y envía la lista de direcciones y puertos encontrados de vuelta al servidor C2.
El módulo implementa la funcionalidad principal del spambot Gophe. El spambot Gophe se usaba para propagar el malware Dyre. Dado que Trickbot es el sucesor de Dyre, no es de extrañar que haya heredado también el código fuente de Gophe. Puede recopilar correos electrónicos de Outlook y enviar spam a través de Outlook usando MAPI. También elimina los rastros de spam eliminando los correos electrónicos de la carpeta Elementos enviados de Outlook. Este módulo también es propagado por Trickbot como un ejecutable independiente conocido como TrickBooster.
Este módulo obtiene información sobre la red desde el sistema local. Utiliza los siguientes métodos de propiedad de ADSI (Active Directory Service Interfaces) para recopilar información:
- ComputerName;
- SiteName;
- DomainShortName;
- DomainDNSName;
- ForestDNSName;
- DomainController.
Recolecta los nombres DNS de todos los árboles de directorios del bosque del equipo local. También obtiene una lista completa de procesos y una instantánea de la información del sistema (Arquitectura del sistema operativo / Tipo de producto / Versión / Compilación / Fecha de instalación / LastBootUpTime / Número de serie / Usuario / Organización / Memoria física total).
El módulo ejecuta y recopila los resultados de los comandos seleccionados:
- “ipconfig /all”
- “net config workstation”
- “net view /all”
- “net view /all /domain”
- “nltest /domain_trusts”
- “nltest /domain_trusts /all_trusts”
Este módulo es un módulo de proxy inverso con una implementación personalizada del protocolo SOCKS5. Se utiliza para desviar el tráfico a través del host comprometido. El módulo puede determinar la dirección IP de la red externa mediante el protocolo STUN utilizando los servidores STUN de Google. También puede crear nuevos procesos al recibir la línea de comandos del proxy-C2. No puede descargar binarios para su ejecución, pero la capacidad de crear nuevos procesos iniciando ‘powershell.exe’ con un script codificado en Base64 en la línea de comandos transforma este módulo en una puerta trasera. Hay que tener en cuenta que se trata de una táctica común para muchos actores.
Este módulo está escrito en Delphi, lo cual es atípico. El módulo intenta recuperar las credenciales del perfil de Outlook almacenado en el registro del sistema.
Este módulo recibe la lista de dominios, logins y contraseñas de C2, e intenta encontrar el servicio OWA en los dominios seleccionados. Para ello, crea una URL agregando subdominios (‘webmail.’, ‘mail.’, ‘outlook.’) a los dominios de la lista, y estableciendo la ruta de la URL en ‘/owa’. Después de eso, hace una petición POST a la URL creada, y comprueba la respuesta en busca de cadenas, etiquetas o cabeceras específicas de OWA. El módulo informa entonces al C2 sobre las URL de OWA encontradas. También puede realizar un ataque de fuerza bruta a las URL de OWA encontradas con los inicios de sesión y las contraseñas recibidas de C2.
Parte de la rutina de informe C2 en el módulo owaDll32
Este módulo contiene el módulo cifrado RwDrv.sys. Instala el controlador RwDrv.sys para obtener acceso de bajo nivel al hardware. Identifica la plataforma de hardware, comprueba la protección contra escritura de UEFI/BIOS e informa al C2. No puede escribir ningún implante en la UEFI, ni ningún shellcode en la memoria física. Sin embargo, el código del módulo puede actualizarse fácilmente con esta funcionalidad.
MÓDULO SYS EMBEDDED timestamp:2013-03-25 InternalName:RwDrv.sys
Este es un controlador de la utilidad RWEverything. Esta utilidad permite acceder al hardware del equipo.
Utilizando las Interfaces de Servicio de Directorio Activo (ADSI), este módulo realiza consultas de Protocolo Ligero de Acceso a Directorios (LDAP) y de Catálogo Global (GC) para obtener los nombres de las unidades organizativas, el nombre del sitio, el nombre de la cuenta de grupo, el nombre de la cuenta personal, el nombre del host del equipo, con las máscaras seleccionadas ‘*POS*’, ‘*REG*’, ‘*CASH*’, ‘*LANE*’, ‘*STORE*’, ‘*RETAIL*’, ‘*BOH*’, ‘*ALOHA*’, ‘*MICROS*’, ‘*TERM*’.
Parte de la rutina de informe C2 en el módulo psfin32
Consultas de GlobalCatalog (GC) mediante ADSI
Este módulo recibe una lista de dominios, direcciones IP, inicios de sesión y contraseñas desde el C2, realiza la comprobación de la conexión RDP en la lista de objetivos, e informa al C2 sobre el estado de conexión de los objetivos. Puede lanzar ataques de fuerza bruta contra los sistemas objetivo, utilizando los inicios de sesión y las contraseñas recibidas. También tiene la capacidad de forzar las credenciales introduciendo cambios en las IP, los nombres de dominio y los inicios de sesión, por ejemplo, sustituyendo, intercambiando o eliminando letras, números, puntos, cambiando las minúsculas por las mayúsculas o viceversa, invirtiendo la cadena, etc.
Esta es la primera implementación del módulo anubisDll32. No tiene incrustado el binario ‘Anubis VNC’.
El módulo se utiliza para propagar Trickbot en la red. Descarga Trickbot de la URL ‘http[:]//172[.]245.6.107/images/control.png’ y lo guarda como ‘tempodile21.rec’. A continuación, enumera los recursos de red e intenta copiar el Trickbot descargado en los recursos compartidos C$ o ADMIN$ como ‘nats21.exe’. Luego crea e inicia el servicio remoto en el sistema comprometido en las siguientes rutas:
- %SystemDrive%\nats21.exe
- %SystemRoot%\system32\nats21.exe
Los siguientes nombres de servicio se utilizan para ocultar la presencia de nats21.exe.
- SystemServiceHnet
- HnetSystemService
- TechnoHnetService
- AdvancedHnexTechnic
- ServiceTechnoSysHnex
- HnexDesktop
Este módulo tiene la misma funcionalidad que shareDll32. Sin embargo, el binario de Trickbot lanzado por este módulo tiene el nombre de ‘nicossc.exe’, y la URL que utiliza para obtener Trickbot es http[:]//185[.]142.99.26/image/sdocuprint.pdf. Los nombres de los servicios también son diferentes:
- CseServiceControl
- ControlServiceCse
- BoxCseService
- TechCseService
- AdvanceCseService
- ServiceCseControl
- CseServiceTech
- TechCseServiceControl
El módulo trata de implementar el escáner de vulnerabilidades SQLi. Recibe la lista de dominios de destino e intenta ampliarla con subdominios consultando la interfaz web de Entrust ‘https[:]//ctsearch.entrust[.]com/api/v1/certificates?fields=subjectDN&domain=<targeted_doma in>&includeExpired=true&exactMatch=false&limit=100’. A continuación, realiza múltiples consultas HTTP con datos malformados en páginas y formularios de los dominios objetivo, mide el tiempo o la diferencia en las respuestas para comprobar si el recurso objetivo es potencialmente vulnerable.
El módulo recoge las direcciones de los servidores SQL. Enumera los valores del registro en “HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL” para obtener las instancias del servidor SQL. También realiza una petición de difusión UDP en los puertos 1433 y 1434 para obtener instancias del servidor SQL desde el servicio SQL Server Browser, que normalmente se ejecuta en estos puertos. Después de reunir las instancias del servidor SQL, lanza el submódulo ‘mailCollector’ y le pasa los objetivos recogidos.
EMBEDDED EXE MODULE timestamp:2020-04-23 InternalName:<none>AliasName:mailCollector
Este submódulo utiliza la interfaz ADODBI para comunicarse con servidores SQL, enumerar bases de datos y realizar consultas de búsqueda para la extracción de direcciones de correo electrónico. Se utilizan las siguientes plantillas de consulta:
- select COUNT(*) from [%s] where [%s] like ‘%%@%%.%%’
- select [%s] as MAIL from [%s] where [%s] like ‘%%@%%.%%’
Esta es una versión antigua de squDll32. Utiliza SQLDMO.dll para enumerar las instancias de servidor SQL disponibles.
Este módulo propaga Trickbot a través del exploit EternalRomance. Activa la autenticación WDigest modificando el valor ‘UseLogonCredential’ de la clave ‘HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest’ del registro. Esta modificación está obligada a guardar las credenciales en la memoria de lsass.exe (Local Security Authority Subsystem Service). El módulo tabDll32 inyecta entonces el módulo incrustado ‘screenLocker’ en ‘explorer.exe’ y bloquea la estación de trabajo con la pantalla de bloqueo, obligando al usuario a reiniciar la sesión. Espera el siguiente inicio de sesión del usuario y desecha la credencial de la memoria de LSASS utilizando la funcionalidad de Mimikatz. Las credenciales robadas se envian al C2. Después de eso, tabDll32 descarga la carga útil desde URL especificadas en el código – normalmente es el cargador (downloader) Trickbot, inicia hasta 256 subprocesos y utiliza el exploit EternalRomance para propagar la carga útil descargada por la red rápidamente. Otro módulo incrustado ‘ssExecutor_x86’ se utiliza para configurar la persistencia en los sistemas explotados para la carga útil descargada. Este módulo también contiene el código principal del módulo ‘shareDll32’, y lo utiliza para propagarse por la red.
El módulo ‘ssExecutor_x86’ copia la carga útil en las carpetas ‘C:\WINDOWS\SYSTEM32\’ y ‘C:\WINDOWS\SYSTEM32\TASKS’, y las ejecuta. Enumera los perfiles de usuario en el registro, copia la carga útil en ‘C:\Users\<Perfil de usuario>\AppData\Roaming\’ y establece la persistencia mediante la creación de accesos directos en la carpeta ‘Startup’ del perfil y de la clave ‘Run’ en el registro de perfiles.
El módulo tabDll32 también existe en forma de un ejecutable independiente con el alias ‘spreader’.
Este módulo recoge información básica del sistema. Utiliza WQL para consultar y obtener información sobre el nombre del sistema operativo, la arquitectura, la versión, la CPU y la memoria RAM. También recoge los nombres de las cuentas de usuario en el equipo local y enumerando las claves de registro ‘HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall’ y ‘HKLM\SYSTEM\CurrentControlSet\Services’ para reunir información sobre el software y los servicios instalados.
Este módulo utiliza la API RAS (Remote Access Service) para establecer una conexión VPN (Virtual Private Network). El servidor VPN de destino, y las credenciales para la conexión son proporcionadas por archivos de comando y configuración enviados por el servidor C2.
Configuración de la entrada RAS (Servicio de Acceso Remoto).
El módulo vpnDll32 establece la conexión VPN
El módulo se utiliza para interceptar en los navegadores la actividad relacionada con los sitios web bancarios. Utiliza inyecciones web para robar información financiera. Además de las típicas inyecciones “estáticas” y “dinámicas”, esta modificación también admite inyecciones web en el formato Zeus, y puede modificar páginas del lado cliente.
Trickbot web inyecta un archivo de configuración en formato Zeus
Este módulo propaga Trickbot con el exploit EternalBlue. Enumera los equipos utilizando la API de administración de redes y las interfaces de servicio de Active Directory. Utiliza el exploit EternalBlue para inyectar shellcode en la memoria del proceso LSASS. El shellcode inyectado descarga Trickbot desde una URL codificada y lo ejecuta.
Descripción de otros módulos
Módulo | Descripción |
adllog32 | Versión de depuración del módulo adll32 |
bcClientDllNew32 | Igual a bcClientDll32 |
bcClientDllTestTest32 | Igual a bcClientDll32 |
bexecDll32 | Igual a aexecDll32 |
dpwgrab32 | Igual a tdpwgrab32 |
pwgrab32 | Igual a tdpwgrab32 |
pwgrabb32 | Igual a tdpwgrab32 |
sokinjectDll32 | Igual a injectDll32 |
tinjectDll32 | Igual a injectDll32 |
totinjectDll32 | Igual a injectDll32 |
mexecDll32 | Igual a aexecDll32 |
networknewDll32 | Igual a networkDll32 |
socksDll32 | Igual a NewBCtestnDll32 |
oimportDll32 | Igual a importDll32 |
onixDll32 | Igual a aexecDll32 |
pwgrab32 | Igual a dpwgrab32 |
pwgrabb32 | Igual a dpwgrab32 |
shadnewDll32 | Igual a anubisDll32 |
socksDll32 | Igual a NewBCtestnDll32 |
sokinjectDll32 | Igual a injectDll32 |
stabDll32 | Igual a tabDll32 |
tabtinDll32 | Igual a tabDll32 |
testtabDll32 | Igual a tabDll32 |
ttabDll32 | Modificación anterior de tabDll32 |
timportDll32 | Igual a importDll32 |
tinjectDll32 | Igual a injectDll32 |
tnetworkDll32 | Igual a networkDll32 |
totinjectDll32 | Igual a injectDll32 |
tpwgrab32 | Igual a dpwgrab32 |
trdpscanDll32 | Igual a rdpscanDll32 |
tshareDll32 | Igual a shareDll32 |
ttabDll32 | Igual a tabDll32 |
tvncDll32 | Igual a bvncDll32 |
TwoBCtestDll32 | Igual a bcClientDll32 |
twormDll32 | Igual a wormDll32 |
wormwinDll32 | Igual a wormDll32 |
vncDll32 | Igual a bvncDll32 |
Geografía de los ataques de Trickbot
Analizamos las detecciones de Trickbot que se produjeron desde enero hasta principios de octubre de 2021. La mayoría de los usuarios afectados se encontraban en Estados Unidos (13,21%), Australia (10,25%) y China (9,77%). México (6,61%) y Francia (6,30%) ocupan el cuarto y quinto lugar, respectivamente.
Descripción de los módulos de Trickbot