ESET participa en una operación global para revolucionar Trickbot


A lo largo de su monitoreo, ESET analizó miles de muestras maliciosas cada mes para ayudar en este esfuerzo.

ESET ha colaborado con los socios Microsoft, Black Lotus Labs de Lumen, NTT Ltd. y otros en un intento de interrumpir las botnets de Trickbot. ESET contribuyó al proyecto proporcionando análisis técnico, información estadística y nombres de dominio e IP de servidor de comando y control conocidos.

Trickbot ha infectado más de un millón de dispositivos informáticos en todo el mundo desde finales de 2016 y hemos estado rastreando sus actividades desde el principio. Solo en 2020, nuestra plataforma automática analizó más de 125.000 muestras maliciosas y descargó y descifró más de 40.000 archivos de configuración utilizados por los diferentes módulos de Trickbot, brindándonos un excelente punto de vista de los diferentes servidores C&C utilizados por esta botnet.

Trickbot, una botnet duradera

Trickbot ha sido una gran molestia para los usuarios de Internet durante mucho tiempo. La primera detección de ESET para Trickbot se creó a finales de 2016. Durante estos años, se han reportado compromisos de Trickbot de manera constante, lo que la convierte en una de las redes de bots más grandes y duraderas que existen. Como se informó en nuestro Informe de amenazas Q1 2020, Trickbot es una de las familias de malware bancario más frecuentes. Como se ve en la Figura 1, los datos de telemetría de ESET muestran que esta cepa de malware representa una amenaza para los usuarios de Internet a nivel mundial.

Figura 1. Detecciones de Trickbot en todo el mundo entre octubre de 2019 y octubre de 2020

A lo largo de su existencia, el malware Trickbot se ha distribuido de varias formas. Recientemente, una cadena que observamos con frecuencia es la caída de Trickbot en sistemas ya comprometidos por Emotet, otra gran botnet. En el pasado, sus operadores aprovechaban el malware Trickbot principalmente como un troyano bancario, robando credenciales de cuentas bancarias en línea e intentando realizar transferencias fraudulentas.

La arquitectura modular de Trickbot le permite realizar una amplia gama de acciones maliciosas utilizando una variedad de complementos. Puede robar todo tipo de credenciales de una computadora comprometida y, más recientemente, se ha observado principalmente como un mecanismo de entrega de ataques más dañinos, como el ransomware.

Uno de los complementos más antiguos desarrollados para la plataforma permite que Trickbot use inyecciones web, una técnica que permite que el malware cambie dinámicamente lo que ve el usuario de un sistema comprometido cuando visita sitios web específicos. Para operar, este complemento se basa en archivos de configuración descargados por el módulo principal. Estos contienen información sobre qué sitios web deben modificarse y cómo. La Figura 2 muestra un extracto de uno de esos archivos de configuración descifrados que contiene las URL específicas y las URL C&C maliciosas que el bot debería contactar cuando la víctima accede a las URL específicas.

Figura 2. Extracto de un descifrado dinj archivo de configuración (redactado)

A través de nuestro monitoreo de las campañas de Trickbot, recopilamos decenas de miles de archivos de configuración diferentes, lo que nos permite saber qué sitios web fueron atacados por los operadores de Trickbot. La Figura 3 muestra la cantidad de sitios web extraídos de los archivos de configuración en 2020.

Figura 3. Número de sitios web objetivo en 2020

Estas URL específicas pertenecen en su mayoría a instituciones financieras. Hay una fuerte caída en la cantidad de objetivos encontrados en estos archivos de configuración a partir de marzo. Esto coincide con el momento en que los operadores de Trickbot eliminaron el módulo webinject de la lista de complementos predeterminados descargados automáticamente por el módulo principal; es por eso que no tenemos datos en marzo; tuvimos que ajustar nuestros procesos para mantener la visibilidad en las URL específicas. Es probable que esta caída en el número de objetivos se deba a que la banda Trickbot comenzó a centrarse en otro medio de monetización durante ese período de tiempo: el ransomware.

