La supuesta conexión segura con el banco resultó ser una ilusión.

En Brasil lleva más de tres años en circulación una de las plataformas de software malicioso bancario de origen local más complejas. Investigadores analizaron GoPix en detalle —una amenaza para clientes de instituciones financieras y usuarios de criptomonedas— y llegaron a una conclusión preocupante: no se trata de un trojan bancario más con una envoltura conocida, sino de una plataforma mucho más madura y sigilosa. GoPix opera casi sin dejar rastros en el disco, carga módulos clave directamente en memoria, emplea complejos scripts de PowerShell y se oculta tras herramientas del sistema Windows legítimas. Este enfoque complica enormemente la detección de la infección y el análisis posterior del incidente.
El objetivo principal de la campaña son los clientes de bancos brasileños y los usuarios de monederos de criptomonedas. El software malicioso monitorea operaciones a través de Pix, el popular sistema de pagos instantáneos en Brasil, rastrea documentos de pago Boleto bancário e interviene en operaciones con criptomonedas. Pix ya se ha convertido en un mecanismo de pago cotidiano en el país, y Boleto sigue siendo una de las formas de liquidación más comunes: ese documento se parece a una factura con importe, fecha de vencimiento, datos del beneficiario y una larga cadena numérica que se puede introducir manualmente en la aplicación bancaria. GoPix puede reconocer ese tipo de datos.
En su arquitectura la amenaza difiere notablemente de familias brasileñas más conocidas como Grandoreiro. Mientras muchos programas bancarios anteriores se construían en torno al control remoto clásico y a transferencias automatizadas, GoPix fue más allá. Los autores de la campaña tomaron técnicas de troyanos de acceso remoto y de sistemas de transferencia automática de fondos y, sobre esa base, ensamblaron un esquema propio que los investigadores no habían visto antes. El malware actúa como un LOLBin: los atacantes se apoyan en herramientas y componentes legítimos del sistema para reducir la probabilidad de ser detectados por las defensas.
Uno de los elementos más notables de la campaña está relacionado con la infección inicial. La distribución se realiza mediante publicidad maliciosa, activa al menos desde diciembre de 2022. En la mayoría de los casos los atacantes usan Google Ads y atraen a las víctimas con anuncios falsos relacionados con servicios y aplicaciones populares. Entre los cebos figuran WhatsApp, Google Chrome e incluso el servicio postal brasileño Correios. El usuario hace clic en el anuncio, llega a una página especialmente preparada y ve la oferta de descargar supuestamente el programa necesario.
A continuación la cadena no funciona por envío masivo, sino más bien por un modelo de selección cuidadosa. La página no entrega el malware a todo el mundo. Primero se ejecuta una comprobación para distinguir si ante ella hay un usuario legítimo de interés o un bot, sandbox o entorno de análisis. Para esa selección los atacantes usan un servicio legítimo antifraude y un sistema de reputación de direcciones IP y parámetros del entorno. El sitio remite allí información del navegador y del entorno, obtiene un identificador de solicitud y, sobre esa base, decide si mostrar el instalador malicioso. Si el visitante no parece un objetivo valioso, la página simplemente lo redirige a un contenido inocuo. En este enfoque destaca otra cosa: los delincuentes emplean servicios comerciales normales de reputación y antifraude no para protegerse, sino para elegir con más precisión a las víctimas y no exponer su infraestructura ante los investigadores.
Los investigadores señalan por separado que los operadores de GoPix no infectan a una audiencia aleatoria. El informe habla de una selección manual de objetivos, entre los que figuran clientes de grandes entidades, estructuras financieras estatales y grandes empresas. En la práctica, ese filtro reduce el ruido, disminuye el número de infecciones inútiles y ayuda a mantener la campaña activa por más tiempo.
Tras superar la primera comprobación, la página contacta con el webhook malicioso check.php y recibe una respuesta JSON con dos URL. Luego hay otra verificación ya del lado de JavaScript: el script comprueba si en localhost está abierto el puerto 27275. Ese puerto lo usa la función Safe Banking en productos de Avast, populares también en Brasil. Del resultado depende por qué rama seguirá la infección.
Si el puerto está cerrado, la víctima obtiene un archivo ejecutable falso que se hace pasar por el instalador de WhatsApp. El archivo está creado con NSIS, un sistema para generar instaladores de Windows. Si el puerto está abierto —es decir, probablemente el producto Avast está instalado en el equipo— el sitio entrega no un EXE, sino un archivo ZIP con un archivo LNK, es decir, un acceso directo. Inicialmente los investigadores supusieron que la diferencia podría conducir a un exploit, pero al final hallaron una razón más pragmática: las funciones de protección del navegador y las defensas bancarias de Avast bloquean la descarga directa de ejecutables, por lo que los atacantes cambian de rama y empaquetan la siguiente etapa en un archivo con un acceso directo.
El instalador NSIS cambia constantemente para eludir la detección. Además, el archivo está firmado con un certificado de firma de código robado emitido a nombre de PLK Management Limited. El mismo certificado se usó para firmar el programa legítimo Driver Easy Pro. La firma hace que el archivo parezca más creíble y ayuda a pasar algunas comprobaciones básicas de confianza.
La tarea del instalador NSIS no es realizar una instalación completa sino lanzar el eslabón siguiente de la cadena. Crea y ejecuta un archivo BAT ofuscado que, a través de PowerShell, solicita el siguiente componente malicioso desde un sitio remoto. La rama con el archivo LNK hace algo similar por otra vía. Dentro del acceso directo está oculta una compleja línea de comandos de PowerShell que descarga y ejecuta la siguiente etapa directamente desde la red. En ambos casos el usuario observa una supuesta instalación del programa necesario, mientras que el malware despliega la siguiente fase.
Tras ejecutar el comando PowerShell la cadena no termina. GoPix obtiene otro script PowerShell descargable de forma remota, también ofuscado. Ese script primero recopila información sobre el sistema y la envía al servidor de control de GoPix. En respuesta llega un archivo JSON con la configuración y un conjunto de módulos que se guardan en el equipo de la víctima. En ese conjunto hay nombres de carpetas y archivos para el directorio %APPDATA%, un script PowerShell ofuscado, un script PowerShell cifrado, un implante malicioso independiente con shellcode cifrado del cargador, el propio cargador, el shellcode del módulo principal y el implante principal de GoPix, así como un archivo de configuración.
Tras guardar todos los componentes se crea otro archivo BAT. Su tarea es sencilla: ejecutar el script PowerShell ofuscado con una política de ejecución relajada. A partir de ahí la técnica se vuelve más interesante. El script ofuscado descifra otro script, inicia un nuevo proceso PowerShell y transmite el código ya descifrado por la entrada estándar. Con ese método el script descifrado no se escribe en disco. Para defensores y analistas forenses este recurso es muy problemático: no queda nada en disco porque la lógica clave existe únicamente en memoria.
El siguiente script PowerShell también opera solo en memoria. Descifra el shellcode del cargador de GoPix, el propio cargador, el shellcode del módulo principal y el implante principal, reserva memoria y coloca allí todas las partes necesarias. Luego, dentro del proceso PowerShell, se crea un pequeño fragmento de shellcode que cede la ejecución al cargador de GoPix. Los autores del malware prepararon versiones para x86 y x64, de modo que la cadena se ajusta a la arquitectura de la máquina de la víctima.
El shellcode en GoPix se utiliza en dos etapas. Primero se usa para iniciar el cargador y luego el módulo principal. Los investigadores observaron dos versiones de ese shellcode. En muestras antiguas las direcciones de las API se determinaban por nombre. En las versiones nuevas se emplea un esquema más oculto con hash de API. Primero se calcula el hash del nombre de la DLL y luego, a partir de él, el hash de la función necesaria. Ese recurso dificulta el análisis estático porque ya no hay cadenas visibles con los nombres de las funciones del sistema.
El malware además borra la firma MZ de dos DLL que se cargan en memoria. La firma MZ es la marca estándar de un archivo PE de Windows. Muchas herramientas de volcado de memoria y búsqueda de módulos maliciosos se fijan precisamente en esas señales. Si se anula la firma, algunas herramientas dejan de reconocer en memoria el archivo ejecutable habitual.
Cuando el control lo toma el dropper, comienza la siguiente etapa. Primero el módulo comprueba si se ejecuta dentro de Explorer.exe. Si no es así, termina la ejecución. Luego el dropper busca por turno navegadores instalados: Chrome, Firefox, Edge y Opera, y toma la ruta de la primera aplicación encontrada desde la rama del registro App Paths. Los investigadores destacan que las cadenas en la nueva versión del dropper están cifradas de una manera inusual, y que cada cadena usa su propio algoritmo. Ese nivel de detalle vuelve a mostrar cuánto esfuerzo ponen los autores en resistir el análisis.
Tras elegir el navegador, el dropper inicia el proceso necesario en estado suspendido mediante llamadas directas al sistema. Las llamadas directas ayudan a eludir parte de los hooks del software de protección. Luego el dropper inyecta en el navegador el shellcode principal de GoPix y pasa los parámetros para el arranque. El código inyectado extrae el implante principal directamente en memoria, lo carga y llama a la función exportada principal. Entre los parámetros se pasa el número 1, que activa la funcionalidad principal de GoPix, así como el identificador de proceso actual de Explorer.exe.
Una de las funciones más prácticas del módulo principal está relacionada con el portapapeles. GoPix hace tiempo que puede monitorear direcciones de monederos y reemplazarlas por la dirección del atacante si la víctima copia una dirección de Bitcoin o Ethereum antes de realizar la transferencia. Ahora han añadido a la lista de objetivos también Boleto bancário. Cuando el malware detecta una operación de Pix o Boleto, envía información al servidor de control. En cambio, con las criptomonedas la táctica es distinta: la dirección en el portapapeles se reemplaza de forma silenciosa y el usuario corre el riesgo de enviar fondos a un destinatario ajeno.
El elemento más inusual de GoPix está relacionado con un ataque de intermediario, es decir hombre en el medio. Para ese esquema se usa un archivo PAC, Proxy AutoConfig, un archivo de configuración automática del proxy. En Brasil los delincuentes emplean PAC desde hace años, pero antes el mecanismo solía limitarse a redirigir al usuario a una página de phishing. GoPix usa la misma herramienta de forma mucho más sofisticada. En lugar de sustituir la página, los atacantes intervienen el tráfico mientras la víctima opera en el sitio bancario legítimo.
Para ocultar la lista de dominios de interés, el malware no almacena las direcciones en claro. En el campo host del archivo PAC se usan valores CRC32, y la configuración final se monta al vuelo a partir del archivo pf. Son las entradas del archivo pf las que determinan por qué proxy se enruta el tráfico de la víctima. Los autores de GoPix ocultan no solo la lista de bancos, sino también su propio proxy malicioso. Tras establecer la conexión, el malware enumera las conexiones activas, determina el proceso que abrió el canal, calcula la suma de control CRC32C del nombre del ejecutable y la compara con una lista interna de sumas de control de navegadores. Si el proceso no coincide con un navegador conocido, la conexión se cierra. Esta comprobación ayuda a que la infraestructura de proxy maliciosa no sea visible para aplicaciones ajenas y herramientas de investigación.
Para averiguar qué organizaciones forman parte de la lista de objetivos, los investigadores recopilaron dominios y subdominios de numerosas entidades financieras brasileñas, calcularon su CRC32 y compararon los resultados con los códigos incrustados en GoPix. Las coincidencias mostraron que el malware apunta a recursos web bancarios y financieros concretos, incluidos servicios de banca por Internet y portales financieros estatales.
La intercepción de HTTPS en este esquema es la parte más crítica, porque el tráfico bancario suele estar cifrado. GoPix elude la protección de forma atípica: inyecta un certificado raíz de confianza no en el almacén del sistema operativo, sino directamente en la memoria del navegador en la máquina de la víctima. De ese modo el atacante obtiene la posibilidad de interceptar e incluso modificar el tráfico cifrado. Los investigadores encontraron en las muestras dos certificados de ese tipo. Uno venció en enero de 2025; el otro se creó en febrero de 2025 y expira en febrero de 2027. Para la defensa esto es especialmente preocupante porque el certificado malicioso no aparece en las herramientas de sistema habituales de Windows que muestran el almacén estándar de certificados.
Toda la campaña en conjunto muestra cuánto ha avanzado el nivel del software malicioso bancario brasileño. GoPix no se limita a robar credenciales de forma burda ni a sustituir páginas de modo primitivo. La plataforma combina publicidad maliciosa, entrega multinivel, filtrado de objetivos mediante servicios antifraude legítimos, funcionamiento casi sin artefactos en disco, servidores C2 efímeros, cambios de proceso, resistencia a sandboxes y un esquema complejo de interceptación del tráfico bancario. Los servidores de comando viven apenas unas horas, lo que complica aún más la respuesta y la recopilación de pruebas.
Merece mención aparte el mecanismo de evasión de la investigación. GoPix procura dejar el mínimo rastro en disco, utiliza un borrado exhaustivo, carga módulos solo en memoria y oculta los componentes clave tras varias capas de cifrado y ofuscación. En ese modelo la búsqueda clásica con reglas YARA resulta mucho menos efectiva, porque muchos artefactos característicos o no se escriben en disco o desaparecen rápidamente.
Los investigadores han observado GoPix desde 2023 y señalan que la actividad de la campaña no disminuye. En su opinión, la industria ya no enfrenta solo otro troyano bancario, sino una plataforma en desarrollo constante cuyos autores claramente aprenden de las técnicas de ocultación, persistencia y evasión de análisis empleadas por grupos APT. El cambio es evidente en los detalles: desde la carga de módulos en memoria y los saltos entre procesos hasta el uso de un certificado robado y el empleo de un servicio antifraude legítimo como filtro para seleccionar víctimas.
Los productos de Kaspersky detectan la amenaza como HEUR:Trojan-Banker.Win64.GoPix, Trojan.PowerShell.GoPix y HEUR:Trojan-Banker.OLE2.GoPix.