Malvertising: Nuevas Técnicas para Ejecutar Malware en Navegadores

Publicado el

Introducción

Una nueva técnica de malvertising conocida como SourTrade permite a los atacantes hacer que los navegadores de las víctimas construyan ejecutables maliciosos a partir de fragmentos, utilizando un entorno de ejecución legítimo llamado Bun. Este enfoque innovador evita la entrega de un archivo malicioso completo desde una URL fija, lo que dificulta su detección.

Cómo Funciona SourTrade

Según el análisis realizado por Confiant, esta campaña ha estado activa desde finales de 2024 y se ha dirigido a comerciantes minoristas e inversores en criptomonedas en 12 países y en 25 idiomas. La técnica consiste en crear páginas de destino que identifican a los visitantes, mostrando una página vacía a investigadores sospechosos y un contenido convincente a los objetivos seleccionados.

La estrategia de defensa contra esta amenaza es sencilla: los usuarios deben instalar software de trading y monederos desde los sitios web oficiales, evitando hacerlo desde anuncios. A diferencia de otras técnicas, esta cadena de ataque no depende de vulnerabilidades en el navegador ni elimina la Mark of the Web (MotW).

Proceso de Entrega del Malware

El proceso de entrega comienza sin esperar a que el usuario haga clic en un enlace de descarga. La página registra un ServiceWorker en `/sw.js`, y luego construye un SharedWorker utilizando JavaScript ya incrustado en la página. Este SharedWorker solicita `/config`, que devuelve una plantilla, una URL de runtime secundaria y valores aleatorios específicos de la sesión.

El navegador descarga y descomprime un runtime limpio de Bun desde un dominio secundario, en este caso `purelogicbox[.]org`. La configuración incluye blobs en Base64 que proporcionan la cabecera del Portable Executable (PE), la tabla de secciones y un apartado `.bun` que contiene bytecode malicioso para `app.js`. Bun, que funciona sobre el motor JavaScriptCore de Apple, permite compilar aplicaciones y bytecode en ejecutables de Windows.

Generación del Ejecutable Malicioso

Una vez que el SharedWorker ha obtenido el Bun runtime, genera un gran flujo de bytes pseudorandom utilizando AES en modo contador (AES-CTR). Luego, sigue la plantilla proporcionada para combinar partes seleccionadas del runtime de Bun, el flujo generado y el material ejecutable controlado por el atacante. De este modo, cada víctima puede recibir un archivo ensamblado diferente, cambiando la semilla y el tamaño en cada respuesta de `/config` para alterar el hash, pero manteniendo el código del payload ejecutable.

Michael Steele, del equipo de inteligencia de amenazas de Confiant, señala que “nunca existe malware completo en la red”. Aunque no se genera un binario completo, las estructuras PE y el bytecode se transmiten como Base64 en `/config`. Una vez ensamblado, la página pasa el ejecutable al ServiceWorker como un flujo legible, y un iframe oculto navega hacia una URL de la misma origen, permitiendo que el worker retorne los bytes generados con un encabezado de Content-Disposition.

Implicaciones de Seguridad

Este método ha evolucionado desde actividades anteriores que Confiant rastreó hasta el 30 de abril de 2026, cuando las páginas cargaban StreamSaver.js desde su dirección de GitHub. Aunque el camino de descarga registrado apuntaba a esta biblioteca, las páginas actuales mantienen su arquitectura de streaming sin depender de GitHub.

Bitdefender ha documentado un cluster de malvertising relacionado con TradingView, identificando su payload final como JSCEAL y WeevilProxy. Aunque Confiant identifica características compartidas de campañas y ejecutables, no ha demostrado que las muestras publicadas contengan ese payload.

Conclusiones

No hay un parche de software aplicable para esta técnica. La evasión es más limitada de lo que parece a primera vista. Confiant sugiere que la construcción única por sesión limita el valor de las detecciones basadas en hashes simples. Los defensores deben examinar toda la cadena de ataque, desde el anuncio y la página de destino encubierta hasta la solicitud `/config`, la descarga del runtime desde un dominio secundario y la descarga del ServiceWorker, en lugar de tratar cualquier artefacto de red o archivo de forma aislada.

Confiant ha publicado tres hashes SHA-256 y una lista de dominios maliciosos, contabilizando 96 en total. Aunque la firma no ha identificado a ningún actor detrás de esta campaña, las implicaciones de seguridad son significativas y requieren atención inmediata.

Fuente

Ver noticia original