Troyano Bancario Brasileño Venom
VENON combina múltiples capas de protección que hacen de cada paso del proceso de ingeniería inversa un desafío técnico distinto.
Introducción
En febrero de 2026, el equipo de inteligencia de amenazas de ZenoX identificó una familia de malware desconocida durante la actividad de caza, clasificada internamente como VENON debido a referencias en el código (escrito con una N). La muestra fue inicialmente marcada por un comportamiento consistente con los troyanos bancarios latinoamericanos, particularmente el uso de superposiciones bancarias y monitoreo activo de ventanas, características presentes en familias establecidas como Grandoreiro y Mekotio.
La diferencia fundamental surgió durante el análisis estático: a diferencia de todas las familias conocidas en el ecosistema latinoamericano, VENON no contiene una sola línea de código Delphi. El binario está compilado completamente en Rust, con 88 dependencias externas identificadas de Crates.
Este informe documenta los resultados del análisis técnico realizado por el equipo de investigación de ZenoX, que cubre la cadena de infección completa, las capacidades del malware, la infraestructura de comando y control y los indicadores de atribución identificados durante el proceso de investigación. El análisis requirió la creación de herramientas personalizadas y la reimplementación de la canalización Argon2id + XChaCha20-Poly1305 utilizada para proteger la configuración remota.
Durante el análisis, el equipo planteó la hipótesis de que VENON podría ser esencialmente una refactorización de Vibecoding asistida por IA de un troyano bancario ya establecido en la región, posiblemente el propio Grandoreiro, reescrito desde cero en Rust. La fidelidad con la que se reprodujeron patrones funcionales clásicos del ecosistema Delphi, como la lógica de superposición, el monitoreo de ventanas y los mecanismos de intercambio, en un lenguaje de sistemas completamente diferente sugiere que el autor no partió de una concepción original, sino de una base de comportamiento conocida, utilizando IA generativa para realizar la traducción técnica.
Se identificó evidencia adicional del uso de IA en la propia infraestructura del operador: el código de panel C2 exhibe patrones de generación asistidos por IA consistentes con lo que la comunidad de seguridad ha denominado codificación vibe, lo que refuerza la hipótesis de que toda la operación, desde el malware hasta el backend, se construyó con una amplia asistencia de herramientas de IA.
Hasta el momento de esta publicación, ZenoX no ha identificado ningún otro troyano bancario en el ecosistema brasileño o latinoamericano con este perfil técnico. VENON representa, posiblemente, la primera aparición de un banquero brasileño RAT desarrollado íntegramente en Rust, con un nivel de sofisticación comparable a las herramientas utilizadas por conocidos grupos APT.
Haga clic aquí para leer el informe completo
Complejidad del análisis
VENON presenta un nivel de dificultad de análisis estático significativamente mayor que los troyanos bancarios tradicionales latinoamericanos. Si bien el malware Delphi como Grandoreiro o Mekotio se puede examinar con relativa facilidad, con cadenas legibles, RTTI expuesto y componentes visuales identificables, VENON combina múltiples capas de protección que hacen de cada paso del proceso de ingeniería inversa un desafío técnico distinto.
Para un analista familiarizado con los troyanos Delphi, donde una sesión x64dbg revela cadenas como “Banco handler of Brasil” ou “Itau” nos primeiros minutos, o VENON exige um investimento de tempo y ferramental de ordem de magnitud superior.
| Barrera | Detalle |
| UPX con encabezados modificados | Previene la descompresión automática; requiere reconstrucción manual del encabezado antes de procesar el binario |
| Recopilación de Native Rust | Funciones con nombres alterados, 88 cajas, sin RTTI ni símbolos de depuración |
| Cifrado XOR con 95 funciones únicas | Cada cadena sensible se descifra mediante una función de derivación de clave diferente; no existe una clave global reutilizable |
| Argón2id + XChaCha20-Poly1305 | Cifrado de última generación para la configuración remota; requiere reimplementar los parámetros KDF para descifrar |
| ChaCha20-Poly1305 en C2 | Tráfico C2 cifrado por sesión mediante ring-0.17.14; la inspección pasiva no es posible sin la clave de sesión |
| 9 técnicas antianálisis activas | Omisión AMSI, omisión ETW, sobrescritura ntdll, llamadas al sistema indirectas, ocultación de subprocesos, DACL, anti-sandbox, anti-captura de pantalla y verificación SID de Defender |
Tabla 1 – Barreras de análisis
Ninguna herramienta por sí sola era suficiente para cubrir todas las capas de protección. El análisis requirió construir una tubería de seis fases, cada una de las cuales alimentaba a la siguiente con la información necesaria para avanzar:
| Fase | Herramienta / Técnica | Resultado |
| Fase 1 | Análisis DIE/PE + descompresión manual de UPX | libcef.dll descomprimido (9,3 MB) |
| Fase 2 | HILO DENTAL v3.1.1 | 130.749 cadenas estáticas + 41.799 cadenas Rust extraídas; desofuscación automática deshabilitada por densidad binaria |
| Fase 3 | Ghidra 12.0.4 Sin cabeza | 17.765 funciones identificadas; 500 funciones de interés descompiladas; 143.093 líneas de C descompiladas generadas |
| Fase 4 | Python + Piedra angular | 95 bloques XOR procesados; 92 descifrados exitosamente (cobertura del 96,8%) |
| Fase 5 | Reimplementación de Argon2id KDF + XChaCha20-Poly1305 | Configuración remota descifrada; host C2 confirmado |
| Fase 6 | Categorías de 143.093 líneas descompiladas | 14 grupos funcionales mapeados, 70+ características documentadas, módulos Rust reconstruidos |
Tabla 2 – Se adopta el proceso de análisis
El nivel de esfuerzo requerido para analizar VENON es en sí mismo una métrica de la sofisticación del artefacto. Un troyano que requiere crear herramientas de análisis personalizadas no es un malware común y corriente. Es un artefacto que refleja la competencia técnica avanzada de su autor y aumenta significativamente el costo de análisis para cualquier equipo de respuesta a incidentes o inteligencia de amenazas.
Cadena de infección
La cadena de infección de VENON está estructurada en once fases secuenciales, que combinan ingeniería social, múltiples capas de evasión y un sofisticado mecanismo de entrega de carga útil. La campaña demuestra una planificación técnica considerable, y cada fase está diseñada para superar controles de seguridad específicos antes de avanzar a la siguiente.
Vector inicial
El vector de entrada confirmado se carga lateralmente en la DLL a través del instalador legítimo de NVIDIANOtification.exe: el libcef.dll malicioso se carga en lugar del marco integrado legítimo de Chromium explotando el orden de búsqueda de la DLL de Windows, que prioriza el directorio del ejecutable. Sin embargo, durante este análisis no se determinó con gran confianza el mecanismo de entrega inicial del par NVIDIANOtification.exe + libcef.dll al sistema de la víctima.
Vale la pena señalar que durante el período de identificación de la muestra, ZenoX observó un aumento significativo en las campañas de ClickFix utilizando NVIDIANOtification.exe como carga útil final, donde la víctima es diseñada socialmente para ejecutar un comando que descarga y activa el par de archivos. La correlación entre el artefacto analizado y este vector de distribución es plausible y está siendo investigada, pero no fue posible confirmarla con suficiente confianza para incluirla como hallazgo definitivo en este informe.
El análisis de la cadena de infección documentado en este informe comienza desde el momento en que el par NVIDIANOtification.exe + libcef.dll ya está presente en el sistema de la víctima.
La distribución se realiza a través de correos electrónicos de phishing, páginas falsas que imitan portales legítimos o anuncios patrocinados. En todos los escenarios, la ejecución del dropper depende completamente de la acción voluntaria de la víctima; no se requiere ningún exploit técnico en esta etapa.
Instalar a través de PowerShell
Archivo por lotes ofuscado de ~1,6 KB. Las cadenas críticas (URL, rutas, comandos) se reconstruyen en tiempo de ejecución concatenando variables fragmentadas, evitando la detección de firmas estáticas.
El guión se relanza con Corre a través de PowerShell si no se ejecuta como administrador.