En estos casos, primero se aprovecha un compromiso de Trickbot para realizar reconocimiento y movimiento lateral en la red de una organización y luego para lanzar Ryuk ransomware en tantos sistemas como sea posible. A partir de los datos que hemos recopilado, parece que los operadores de Trickbot pasaron de intentar robar dinero de cuentas bancarias a comprometer a toda una organización con Trickbot y luego usarlo para ejecutar Ryuk y exigir un rescate para desbloquear los sistemas afectados.

También observamos nuevos proyectos de desarrollo de malware que supuestamente provenían de los operadores de Trickbot, lo que también podría explicar su repentino desinterés en operar Trickbot como un troyano bancario. Uno de estos proyectos es el llamado Ancla project, una plataforma orientada principalmente al espionaje en lugar de al crimeware. También es probable que estén involucrados en el desarrollo de la Bazar malware: un cargador y una puerta trasera que se utilizan para implementar malware, como ransomware, y para robar datos confidenciales de sistemas comprometidos.

Trickbot inmersión profunda

Lo que hace que Trickbot sea tan versátil es que sus funcionalidades se pueden ampliar enormemente con complementos. A lo largo de nuestro seguimiento, pudimos recopilar y analizar 28 complementos diferentes. Algunos están destinados a recopilar contraseñas de navegadores, clientes de correo electrónico y una variedad de aplicaciones, mientras que otros pueden modificar el tráfico de red o autopropagarse. Los complementos de Trickbot se implementan como DLL estándar de Windows, generalmente con al menos estas cuatro exportaciones distintivas: comienzo, Controlar, Lanzamiento y FreeBuffer.

Curiosamente, algunos tienen Encabezados ricos mientras que otros no. Los encabezados enriquecidos son una estructura de datos no documentada que se agrega a todos los archivos binarios creados por Microsoft Visual Studio 97 SP3 o posterior. Contienen información sobre el entorno de desarrollo donde se compiló el ejecutable. El hecho de que los encabezados enriquecidos no siempre estén presentes en los complementos, y que cuando están presentes, muestran diferentes entornos de desarrollo, nos lleva a creer que estos complementos fueron escritos por diferentes desarrolladores.

No observamos muchas muestras diferentes de los diferentes complementos una vez que se desarrollaron y usaron en la naturaleza. Los que más cambiaron son los que contienen un archivo de configuración estático incrustado en el binario. Estos archivos de configuración estática contienen, entre otras cosas, información del servidor C&C, por lo que se espera que estos cambien con el tiempo. La Figura 4 muestra la cantidad de variaciones que vimos para cada módulo que recopilamos a través de nuestra plataforma de seguimiento de botnets. La mayoría de las variantes de los módulos más nuevos vienen en pares: aproximadamente la mitad de los módulos recopilados eran versiones de 32 bits, mientras que la otra mitad eran versiones de 64 bits. En el Apéndice puede encontrar una breve descripción de cada uno de estos módulos.

Figura 4. Recuento de variantes para cada complemento de Trickbot

Archivos de configuración para todos

Aunque hay potencialmente muchos archivos de configuración descargados diferentes presentes en una instalación de Trickbot, el módulo principal contiene una configuración codificada y encriptada. Esto contiene una lista de servidores C&C, así como una lista predeterminada de complementos que deben descargarse.

Como se mencionó anteriormente, algunos complementos también dependen de los archivos de configuración para funcionar correctamente. Estos complementos se basan en el módulo principal para descargar estos archivos de configuración de los servidores de C&C. Los complementos logran esto al pasar una pequeña estructura de configuración de módulo, almacenada en la sección de superposición del binario del complemento, que le permite al módulo principal saber qué debe descargar.

Poder recopilar estos archivos de configuración nos permitió mapear la infraestructura de red de Trickbot. El módulo principal utiliza su lista de servidores C&C codificados y se conecta a uno de ellos para descargar una segunda lista de servidores C&C, los llamados psrv lista. El módulo principal se pone en contacto con esta segunda capa de servidores C&C para descargar los complementos predeterminados especificados en el archivo de configuración codificado. Otros módulos se pueden descargar más tarde al recibir un comando para hacerlo de los operadores de Trickbot. Algunos de los complementos, como el complemento injectDll, por ejemplo, tienen sus propios servidores C&C, que contienen archivos de configuración. Finalmente, hay servidores C&C dedicados para complementos. Los más frecuentes de ellos son los llamados dpost servidores, utilizados para extraer datos robados como credenciales pero, como se detalla en el Apéndice, existen otros. Todas estas capas diferentes hacen que el esfuerzo de disrupción sea más desafiante. La figura 5 ilustra este proceso de comunicación inicial.

