Check Point Research encuentra nueva variante de BBTok en América Latina: Descubre cómo utilizan binarios de vivir de la tierra (LOLBins) para operar con bajas tasas de detección. Analizamos los componentes del lado del servidor y la evolución de los métodos de ataque. Este informe detalla las funcionalidades del servidor de carga útil y cómo generan cargas personalizadas para cada víctima

Hallazgos clave en la investigación sobre BBTok:

  • BBTok sigue activo, dirigido a usuarios en Brasil y México mediante geo-cercas.
  • Los operadores han evolucionado sus técnicas desde 2020, con mayor ofuscación y descargadores para evitar detección.
  • BBTok replica interfaces de más de 40 bancos, engañando a las víctimas para que revelen información sensible.
  • Cargas útiles personalizadas se generan desde el lado del servidor según sistema operativo y ubicación.
  • Cadena de infección diversificada para diferentes versiones de Windows, utilizando varios tipos de archivos.
  • Los actores de amenazas agregan código de código abierto y nuevos exploits a su arsenal constantemente.”

Fondo de BBTok

BBTok, un troyano bancario, surgió en América Latina en 2020 y se propagó mediante ataques sin archivos. Sus funciones incluyen tareas como finalizar procesos, controlar el teclado y el mouse, y manipular el portapapeles. Este malware simula páginas de inicio de sesión de varios bancos en México y Brasil. Los operadores de BBTok han adoptado nuevas tácticas, pasando de archivos adjuntos de correo electrónico a enlaces de phishing. Los enlaces de phishing descargan archivos ISO o ZIP que, a su vez, inician la cadena de infección. Este proceso, en apariencia sencillo, oculta una complejidad detrás de escena. El análisis de los enlaces revela el uso de recursos del servidor para la distribución del malware, generando cadenas de infección personalizadas según el sistema operativo y la ubicación de la víctima.

Secuestros Bancarios por BBTok: Detalles Cruciales

BBTok, el banquero, ofrece una amplia gama de capacidades a sus operadores, incluyendo control remoto y funciones típicas de troyanos bancarios. BBTok puede imitar interfaces de más de 40 bancos en México y Brasil, como Citibank, Scotibank, Banco Itaú y HSBC (consulta el Apéndice B para la lista completa). El banquero busca pistas de que la víctima usa estos bancos al examinar ventanas y pestañas abiertas en el navegador. Su objetivo predeterminado apunta a BBVA, con una interfaz falsa que simula su apariencia real. Estas interfaces engañosas persuaden a los usuarios para que divulguen información personal y financiera. El objetivo principal es obtener códigos de seguridad/token (2FA) y realizar transacciones no autorizadas. En ocasiones, también busca el número de tarjeta de pago de la víctima

BBTok, que está escrito en Delphi, utiliza la Biblioteca de Componentes Visuales (VCL) para crear formularios que, literalmente, forman estas interfaces falsas. Esto permite a los atacantes generar de forma dinámica y natural interfaces que se ajustan a la pantalla del ordenador de la víctima y a un formulario específico para el banco de la víctima, sin levantar sospechas. BBVA, que es el banco predeterminado al que apunta el banquero, tiene su interfaz almacenada en una de esas formas llamada “TFRMBG”. Además de los sitios bancarios, los atacantes se han mantenido al día con los tiempos y también han comenzado a buscar información sobre Bitcoin en la máquina infectada, buscando activamente cadenas como ‘bitcoin’, ‘Electrum’ y ‘binance’.

BBTok no se detiene en el engaño visual; También tiene otras capacidades. Específicamente, puede instalar una extensión de navegador maliciosa o inyectar una DLL llamada “rpp.dll” para aumentar su control sobre el sistema infectado y es probable que mejore sus capacidades para engañar a las víctimas. Estos no estaban disponibles durante el tiempo de análisis.

Lo que es notable es el enfoque cauteloso del operador: todas las actividades bancarias solo se ejecutan bajo comando directo de su servidor C2, y no se llevan a cabo automáticamente en todos los sistemas infectados.

Análisis del Servidor de Carga Útil de BBTok