Figura 1 – Escalada de privilegios
Agrega C:\Datos del programa\USOShared\ NuPLihaOH\ via Agregar preferencia Mp antes de la descarga. El directorio principal imita al Update Session Orchestrator; el espacio en el nombre de la subcarpeta impide las búsquedas en la línea de comandos.

Figura 2 – Exclusión de defensores
ZIP obtenido del depósito S3 a través de Invocar solicitud web, con URL construida dinámicamente mediante fragmentación de variables.

Figura 3 – Descargar carga útil
El ZIP contiene NVIDIANOtification.exe (binario NVIDIA firmado) y libcef.dll (malware). El ejecutable cambia de nombre a ®mjtgr.exe; el personaje ®(U+00AE) en el prefijo impide referencias a través de CLI y herramientas forenses.

Figura 4 – Extracción y cambio de nombre
Tecla de ejecución agregada en HKCU\…\Correr; exclusión individual creada para ®mjtgr.exe.

Figura 5 – Persistencia + segunda exclusión
El script se elimina automáticamente a través de (ir) 2>nul & y fuerza el reinicio en 3 segundos (apagar /r /t 3 /f), activando la clave de ejecución y eliminando evidencia del vector de entrada.

Figura 6 – Autoeliminación y reinicio
Carga lateral de DLL
Después de reiniciar, Windows se ejecuta ®mjtgr.exe mediante la tecla de ejecución. Dado que el orden de búsqueda de la DLL de Windows prioriza el directorio del ejecutable, el malicioso libcef.dll se carga en lugar del marco integrado legítimo de Chromium.
El proceso aparece en el Administrador de tareas con el nombre NVIDIA y la firma digital. La DLL exporta las funciones estándar de un objeto COM (DllCanUnloadNow, DllGetClassObject, DllPrincipal, Servidor de registro Dll, Servidor DllUnregister) imitar una DLL legítima; todo el código malicioso reside en el DLL_PROCESO_ADJUNTAR do DllPrincipal.
Inicialización y evasión
Al cargarse, la DLL ejecuta nueve técnicas de evasión en secuencia antes de iniciar cualquier actividad maliciosa.
La técnica más sofisticada en esta fase es la sobrescritura del .textoda ntdll.dll en la memoria con la versión limpia leída desde el disco.