Figura 5. Proceso de comunicación de la red de Trickbot

Hemos estado rastreando estos diferentes servidores C&C desde principios de 2017. Este conocimiento fue, por supuesto, vital en el esfuerzo de interrupción, ya que pudimos contribuir al mapeo de la infraestructura de red utilizada por los actores maliciosos.

Otro artefacto interesante que pudimos recopilar al rastrear esta botnet es el identificador único presente en cada muestra de Trickbot, el llamado gtag. Esta es una cadena presente en el archivo de configuración inicial codificado que identifica diferentes campañas de Trickbot o modo de compromiso. Por ejemplo, el mor las campañas son creyó ser compromisos de Trickbot debido a Emotet. gtags A veces también puede indicar el objetivo de una campaña. Un buen ejemplo es uk03-1, que se centró principalmente en instituciones financieras del Reino Unido.

La Figura 6 presenta una cronología de todos gtags extrajimos de los archivos de configuración de Trickbot desde septiembre de 2019 hasta septiembre de 2020. Mirando el mor grupo, podemos ver la parada abrupta de las campañas de Emotet en abril de 2020. También hay algunos grupos que son utilizados por módulos específicos. los nene, Jim y lib Los grupos son algunos de los más vistos gtags y están asociados con los módulos mshare, nworm / mworm y tab respectivamente, según un reciente Unit42 entrada en el blog. Como todos estos se utilizan para el movimiento lateral, no es sorprendente ver una línea casi constante en su línea de tiempo.

Figura 6. gtags cronología del grupo

Palabras de clausura

Tratar de interrumpir una amenaza esquiva como Trickbot es muy desafiante y complejo. Tiene varios mecanismos de respaldo y su interconexión con otros actores ciberdelincuentes altamente activos en la clandestinidad hace que la operación general sea extremadamente compleja. Continuaremos rastreando esta amenaza y evaluando el impacto que tales acciones pueden tener en una botnet tan extensa a largo plazo.

Un agradecimiento especial a Jakub Tomanek, Jozef Dúc, Zoltán Rusnák y Filip Mazán

Nombres de detección de ESET

Win32 / TrickBot
Win64 / TrickBot

Técnicas MITRE ATT & CK

Nota: esta tabla fue construida usando versión 7 del marco MITRE ATT & CK.