El servidor de carga útil de BBTok se utiliza eficazmente para gestionar su campaña. Esta campaña se inicia cuando una víctima hace clic en un enlace malicioso, generalmente enviado a través de correo electrónico de phishing. Cuando se hace clic en el enlace, se produce la descarga de un archivo ZIP o una imagen ISO, según el sistema operativo de la víctima. A pesar de que este proceso parece sencillo para la víctima, en el servidor se genera una carga útil única en función de los parámetros detectados en la solicitud.

Este proceso se desarrolla en un servidor basado en XAMPP y consta de tres componentes esenciales:

  1. Script de PowerShell: Este script controla la preparación de la carga útil y contiene la mayor parte de la lógica para crear archivos señuelo.
  2. Base de código PHP y base de datos: Diseñada para documentar y gestionar infecciones. La base de datos utiliza SQLite para almacenar información sobre las solicitudes de las víctimas.
  3. Utilidades auxiliares: Mejoran la funcionalidad de estos componentes.

La secuencia de eventos es la siguiente:

  1. Una víctima realiza una solicitud HTTP a una de las rutas posibles, dependiendo del idioma (español o portugués).
  2. En función del archivo solicitado, el servidor gestiona la solicitud mediante un archivo .htaccess y descarga.php.
  3. Los scripts utilizan el archivo para almacenar información a través de una base de datos SQLite sobre la solicitud, incluida la huella digital de la víctima.
  4. descarga.php llama a generar un archivo personalizado, que se entrega finalmente a la víctima.

El código base en PHP consta de los siguientes archivos:

  • descarga/descargar.php: Gestiona nuevas conexiones y sirve documentos señuelo a las PC de las víctimas.
  • db.php: Genera y gestiona la base de datos SQLite que incluye datos de las víctimas.
  • generator.php: Clase de utilidad utilizada para generar enlaces aleatorios, cadenas y otras funcionalidades.

El archivo “descargar” contiene la lógica principal del proceso de infección y está anotado con comentarios en español y portugués, lo que proporciona pistas sobre el origen de los atacantes.

El script realiza las siguientes acciones:

  1. Verifica la ubicación geográfica de la víctima utilizando la dirección IP referida en el enlace mediante ip-api.com y guarda esta información en un archivo.
  2. Si se determina que la víctima no se encuentra en un país objetivo (en este caso, México o Brasil), la conexión HTTP se cierra de inmediato con un mensaje de error 404. Esto significa que el servidor solo atiende a víctimas de estos dos países y rechaza cualquier otra solicitud.

3. Si la víctima pasa la verificación de país, el script procede a analizar el agente de usuario de la víctima para identificar la versión del sistema operativo Windows que está utilizando.

4. Después de identificar la versión del sistema operativo Windows de la víctima y recopilar otros detalles, el script envía esta información al generador de carga útil de PowerShell junto con el código de país y el nombre del archivo señuelo.

Generador de Carga Útil de PowerShell en BBTok

El script del generador de carga útil de PowerShell, denominado ps_gen.ps1, desempeña un papel crucial en la operación del malware BBTok. A continuación, se presenta una descripción de su funcionamiento:

Este script tiene la capacidad de generar diversas cargas útiles de archivos, ya sea en formato ZIP o ISO. A lo largo del tiempo, se han encontrado varias versiones de este script, algunas con fechas que datan de julio de 2022, lo que sugiere la duración de la operación del malware.

El análisis de la versión más reciente de este script se detalla a continuación. Para información adicional sobre variaciones anteriores y cambios en el script a lo largo del tiempo, consulte la sección de “Versiones anteriores”.

El script generador es invocado por el servidor de carga útil utilizando la función DownloadFile() con argumentos como el nombre del archivo generado, la versión del sistema operativo de la víctima y el código de país de la víctima. Estos argumentos se pasan al script para personalizar la carga útil según las especificaciones de la víctima.

El servidor de carga útil de BBTok genera las cargas maliciosas de archivo según dos parámetros principales:

  1. País de origen de la víctima: Brasil o México.
  2. Sistema operativo extraído del User-Agent: Windows 10 o Windows 7.