Figura 7 – ntdll .sobrescribir texto
Para operaciones sensibles, el malware implementa llamadas al sistema indirectas: los números de las llamadas al sistema se leen directamente desde ntdll en el disco y los stubs se construyen en la memoria, evitando cualquier gancho que pueda reinstalarse. Finalmente, aplica el ocultamiento de hilos a través de Hilo de información NtSet con la bandera Ocultar hilo desde el depurador, modifica el propio DACL del proceso para denegar el acceso externo y configura Establecer afinidad de visualización de ventana nos superposiciones para que capturas de pantalla exibam apenas tela preta.

Figura 8 – ThreadHideFromDebugger + Protección DACL
Obtención de configuración remota
El hilo de configuración realiza una solicitud GET a hxxps://storage.googleapis[.]com/mydns2026/startabril2026, con respaldo a hxxps://pluginsafeguard[.]help/ipv4/config.enc. Google Cloud Storage se utiliza como canal principal porque rara vez está bloqueado por firewalls corporativos.
La respuesta pasa por tres capas de descifrado: Base64 Decode, seguida de la derivación de claves mediante Argon2id (m=19456 KiB, t=2, p=1) con contraseña L0@D_S3CR3T_K3Y_X9F2_PR0D_2024! e sal LOAD_SALT_2024!!, y finalmente el descifrado XChaCha20-Poly1305 con un nonce de 24 bytes extraído del comienzo del blob. El resultado es un JSON que contiene la dirección C2: {“host”:”brasilmotorsvs14[.]com”}.
Las versiones anteriores de esta RAT utilizaban AES-256-CBC con SHA-256 y un IV cero, significativamente más débil. La migración a Argon2id y XChaCha20-Poly1305 refleja una evolución técnica deliberada entre versiones.