Táctica CARNÉ DE IDENTIDAD Nombre Descripción
Acceso inicial T1566.001 Phishing: archivo adjunto de spearphishing Trickbot ha utilizado un correo electrónico con una hoja de Excel que contiene una macro maliciosa para implementar el malware.
Ejecución T1059.003 Intérprete de comandos y secuencias de comandos: Shell de comandos de Windows Trickbot ha utilizado cmd.exe / c para descargar e implementar el malware en la máquina del usuario.
T1059.005 Intérprete de comandos y secuencias de comandos: Visual Basic Trickbot ha utilizado macros en documentos de Excel para descargar e implementar el malware en la máquina del usuario.
T1106 API nativa Trickbot usa la API de Windows CreateProcessW para gestionar el flujo de ejecución.
T1204.002 Ejecución del usuario: archivo malicioso Trickbot ha intentado que los usuarios inicien un archivo adjunto de Excel malicioso para entregar su carga útil.
T1059.007 Intérprete de comandos y secuencias de comandos: JavaScript / Jscript El grupo Trickbot usó JavaScript ofuscado para descargar el cargador Trickbot.
T1559.001 Comunicación entre procesos: modelo de objetos componentes Trickbot usó COM para configurar la tarea programada para la persistencia.
Persistencia T1547.001 Ejecución de inicio automático de inicio o inicio de sesión: claves de ejecución del registro / carpeta de inicio Trickbot establece la persistencia en la carpeta de Inicio.
T1053.005 Tarea / Trabajo programado: Tarea programada Trickbot crea una tarea programada en el sistema que proporciona persistencia.
Escalada de privilegios T1055.012 Inyección de proceso: Proceso de vaciado Trickbot se inyecta en el svchost.exe proceso.
Evasión de defensa T1140 Desofuscar / decodificar archivos o información Trickbot decodifica sus módulos y datos de configuración.
T1562.001 Impedir defensas: deshabilitar o modificar herramientas Trickbot puede desactivar Windows Defender.
T1112 Modificar registro Trickbot puede modificar las entradas del registro.
T1027 Archivos o información ofuscados Trickbot utiliza nombres no descriptivos para ocultar la funcionalidad y utiliza un algoritmo de cifrado AES-CBC (256 bits) para su cargador y archivos de configuración.
T1027.002 Embalaje de software Trickbot aprovecha un empaquetador personalizado para ofuscar su funcionalidad.
T1553 Subvertir los controles de confianza Trickbot utiliza cargadores firmados con certificados válidos robados.
Acceso a credenciales T1555.003 Credenciales de almacenes de contraseñas: Credenciales de navegadores web Trickbot puede obtener contraseñas almacenadas por navegadores web como Chrome, Firefox, Internet Explorer y Microsoft Edge.
T1056.004 Captura de entrada: enlace de API de credenciales Trickbot tiene la capacidad de capturar credenciales RDP capturando el CredEnumerateA API.
T1552.001 Credenciales no seguras: credenciales en archivos Trickbot puede obtener contraseñas almacenadas por varias aplicaciones como Outlook, Filezilla y WinSCP. Además, busca el .vnc.lnk sufijo para robar credenciales VNC.
T1552.002 Credenciales no seguras: credenciales en el registro Trickbot puede recuperar las credenciales PuTTY del Software SimonTatham Putty Sessions clave de registro.
T1110 Fuerza bruta Trickbot utiliza un ataque de fuerza bruta contra RDP con el módulo rdpscanDll.
Descubrimiento T1087.001 Descubrimiento de cuenta: cuenta local Trickbot recopila los usuarios del sistema.
T1087.003 Descubrimiento de cuenta: cuenta de correo electrónico Trickbot recopila direcciones de correo electrónico de Outlook.
T1082 Descubrimiento de información del sistema Trickbot recopila la versión del sistema operativo, el tipo de CPU, la cantidad de RAM disponible en la máquina de la víctima.
T1083 Descubrimiento de archivos y directorios Trickbot busca en el sistema las siguientes extensiones de archivo: .avi, .mov, .mkv, .mpeg, .mpeg4, .mp4, .mp3, .wav, .ogg, .jpeg, .jpg, .png, .bmp , .gif, .tiff, .ico, .xlsx y .zip. También puede obtener historial de navegación, cookies e información sobre complementos.
T1016 Descubrimiento de la configuración de la red del sistema Trickbot obtiene la dirección IP y otra información de red relevante de la máquina de la víctima.
T1007 Descubrimiento de servicios del sistema Trickbot recopila una lista de programas y servicios instalados en la máquina del sistema.
T1135 Descubrimiento de recursos compartidos de red El módulo Trickbot shareDll / mshareDll descubre recursos compartidos de red a través del WNetOpenEnumA API.
T1057 Descubrimiento de procesos Trickbot utiliza el módulo networkDll para el descubrimiento de la lista de procesos.
Movimiento lateral T1210 Explotación de servicios remotos Trickbot utiliza los exploits EthernalBlue y EthernalRomance para el movimiento lateral en los módulos wormwinDll, wormDll, mwormDll, nwormDll, tabDll.
Colección T1005 Datos del sistema local Trickbot recopila información y archivos locales de la máquina local de la víctima.
T1185 Hombre en el navegador Trickbot utiliza inyecciones web y redireccionamiento del navegador para engañar a las víctimas para que proporcionen sus credenciales de inicio de sesión en una página web falsa o modificada.
Comando y control T1071.001 Protocolo de capa de aplicación: protocolos web Trickbot usa HTTPS para comunicarse con sus servidores C&C, para obtener actualizaciones de malware, módulos que realizan la mayor parte de la lógica del malware y varios archivos de configuración.
T1573.001 Canal cifrado: criptografía simétrica Trickbot utiliza un cifrado personalizado que aprovecha la CryptoAPI de Microsoft para cifrar el tráfico C&C.
T1105 Transferencia de herramientas de ingreso Trickbot descarga varios archivos adicionales y los guarda en la máquina de la víctima.
T1571 Puerto no estándar Algunas muestras de Trickbot han utilizado HTTP en los puertos 447 y 8082 para C&C.
T1219 Software de acceso remoto Trickbot usa el módulo vncDll para controlar remotamente la máquina víctima.
Exfiltración T1041 Exfiltración sobre canal C2 Trickbot extrae datos a través del canal C&C mediante solicitudes HTTP POST.