Según estos resultados, se determinan los siguientes parámetros del archivo malicioso:

  • Tipo de archivo: ISO para Windows 10, ZIP para Windows 7 y otros.
  • Nombre del archivo DLL: Diferente según el país de destino, utilizando “TrammyGammy” para Brasil y otro nombre para México.

Además, el archivo contiene un acceso directo LNK. En Windows 10, utiliza el icono de acceso directo de Microsoft Edge, mientras que en Windows 7, utiliza el de Google Chrome.

La lógica de ejecución final varía según el sistema operativo de la víctima. Para las víctimas de Windows 10, el script ejecuta MSBuild.exe con un archivo que se encuentra en el servidor y que almacena las DLL maliciosas necesarias para la siguiente etapa. Por otro lado, para Windows 7, la carga útil simplemente descarga la DLL remota correspondiente mediante la ejecución de CMD.

Add-PoshOfuscación

Todas las cargas útiles se someten a un proceso de ofuscación utilizando la función “Add-PoshObfuscation”. Un rastreo básico del código lleva a una fuente única en los foros de hackeo del sitio “benigno.net”. Más precisamente, se trata de una respuesta publicada por un usuario llamado “Qismon” en agosto de 2021. En su respuesta, este usuario proporciona recomendaciones sobre cómo evitar AMSI (Interfaz de Seguridad Avanzada de Microsoft) y productos de seguridad, y también comparte el código de “PoshObfuscation”.

El proceso anteriormente mencionado da lugar a dos variantes de la cadena de infección: una diseñada para Windows 7 y otra para Windows 10. Las diferencias entre ambas versiones se explican por la intención de eludir las medidas de detección más recientes, como AMSI (Interfaz de Seguridad Avanzada de Microsoft).

Ambas cadenas de infección hacen uso de archivos DLL maliciosos que siguen una convención de nombres similar, con nombres como “ammy.dll”, “brammy.dll”, “kammy.dll”, o “trammy.dll”. Estas últimas son versiones más ligeras y ofuscadas del cargador de BBTok, que emplean técnicas de geofencing para evitar la detección antes de llevar a cabo actividades maliciosas. La carga útil final es una nueva iteración del troyano bancario BBTok. Como se mencionó anteriormente, BBTok incluye múltiples herramientas adicionales protegidas con contraseña, lo que otorga a los actores amenazas un acceso completo al sistema infectado, junto con funcionalidades adicionales.

Cadena de infección de Windows 7

La cadena de infección para Windows 7 es relativamente simple y se basa en un archivo LNK contenido en un archivo ZIP. Cuando se ejecuta, el archivo LNK inicia la carga útil “*ammy.dll” usando el comando “rundll32.exe”, el cual descarga, descomprime y ejecuta la carga útil BBTok.

Cadena de infección de Windows 10

La cadena de infección para Windows 10 se encuentra en un archivo ISO con 3 componentes: un archivo LNK, un archivo señuelo y un ejecutable cmd renombrado como “.exe”. Cuando se hace clic en el archivo LNK, se inicia la cadena de infección, utilizando el cmd renombrado.exe para ejecutar los comandos de la siguiente manera:

La cadena de infección:

  1. Copie el archivo señuelo en la carpeta %userprofile% y ábralo.
  1. Ejecuta MSBuild.exe para crear una aplicación mediante un XML almacenado en un servidor remoto, obtenido a través de SMB (Server Message Block).
  2. MSBuild.exe crea una DLL con un nombre aleatorio, que luego descarga *ammy.dll del servidor y la ejecuta utilizando rundll32.exe, como se muestra en el contenido del XML.

4. El descargador *ammy.dll descarga, descomprime y ejecuta la carga maliciosa BBTok.

Esta combinación especial de CMD, MSBuild y recuperación de archivos a través de SMB resulta en una baja tasa de detección para las cadenas de infección en Windows 10.

Versiones anteriores

Durante nuestro análisis de la campaña BBTok, encontramos múltiples versiones de los artefactos del servidor de carga útil. Vimos cambios en todas las partes de la operación, incluido el código PHP, el script de PowerShell y otras utilidades.