Figura 9 – XOR Descifrar clave secreta + Sal
Persistencia y C2
Después de obtener la configuración, el malware instala una tarea programada llamada “Servicio de notificaciones NVIDIA” con gatillo Al iniciar sesión y nivel máximo de ejecución, reemplazando el mecanismo de suscripción de eventos WMI utilizado en versiones anteriores. La conexión WebSocket al C2 se establece bajo TLS 1.3 con el cifrado ChaCha20-Poly1305 a través de tungsteno e crujidos. Cada víctima es identificada por un HardwareID calculado como el SHA-256 del nombre de la computadora concatenado con el volumen serial.
Intercambio de Itaú
Además de los mecanismos de ataque mediante superposición bancaria y manipulación del portapapeles, VENON implementa dos bloques de código VBScript extraídos directamente de libcef.dll. Estos bloques implementan un mecanismo de secuestro de atajos dirigido a la Aplicación Itaú, reemplazando atajos legítimos del sistema con versiones manipuladas que redirigen a la víctima a una página web bajo control del operador, preservando el ícono original del banco para evitar sospechas.
Este es un módulo VB exclusivo de Itaú; no se encontraron scripts personalizados como este para otros bancos y objetivos.
El ataque se opera en dos etapas distintas: instalación, que realiza la sustitución de atajos, y desinstalación, que revierte las modificaciones. La presencia del segundo bloque indica que el mecanismo es controlable a través de C2, lo que permite al operador restaurar atajos antes de finalizar la sesión o al detectar signos de investigación.
Bloque 1: Instalar
El script de instalación es responsable de localizar y manipular todos los atajos de la aplicación Itaú presentes en la máquina de la víctima. La ejecución sigue cuatro pasos principales:
- Resolución de ruta de Microsoft Edge: el script consulta el registro en HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\msedge.exe. Si la clave está ausente, prueba la ruta alternativa WOW6432Node y luego verifica directamente las rutas de instalación estándar en Archivos de programa (x86) e Archivos de programa. Si no se encuentra Edge mediante ningún método, el script escribe -2 al archivo de resultados y sale sin realizar modificaciones.
- Enumeración de la ubicación de destino: o script define um array com oito locais manejador del sistema de arquivos onde atalhos manejador de Itau podem existir.
- Identificación de atajos de Itaú: para cada uno .lnk encontrado nos locais alvo, o script abre o atalho via WScript.Shell.CreateShortcut e verificar se o Ruta de destino contiene cualquiera de las cadenas itauaplicativo.exe, aplicativo itau ou itauaplicativo. La comparación se realiza en minúsculas para garantizar la insensibilidad a los casos.

Figura 10 – Identificación de atajos de Itaú
- Sustitución de accesos directos y conservación de iconos: los atajos identificados como Itaú tienen su Ruta de destino sustituyendo pelo caminho manejador de msedge.exe resuelto anteriormente y os Argumentos definidos como hxxps://www.itau.com[.]br/empresas. El Directorio de trabajo e limpo. Críticamente, o Ubicación del icono se conserva si está presente, lo que hace que el atajo sea visualmente idéntico al original. El número de atajos modificados se escribe en el archivo de resultados.
| Variable / Carpeta | Ruta ampliada (ejemplo) |
| Escritorio (usuario) | %PERFIL DE USUARIO%\Escritorio |
| Escritorio (público) | %PUBLIC%\Escritorio |
| Menú de inicio\Programas | %APPDATA%\Microsoft\Windows\Menú de inicio\Programas |
| InicioMenú\Programas\Itau | …\Programas\Itau |
| InicioMenú\Programas\Aplicativo Itau | …\Programas\Aplicativo Itaú |
| Todos los programas de usuarios | %ALLUSERSPROFILE%\Microsoft\Windows\Menú de inicio\Programas |
| Todos los programas de usuarios\Itau | …\Programas\Itau |
| AllUsersPrograms\Aplicativo Itau | …\Programas\Aplicativo Itaú |
Tabla 1 – Ubicaciones enumeradas por el script VBS
Bloque 2: Desinstalar / Restaurar
El segundo bloque implementa la operación inversa: identifica atajos previamente manipulados y los restaura al ejecutable original de la Aplicación Itaú. La lógica de identificación es distinta del Bloque 1 y se basa en artefactos dejados por la modificación, no en los atributos de acceso directo originales.
El script resuelve la ruta al ejecutable legítimo de Itaú verificando dos posibles ubicaciones de instalación: %PERFIL DE USUARIO%\AppData\Local\Aplicativo Itau\itauaplicativo.exee %PERFIL DE USUARIO%\AppData\Local\ItauAplicativo\itauaplicativo.exe. Si no se encuentra ninguno, utiliza la primera ruta como alternativa. Esto sugiere que el operador puede activar la desinstalación incluso en máquinas donde la aplicación no está instalada, posiblemente para cubrir pistas antes de que la víctima note la manipulación.
El IsModifiedItauShortcut La función identifica atajos alterados verificando si Ruta de destino aponta para msedge.exe, microsoft-edge, chrome.exe ou firefox.exe, en combinación con a Argumentoscontendo una cuerda itau.com.br. La inclusión de Chrome y Firefox como criterios de detección indica que el operador puede tener variantes de ataque utilizando otros navegadores, o que el criterio fue diseñado para ser robusto frente a futuras variaciones del Bloque 1.
Los atajos identificados tienen su Ruta de destino restaurado al ejecutable de Itaú, el Argumentos limpos, y o Ubicación del icono redefinido a itauaplicativo.exe,0 si el archivo existe en el disco. El recuento de atajos restaurados se escribe en el archivo de resultados, lo que sugiere que el C2 monitorea el éxito de la operación.