Apéndice

Módulos de movimiento lateral

  • shareDll, mshareDll, tshareDll
    • Módulos utilizados para propagar el cargador Trickbot a los recursos compartidos de red conectados de la máquina victimizada.
  • wormwinDll, wormDll, mwormDll, nwormDll
    • Módulos utilizados para propagarse dentro de una red local de máquinas infectadas a través de SMB. Utiliza el exploit EternalBlue.
  • tabDll
    • Módulo utilizado para propagarse a la red utilizando el exploit EternalRomance.

Infostealers

  • pwgrab
  • información del sistema
    • Módulo utilizado para recopilar información sobre la máquina víctima.
  • domainDll
    • Módulo utilizado para robar credenciales y otros datos del controlador de dominio a través de LDAP.
  • networkDll
    • Módulo utilizado para recopilar información del sistema y topología de la red.
  • outlookDll
    • Módulo utilizado para robar credenciales de Microsoft Outlook.
  • importDll
    • Módulo utilizado para robar información del navegador como cookies, historial del navegador, configuraciones.
  • buscador de correo
    • Módulo utilizado para buscar archivos en la máquina víctima en una lista de extensiones codificadas (documentos, imágenes, video).
  • cookiesDll
    • Módulo ladrón de cookies del navegador web.
  • squlDll
    • Módulo utilizado para recopilar direcciones de correo electrónico del servidor SQL y extraer credenciales del sistema infectado con la utilidad Mimikatz.
  • aDll
    • Roba la base de datos de Active Directory.
  • psfin
    • El módulo consulta Active Directory en busca de constantes de cadena específicas relacionadas con el software de punto de venta.

Abuso de la red

  • injectDll
  • NewBCtestDll, NewBCtestnDll
    • Módulo que es un proxy inverso y puede ejecutar comandos.
  • vncDll
    • Módulo utilizado como RAT en la máquina víctima.
  • vpnDll
    • Módulo utilizado para crear proxy VPN enrutado a una dirección determinada.
  • rdpscanDll
    • Módulo utilizado para RDP de fuerza bruta en una determinada lista de objetivos.
  • bcClientDllTestTest
    • Un módulo antiguo que se utilizaba para el tráfico de operadores de Trickbot a través de una máquina víctima.
  • shadnewDll
    • Módulo Man-in-the-Browser. Contiene una implementación completa de IcedID módulo principal. Puede interceptar el tráfico web en la máquina víctima.

Otro

  • mexecDll
    • Módulo de “descarga y ejecución” de propósito general.
Nombres de módulo Subconfiguración Encabezados ricos
shareDll, mshareDll, tshareDll NO
wormwinDll, wormDll, mwormDll, nwormDll NO
tabDll dpost SI
pwgrab dpost SI
información del sistema SI
domainDll NO
networkDll dpost SI
outlookDll NO
importDll NO
buscador de correo mailconf NO
cookiesDll dpost SI
squlDll SI
aDll SI
psfin dpost SI
injectDll dinj, sinj, dpost SI/NO
NewBCtestDll, NewBCtestnDll bcconfig3 SI
vncDll vncconf SI
vpnDll vpnsrv SI
rdpscanDll srv SI
bcClientDllTestTest SI
shadnewDll dom SI
mexecDll SI

Enlaces útiles:

Publicación del blog de Microsoft: https://blogs.microsoft.com/on-the-issues/?p=64132





Enlace a la noticia original