Cambios en el código PHP

  • Originalmente, solo las víctimas en México fueron atacadas.
  • La IP de un servidor de carga útil diferente, 176.31.159.196, estaba codificada de forma rígida en el script.
  • En lugar de ejecutar el script de PowerShell directamente, se llamó a un script con nombre gen.php. La dirección IP de la víctima, el agente de usuario y una bandera se insertaron en una base de datos utilizando el archivo db.php. Más tarde, se comprueba que la bandera no sirve la misma carga útil dos veces.

Modificaciones del script de PowerShell

  • En las primeras versiones del script, el LNK simplemente ejecutaba un script de PowerShell con ciertos argumentos.
  • Una actualización posterior agregó un señuelo PDF.
  • La versión más reciente abre un sitio web gubernamental brasileño y cambia el archivo XML utilizado por MSBuild y el nombre de la DLL reservada para objetivos brasileños.

Código no utilizado y vectores de infección

  • Algunas secciones del código dentro del script de PowerShell no se usaron, y el servidor hospedó archivos que no formaban parte del flujo de infección principal. Por ejemplo, se encontró un documento que explotaba el CVE Follina, un xll malicioso, archivos JavaScript vacíos y archivos bat con diferentes implementaciones de descarga de etapas adicionales.

Victimología y atribución

Nuestro análisis del componente del lado del servidor también arroja luz sobre una de las campañas recientes vista desde el lado de los actores de amenazas, basada en una base de datos que encontramos que documenta el acceso a la aplicación maliciosa. La base de datos tiene un nombre simple y contiene más de 150 entradas, todas únicas. Los encabezados de tabla corresponden a los siguientes términos en portugués:

  • chave, que significa clave.
  • assunto, que significa sujeto.
  • user_agent, que se refiere al agente de usuario del dispositivo de la víctima.
  • baixou, que significa descargado.

La columna nombrada “chave” contenía las direcciones IP de las víctimas, mientras que la columna “assunto” estaba vacía. Este hallazgo proporciona información sobre las víctimas y cómo los actores de amenazas documentaron el acceso a la aplicación maliciosa.

Conclusión

A pesar de sus técnicas evasivas y su enfoque en las víctimas de México y Brasil, la presencia continua y activa de BBTok demuestra que sigue siendo una amenaza relevante en la región. Con su amplio conjunto de capacidades y un método de entrega único que involucra archivos LNK, SMB y MSBuild, BBTok representa un peligro para organizaciones e individuos en América Latina.

Este análisis poco común del servidor detrás de BBTok nos ha proporcionado una visión única de la evolución de las tácticas y técnicas utilizadas por los actores de amenazas. Esta información refuerza la idea de que los actores de amenazas, incluidos aquellos con motivaciones financieras, están en constante evolución y mejora de sus métodos, siguiendo las tendencias de seguridad y explorando nuevas oportunidades. Para mantenerse a salvo y protegidos contra futuros ataques, los investigadores de seguridad deben mantener un enfoque similar en su constante búsqueda de soluciones y estrategias.

Protecciones de Check Point

Check Point ofrece protecciones contra BBTok a través de la emulación de amenazas y firmas específicas que pueden ayudar a detectar y prevenir la infección. Estas protecciones incluyen:

  • Banker.Wins.BBTok.A
  • Banker.Win.BBTok.B
  • Technique.Wins.SuxXll.A
  • Trojan.Win.XllAddings.A

También se proporciona detección a través de Harmony en forma de:

  • Trojan.Win.Generic.AQ
  • Trojan.Win.Generic.AR

Estas medidas de seguridad pueden ser útiles para protegerse contra la amenaza de BBTok y deben ser implementadas por organizaciones y usuarios para garantizar la seguridad de sus sistemas y datos.

Apéndice A – COI
Archivos