Objetivos monitoreados
VENON monitorea 33 instituciones financieras y plataformas de activos digitales, distribuidas en seis categorías. El monitoreo se realiza a través del título de la ventana y verificaciones activas del dominio del navegador, activando mecanismos de ataque al detectar cualquiera de los objetivos siguientes.
| # | Institución | Dominio monitoreado |
| 1 | Itaú Unibanco | itau.com.br |
| 3 | Santander Brasil | santander.com.br |
| 4 | Caixa Econômica Federal | caixa.gov.br |
| 5 | Manejador de bancos de Brasil | bb.com.br |
| 6 | Nubank | nubank.com.br |
| 7 | Banco Inter | bancointer.com.br |
| 9 | Sicoob | (cadena parcialmente decodificada; confirmado vía título “- sicoob”) |
| 10 | Sicredi | sicredi.com.br |
| 11 | Banco Original | original.com.br |
| 12 | Banco Safra | safra.com.br |
Tabla 1 – Bancos tradicionales
| # | Institución | Dominio monitoreado |
| 13 | BTG Pactual | btgpactual.com |
Tabla 2 – Banco de Inversiones
| # | Institución | Dominio / Identificador |
| 14 | PagBank / PagSeguro | pagseguro.uol.com.br |
| 15 | Pago por imagen | picpay.com |
| 16 | Mercado Pago | mercadopago.com.br |
| 17 | ERP de Bling | (título de janela: “bling erp”) |
Tabla 3 – Fintech / Pagos
| # | Institución | Dominio monitoreado |
| 18 | Receita Federal | recepta.fazenda.gov.br, gov.br/receitafederal |
Tabla 4 – Gobierno
| # | Plataforma | Dominio monitoreado |
| 19 | Binance | binance.com |
| 20 | Base de monedas | coinbase.com |
| 21 | Kraken | kraken.com |
| 22 | Bybit | bybit.com |
| 23 | Mercado Bitcoin | mercadobitcoin.com |
| 24 | Foxbit | foxbit.com |
| 25 | Gemini | gemini.com |
| 26 | Nexo | nexo.com |
| 27 | Ripio | ripio.com |
Tabla 5 – Intercambios y criptomonedas
| # | Plataforma | Identificador |
| 28 | Metamáscara | (típulo de janela: “metamask”) |
| 29 | Monedero de confianza | (título de janela: “billetera de confianza”) |
| 30 | Fantasma | aplicación fantasma |
| 31 | Ledger en vivo | ledger.com |
| 32 | Cartera de conejo | rabby.io |
| 33 | Pastel DeFi | aplicación.cakedefi |
Tabla 6 – Carteras criptográficas
El primer banquero brasileño RAT en Rust
Durante las fases iniciales de análisis, el equipo de ZenoX identificó numerosas similitudes de comportamiento con familias establecidas en el ecosistema latinoamericano, particularmente Grandoreiro: uso de superposiciones bancarias para interceptación visual, monitoreo activo de ventanas, mecanismos de persistencia basados en registros y una estructura de comando y control con capacidad de operación remota. A primera vista, el artefacto parecía ser otro representante del clásico paradigma del troyano bancario LATAM.
La diferencia fundamental surgió durante el análisis estático: a diferencia de todas las familias conocidas de la región, VENON no contiene una sola línea de código Delphi. El binario completo está compilado desde Rust, con 88 cajas identificadas en Cargo.lock y 17.765 funciones. No se trata simplemente de un cargador Rust que entrega una carga útil Delphi, como se observó experimentalmente en Casbaneiro. La carga útil final, con toda la lógica de ataque, cifrado, evasión y comunicación C2, es Rust nativo de extremo a extremo.
Hasta el momento de esta publicación, ZenoX no ha identificado ningún otro troyano bancario en el ecosistema latinoamericano o brasileño con este perfil. VENON representa, posiblemente, el primer descubrimiento de un banquero brasileño RAT desarrollado íntegramente en Rust, con un nivel de sofisticación técnica comparable a las herramientas del grupo APT.
El ecosistema troyano bancario latinoamericano
América Latina, y Brasil en particular, es el epicentro mundial de los troyanos bancarios. De las 30 familias más detectadas a nivel mundial, 11 son de origen brasileño, lo que representa el 22% de todas las detecciones en 2024. Sólo Brasil representa el 61% de las detecciones de troyanos bancarios en la región (ESET, 2024).
Históricamente, el ecosistema ha estado dominado por familias escritas en Delphi, un lenguaje que ofrece binarios autosuficientes y facilidad de desarrollo de GUI para superposiciones bancarias. La siguiente tabla enumera las principales familias activas y sus características lingüísticas:
| Familia | Idioma | Perfil |
| Grandoreiro | Delfos | El mayor banquero LATAM: 1.700 bancos, 45 países, modelo MaaS parcial |
| Mekotio | Delfos | Europa y LATAM, uso extensivo de PowerShell sin dropper |
| Casbaneiro | Delfos + Óxido* | Uso experimental de Rust solo en el descargador; carga útil final en Delphi |
| Guildma | Delfos | También conocido como Astaroth; Ofuscación de cadenas XOR |
| Mispadu | Delfos | ARAÑA SAMBA; gotero vía HTA/VBScript |
| Coyote | .NET + Nim | Surgió en 2024; Instalador de ardillas; 61 bancos brasileños |
| Kiron | Óxido | Descargador de Rust con DGA y robo de credenciales del navegador (2024); sin lógica de ataque bancario en Rust |
| VENON | Óxido natural | RAT de banca completa en Rust: 88 cajas, evasión activa, cifrado de última generación |
Tabla 1 – Comparación de perfiles entre malware latinoamericano
* Casbaneiro utilizó Rust experimentalmente solo en el componente de descarga en 2023; el controlador principal de malware permanece en Delphi.
La siguiente tabla compara los atributos técnicos de VENON con las tres familias más representativas del ecosistema: Grandoreiro (volumen y alcance), Coyote (lengua moderna, Brasil) y Mekotio (presencia europea).
| Caracterizar | VENON | Grandoreiro | Coyote | Mekotio |
| Idioma | Óxido natural | Delfos | .NET + Nim | Delfos |
| Periodo activo | 2024-2026 | 2017-2026 | 2024-2026 | 2015-2026 |
| Tamaño binario | 9,3 MB (UPX) | 390-414 MB | ~50 MB | ~20-30 MB |
| Objetivos (Bancos) | 36+ | 1.700+ | 61+ | 50+ |
| Objetivos (Cripto) | 21 plataformas | 276 carteras | Nú | Nú |
| Alcance geográfico | Brasil | 45 paises | Brasil | LATAM + Europa |
| Protocolo C2 | WebSocket TLS | Cliente RealThin | SSL mutuo | TCP personalizado |
| Cifrado C2 | ChaCha20-Poly1305 | AES-CTS | AES | XOR + personalizado |
| Configurar cifrar | Argón2 + XChaCha20 | AES-256 | AES | XOR |
| Omisión de AMSI | Sim | Nú | Nú | Nú |
| Bypass ETW | Sim | Nú | Nú | Nú |
| Desenganchar ntdll | Sim | Nú | Nú | Nú |
| Llamadas de sistema indirectas | Sim | Nú | Nú | Nú |
| Interceptación QR de píxeles | Sim | Nú | Nú | Nú |
| Intercambio de Boleto | Sim | Nú | Nú | Parcial |
| Transmisión de pantalla | DXGI (GPU) | Capturas de pantalla | Capturas de pantalla | Capturas de pantalla |
| Modelo operativo | Solo / artesanal | MaaS (parcial) | Solo | Solo |
Tabla 2 – Análisis comparativo: VENON vs. familias establecidas
Atribución
La atribución de VENON a un operador o grupo conocido presentó baja confianza durante todo el análisis. Aunque el malware comparte varias características de comportamiento con familias latinoamericanas establecidas como Grandoreiro, Mekotio y Coyote, las diferencias técnicas estructurales son lo suficientemente profundas como para evitar una atribución de alta confianza a cualquier grupo o campaña previamente documentada en la región.
Hipótesis: Desarrollo asistido por IA
Un elemento que complicó tanto el análisis como la atribución es la hipótesis de que VENON pudo haber sido desarrollado con amplia asistencia de inteligencia artificial, lo que la comunidad de seguridad ha denominado “codificación vibra”. La estructura del código de Rust presenta patrones que sugieren un desarrollador familiarizado con las capacidades de los troyanos bancarios latinoamericanos existentes, pero que utilizó IA generativa para reescribir y expandir estas funcionalidades en Rust, un lenguaje que requiere una experiencia técnica significativa para su uso en el nivel de sofisticación observado.
Esta hipótesis explicaría algunas asimetrías observadas en el código: la coexistencia de implementaciones criptográficas de última generación junto con estructuras de control relativamente sencillas, y la reproducción en Rust de patrones funcionales comunes en Delphi, como la lógica de intercambio y la enumeración de ventanas, con mayor fidelidad técnica de la que se esperaría de un desarrollador de Rust primerizo. De confirmarse, este sería uno de los primeros casos documentados de uso de IA para el desarrollo de troyanos bancarios en América Latina.
Exposición del desarrollador a través de artefactos de compilación
Durante el proceso de extracción de cadenas de una versión temprana de DLL (enero de 2026), identificada durante la búsqueda, el equipo de ZenoX localizó rutas de compilación locales expuestas en el binario. A diferencia de la versión analizada como tema principal de este informe, esta muestra anterior no había eliminado todos los caminos del entorno de desarrollo del autor.
Las rutas expuestas contienen repetidamente el nombre de usuario byst4, revelando el nombre de usuario de la máquina local donde se compiló el malware. La secuencia de cadenas presentes en el binario incluye rutas como C:\Usuarios\byst4\.carga\registro\src\..., un patrón consistente en docenas de entradas correspondientes a las cajas Rust utilizadas en el proyecto.