NombreDescripciónsha256
DANFE357702036539112.isoArchivo Brasileño de Señuelosbe36c832a1186fd752dd975d31284bdd2ac3342bd3d32980c6c52271d0d2c84c
DANFE357666506667634.isoArchivo Brasileño de Señuelos095b793d60ce5b15fac035e03d41f1ddd2e462ec4fa00ccf20553af3c09656f6
DANFE352023067616112.isoArchivo Brasileño de Señuelos8e65383a91716b87651d3fa60bc39967927ab01b230086e3c5a2f9a096fc6c57
DANFE358567378531506.pdfSeñuelo brasileño PDF825a5c221cb8247831745d44b424954c99e9023843c96def6baf84ccb62e9e5f
Brammy.dllBBTok Downloader para víctimas brasileñase5e89824f52816d786aaac4ebdb07a898a827004a94bee558800e4a0e29b083a
Tranvía.dllBBTok Downloader para víctimas brasileñas07028ec2a727330a3710dba8940aa97809f47e75e1fd9485d8fc52a3c018a128
HtmlFactura3f48daa069f0e42253194ca7b51e7481DPCYKJ4Ojk.isoArchivo de Señuelos Mexicanos808e0ddccd5ae4b8cbc4747a5ee044356b7aa67354724519d1e54efb2fc4f6ec
HtmlFactura-497fc589432931214ed0f7f4de320f3brzi8y1MTdn.isoArchivo de Señuelos Mexicanosf83b33acfd9390309eefb4a17b42e89dcdbe759757844a3d9b474d570ddbab86
HtmlFactura-4887f50edb734a49d33639883b60796do52lTREjMh.isoArchivo de Señuelos Mexicanosdbeb4960cdb04999c1a5a3360c9112e3bc1de79534d7ac9027b7fdb7798968a6
html-factura35493606948895934113728188857090JCOY.pdfSeñuelo mexicano PDFbe35b48dfec1cc2fc046423036fa76fc9096123efadac065c80361c45f401d3c
Kammy.dllBBTok Downloader para víctimas mexicanas9d91437a3bfd37f68cc3e2e2acfbbbbfffa3a73d8f3f466bc3751f48c6e1b40e
Gammy.dllBBTok Downloader para víctimas mexicanasd9b2450e4b91739c39981ab34ec7a3aeb33fb3b75deb45020b9c16596a97a219
ze.docxMaldoc sin usar3b43de8555d8f413a797e19c414a55578882ad7bbcb6ad7604bb1818dd3eedcd
xll.xllxll malicioso no utilizadofb7a958b99275caa0c04be2a821b2a821bb797c4be6bd049fa09144de349ea41
feBBTokCD22e14f4fa6716cfc9964fdead813d2ffb80d6dd716e2114f987ff36cc5e872
fe2BBTok5c59cd977890ed32eb60caca8dc2c9a667cff4edc2b12011854310474d5f405d
fe2BBTok5ad42b39f368a25a00d9fe15fa5326101c43bf4c296b64c1556bc49beeee9ae1
fe235BBTokb198da893972df5b0f2cbcec859c0b6c88bb3cf285477b672b4f40c104bcbd36

Indicadores de red

NombreDescripción
Danfe[.] está certificado[.] .comDominio de phishing
rendinfo[.] tiendaDominio de phishing
Sodkvsodkv[.] proveedor[.] serveftp[.] redDominio de descarga de DLL malicioso
216[.] 250[.] 251[.] 196Servidor de carga útil
173[.] 249[.] 196[.] 195Servidor de carga útil
176[.] 31[.] 159[.] 196Servidor de carga útil
147[.] 124[.] 213[.] 152Servidor de carga útil

Apéndice B – Lista de bancos afectados

Banca CaixaCCB Brasil
Banco ItaúMercantil do Brasil
SantanderBANCO PAULISTA
GetnetBanco Daycoval
SicrediMercado Pago
SicoobNubank
Citibank BrasilBanco C6
Banca por Internet BNBBanca por Internet Inter
Unicred PortalBancoob
Banco da AmazoniaBBVA
BanestesBanorte
Banco AlfaHSBC
BanparáBanamex
BaneseBajío
BRB BanknetScotiabank
Banco IntermediumAfirme
Banco TopázioBanregio
UniprimeAzteca
Cooperativa de Crédito – CrediSISMultiva
Banco OriginalInbursa
Banco FibraCiBanco
Bradesco Despachantes e Auto Escola – CidadetranSicoobnet
Navegador ExclusivoBanco do Brasil

fuente: research.checkpoint