Figura 11 – Mención de nombre de usuario en Rust Crates que expone al desarrollador
Indicatores de compromiso
| Tipo | Indicador | Descripción / Contexto |
| Dominios | ||
| Dominio | brasilmotorsvs14[.]com | WebSocket C2 primario (Cloudflare) |
| Dominio | lazybearpottery[.]net | Alternativa C2 (Cloudflare) |
| Dominio | digitalmoineyp[.]com | Infraestructura de distribución |
| Dominio | portalhondihs[.]com | Infraestructura de distribución |
| Dominio | almacenamiento.googleapis[.]com | Caída muerta – depósito GCS mydns2026 |
| URL | ||
| URL | https://s3.sa-east-1.amazonaws[.]com/8151218-25.2025.7.12.5178/modmarco2026-2.zip | Carga útil – AWS S3 (sa-east-1) |
| URL | https://storage.googleapis[.]com/mydns2026/startabril2026 | Resolutor de caída muerta – GCS |
| URL | https://storage.googleapis[.]com/mydns2026/startmarco2026_1_ | Resolutor de caída muerta – GCS |
| URL | https://storage.googleapis[.]com/mydns2026/startjaneiro_1_ | Resolutor de caída muerta – GCS |
| URL | https://storage.googleapis[.]com/mydns2026/startabril_2 | Resolutor de caída muerta – GCS |
| URL | https://pastebin.com/raw/2qEMcLsD | Solucionador de caída muerta – Pastebin |
| URL | https://digitalmoineyp[.]com/v2/cloudflare/avsmail/recive.php | Punto final de distribución |
| Direcciones IP – C2 / Panel | ||
| IP | 104.21.7[.]106 | brasilmotorsvs14.com – CDN de Cloudflare |
| IP | 188.114.96[.]3 | lazybearpottery.net – CDN de Cloudflare |
| IP | 206.0.29[.]58 | Panel VENON – LACNIC |
| IP | 51.222.75[.]250 | Panel VENON – OVH Canadá |
| IP | 51.222.75[.]248 | Panel VENON – OVH Canadá |
| IP | 192.99.226[.]117 | Panel VENON – OVH Canadá |
| IP | 212.69.5[.]84 | Panel VENON – Europa |
| IP | 34.227.229[.]85 | Panel VENON – AWS EC2 |
| Direcciones IP – Servicios legítimos abusados | ||
| IP | 34.117.59[.]81 | ipinfo.io – huellas dactilares de geolocalización |
| IP | 142.251.140[.]187 | almacenamiento.googleapis.com – punto muerto GCS |
| IP | 142.251.141[.]67 | c.pki.goog – Validación CRL |
| IP | 142.251.140[.]163 | o.pki.goog – Validación OCSP |
| Rutas del sistema de archivos | ||
| Camino | C:\Datos del programa\USOShared\NuPLihaOH\ | Directorio de estadificación de implantes |
| Camino | C:\ProgramData\USOShared\NuPLihaOH\NVIDIANOtification.exe | Ejecutable legítimo de NVIDIA (carga lateral) |
| Camino | C:\ProgramData\USOShared\NuPLihaOH\®mjtgr.exe | Implante principal (prefijo Unicode) |
| Camino | C:\ProgramData\USOShared\NuPLihaOH\qYogBt.zip | ZIP temporal en puesta en escena |
| Claves de registro | ||
| Registro | HKCU\Software\Microsoft\Windows\CurrentVersion\Run | Persistencia – ejecuta ®mjtgr.exe al iniciar sesión |
| Procesos | ||
| Proceso | ®mjtgr.exe | Implante principal (PID 6864) |
| Proceso | NVIDIANOtification.exe | Ejecutable NVIDIA legítimo – vehículo de carga lateral |
| Proceso | CasPol.exe | LOLBin – objetivo de carga lateral |
| Proceso | wscript.exe | Ejecutor de scripts VBS |
| Archivos | ||
| Archivo | libcef.dll | DLL maliciosa – carga lateral a través de CEF (empaquetado) |
| Archivo | NVIDIANOtification.exe | Ejecutable NVIDIA legítimo utilizado como cargador |
| Archivo | ®mjtgr.exe | Implante renombrado (Unicode ® prefijo) |
| Archivo | qYogBt.zip | ZIP temporal en puesta en escena |
| Archivo | modmarco2026.zip | Carga útil versionada – alojada en S3 |
| Archivo | DocumentoReclamaAQUI_56b2ca9811.cmd.bin | Gotero CMD (fase F1) |
| Archivo | Itau_swap_install.vbs | VBS Script – Intercambio de atajos de Itaú |
| Archivo | inicioabril2026 | Resolutor de caída muerta – GCS |
| Archivo | startmarco2026_1_ | Resolutor de caída muerta – GCS |
| Archivo | startjaneiro_1_ | Resolutor de caída muerta – GCS |
| Archivo | startabril_2 | Resolutor de caída muerta – GCS |
| Hashes | ||
| MD5 | 427ccfa456ed27a819aa152708212ff4 | libcef.dll (empaquetado) |
| SHA256 | c482286a7fdfb64d308c197a4deabcd773b8b62d9e74d1d08fcfd02568d75d72 | libcef.dll (empaquetado) |
| MD5 | 2d1c4778094ba0e1a6e13bb67ce1b631 | libcef.dll (desempaquetado) |
| SHA256 | 75d1a2560cf93c6a028aa3573febddaf713014d64b0e8904488111772e4cff49 | libcef.dll (desempaquetado) |
| MD5 | a99cb35768489b7aacf2d31d33d8f541 | Itau_swap_install.vbs |
| SHA256 | fd5d9effc1ef77a49b0720d2691bc144f513609760c22fa62bc1e8b84dedf879 | Itau_swap_install.vbs |
| SHA256 | 78b62856878cb09602b14104df18ca2bedac8640e09d74b934ff3ea0e15627f3 | Amostra adicional |
| SHA256 | d61be2b21e135726c547a388ecb47552559e5221894f5005ce35bdb24efc0c26 | Amostra adicional |
