
Introducción
Zanubis es un troyano bancario para Android que apareció a mediados de 2022. Al principio, tenía como blanco a bancos y entidades financieras en Perú. Pero con el tiempo, amplió sus ataques a billeteras virtuales y de criptomonedas.
Su principal método de infección consiste en hacerse pasar por aplicaciones legítimas peruanas para Android y luego engañar al usuario para que habilite los permisos de accesibilidad. Una vez otorgados, el malware adquiere amplias capacidades con las que sus operadores pueden robar los datos bancarios y credenciales del usuario, así como realizar acciones remotas y controlar el dispositivo sin que la víctima se dé cuenta.
Este malware de Android está en desarrollo continuo, y hemos visto nuevas muestras que extienden sus funciones de exfiltración de datos y control remoto, así como nuevos métodos de ofuscación y tácticas engañosas. Los atacantes detrás de Zanubis continúan refinando su código: añaden características, cambian los algoritmos de cifrado, cambian los objetivos y ajustan las técnicas de ingeniería social para aumentar las tasas de infección. Estas actualizaciones a menudo se hacen durante campañas recurrentes, lo que sugiere un esfuerzo deliberado por mantener el malware relevante y efectivo.
Para entender cómo el troyano alcanzó su etapa actual, necesitamos dar un vistazo a sus orígenes y examinar las primeras señales que anticipaban en qué se convertiría. Acompáñenos en este artículo donde examinaremos más de cerca la evolución del malware a lo largo del tiempo.
2022: De cero a amenaza
Zanubis fue detectado por primera vez alrededor de agosto de 2022, y al principio tenía como objetivo a instituciones financieras y usuarios de plataformas de intercambio de criptomonedas en Perú. Cuando fue descubierto, el malware se distribuía haciéndose pasar por un lector de PDF, utilizando el logotipo de una aplicación conocida para parecer legítimo e inducir a que las víctimas lo instalasen.
En sus primeras etapas, Zanubis solía emplear un enfoque mucho más simple y limitado en comparación con las funciones que analizaremos más adelante. El malware accedía a un sitio de Pastebin indicado en su código, desde donde obtenía su configuración y los nombres de paquete de todas las aplicaciones objetivo, analizando los datos en formato XML o HTML.
Además, al iniciarse, el malware recopilaba información clave del dispositivo infectado, como la lista de contactos, la lista de aplicaciones instaladas y varios identificadores del dispositivo, como el fabricante, el modelo y la huella digital. El troyano también realizaba verificaciones específicas para identificar si la marca del dispositivo era Motorola, Samsung o Huawei, lo que sugiere que podía adaptar su comportamiento o escoger sus objetivos según la marca.
Además, intentaba recopilar y eludir las configuraciones de optimización de batería, quizá para asegurarse de que pudiera ejecutarse en segundo plano sin interrupciones. Después, toda la información recolectada se formateaba y transmitía a un servidor remoto utilizando el protocolo WebSocket. Para ello, Zanubis utilizaba una URL inicial contenida en su código, que le permitía establecer comunicación y exfiltrar los datos recopilados. También recibía un pequeño grupo de comandos del servidor C2.
El malware operaba como un troyano bancario basado en superposición que abusaba del servicio de accesibilidad de Android. Aprovechando los permisos de accesibilidad, el malware podía ejecutarse en segundo plano sin llamar la atención, atento a qué aplicaciones estaban activas en el dispositivo. Cuando detectaba que se había abierto una aplicación objetivo, superponía una imagen generada de antemano que estaba diseñada para imitar la interfaz legítima. Esta superposición capturaba las credenciales del usuario a medida que se ingresaran, robando la información confidencial sin levantar sospechas.
Zanubis tenía en la mira a 40 aplicaciones bancarias y financieras de Perú. El malware mantenía una lista predefinida de nombres de paquetes correspondientes a estas instituciones y la usaba para activar ataques de superposición. La intención de esta estrategia era comprometer a los usuarios de servicios financieros para robar sus credenciales.
En ese momento, el malware parecía estar en desarrollo activo: la ofuscación del código aún no se había implementado, lo que hacía que las muestras fueran completamente legibles al descompilarlas. Además, varias funciones de depuración aún estaban presentes en las versiones capturadas en el mundo real.
2023: Actualización con múltiples funciones
En abril de 2023, identificamos una nueva campaña que presentaba una versión renovada de Zanubis. Esta vez, el paquete malicioso se hacía pasar por la aplicación oficial de Android de SUNAT (Superintendencia Nacional de Aduanas y de Administración Tributaria), la autoridad nacional de impuestos y aduanas de Perú. El malware copiaba tanto el nombre como el ícono de la aplicación legítima, haciéndola parecer auténtica para los usuarios desprevenidos.
Paso a la ofuscación
A diferencia de las versiones anteriores, esta variante introdujo cambios notables para mejorar su capacidad de ocultamiento. El código estaba completamente ofuscado, lo que hacía más difícil el análisis y la detección manual. Para dificultar el análisis de malware, los actores de la amenaza utilizaron Obfuscapk, un popular framework de ofuscación para APKs de Android. Obfuscapk combina múltiples técnicas, incluyendo varios ofuscadores y los llamados “confusores”. Estas técnicas varían en complejidad, desde medidas básicas como cambiar el nombre de las clases, agregar código basura y reemplazar firmas de métodos, hasta estrategias más avanzadas como el cifrado de código RC4 y la ofuscación del flujo de control. La intención era dificultar la ingeniería inversa y ralentizar tanto el análisis estático como el dinámico, dando a los operadores más tiempo para ejecutar sus campañas sin ser detectados.

Código basura (a la izquierda) y métodos de ofuscación de cambio de nombre (a la derecha) aplicados al implante malicioso
Una vez instalado y ejecutado, el malware comenzaba a configurar sus componentes internos, incluyendo varias clases, funciones y el objeto SharedPreferences, que son esenciales para el funcionamiento del troyano. Este último suele guardar datos de configuración sensibles, como las URL del servidor C2, claves de cifrado, endpoints de API y puertos de comunicación.
Trucos engañosos
En todas las versiones de Zanubis, un paso clave del flujo de ejecución es asegurarse de tener permisos del servicio de accesibilidad, que son cruciales para los ataques de superposición y monitoreo en segundo plano. Para obtenerlos, el malware verifica si se está ejecutando por primera vez y si ya se han otorgado los permisos necesarios. Si no, emplea una táctica engañosa, específica para cada versión, para manipular al usuario y hacer que los active.
En la versión de 2023, el malware mostraba una página web de instrucciones falsa usando WebView, alegando que se necesitaban permisos adicionales para visualizar un documento — una excusa creíble, dado que la aplicación se hacía pasar por una app oficial. En esta página, se mostraba un botón llamativo que decía “Ir a Accesibilidad”. Al presionarlo, el botón activaba una redirección a la pantalla de Configuración de Accesibilidad del sistema o directamente al panel específico para habilitar las funciones de accesibilidad de la aplicación maliciosa, dependiendo del modelo del dispositivo.
Gran parte de este truco se basa en la ingeniería social, aprovechando la imagen confiable de la aplicación y la falta de conocimiento del usuario sobre el sistema de permisos de Android. Una vez otorgados los permisos de accesibilidad, el malware habilita en secreto configuraciones adicionales para impedir la optimización de la batería, con lo que asegura que pueda permanecer activo en segundo plano indefinidamente, listo para ejecutar sus funciones maliciosas sin intervención del usuario.
Con el acceso en segundo plano asegurado, el malware carga el sitio web legítimo de SUNAT que los usuarios utilizan para revisar sus deudas e información fiscal. Al incrustar esta página confiable en un WebView, la aplicación refuerza su disfraz y evita levantar sospechas, apareciendo como una parte normal y funcional de los servicios oficiales de SUNAT mientras continúa su actividad maliciosa en segundo plano.
Recolección de datos
Al igual que en versiones anteriores, el malware comenzaba recopilando información del dispositivo y conectándose a su servidor C2 para esperar más instrucciones. La comunicación con la API C2 estaba cifrada con RC4 usando una clave indicada en su código y codificada en Base64. Tras completar su inicialización, el malware establecía una conexión mediante Socket.IO y entraba en un bucle de sondeo, consultando periódicamente al servidor C2 en busca de eventos entrantes. En esta campaña, la lista de comandos actual había crecido, ampliando las capacidades del malware mucho más allá de las versiones anteriores.
Esta versión de Zanubis, dependiendo de su configuración vigente, realizaba una de dos acciones para robar datos del usuario cuando detectaba que una aplicación objetivo estaba ejecutándose en el dispositivo. La primera acción consistía en activar funciones de “keylogger”: es decir, registrar los eventos de la interfaz de usuario como toques, cambios de enfoque y entradas de texto, para capturar información sensible como credenciales y datos personales. Estos registros se almacenaban en el dispositivo y luego se enviaban al servidor C2 a petición. En la segunda acción posible, Zanubis activaba la grabación de pantalla para capturar todo lo que el usuario hiciera dentro de la aplicación, enviando tanto las imágenes como los datos de interacción directo al servidor.
Secuestro de SMS
Otra nueva funcionalidad introducida en esta campaña fue el secuestro de SMS, una técnica crítica para comprometer cuentas bancarias y servicios que dependen de los mensajes SMS para la autenticación de dos factores. Una vez instruido por el servidor C2, Zanubis se configuraba como la aplicación de SMS predeterminada en el dispositivo, lo que le permitía interceptar todos los mensajes entrantes a través de un receptor personalizado. Esto le daba al malware acceso a los códigos de verificación enviados por los bancos y otros servicios confidenciales, e incluso la posibilidad de eliminarlos antes de que el usuario pudiera verlos, haciendo invisibles sus actividades.
Estas acciones permanecían completamente ocultas para el usuario. Incluso si el usuario intentaba recuperar el control y restablecer su aplicación de SMS predeterminada a la normalidad, Zanubis bloqueaba esa posibilidad.
Actualizaciones falsas
Uno de los comportamientos más invasivos y engañosos exhibidos por Zanubis se desencadenaba mediante el evento bloqueoUpdate
, que simulaba ser una actualización legítima del sistema Android. Cuando se activaba, el malware bloqueaba el dispositivo e impedía cualquier interacción normal, dejándolo casi inutilizable. Los intentos de bloquear o desbloquear la pantalla eran detectados y neutralizados, haciendo casi imposible que el usuario interrumpiera el proceso.
Antes de superponer la imagen de la actualización falsa, el malware podría enviar una notificación de advertencia para avisar que una actualización urgente estaba a punto de ser instalada, y aconsejando al usuario que no interactuara con el dispositivo. Esto aumentaba la credibilidad del engaño y evitaba que el usuario intentara intervenir.
Detrás de esta actualización falsa, Zanubis seguía operando silenciosamente en segundo plano, realizando tareas maliciosas como desinstalar aplicaciones, interceptar mensajes SMS, cambiar ajustes del sistema y modificar permisos, todo sin que la víctima se diera cuenta.
2024: Desarrollo continuo
Durante 2024 continuamos monitoreando a Zanubis en varios recursos, entre ellos plataformas de terceros. A principios de mayo, detectamos la aparición de nuevas variantes activas. En particular, observamos más de 30 versiones del malware que fueron subidas a la plataforma VirusTotal desde Perú, revelando los esfuerzos de los desarrolladores por probar e implementar nuevas funcionalidades y características en el malware.
Cifrado reforzado
En estas versiones de Zanubis, los desarrolladores implementaron mecanismos para proteger las cadenas embebidas en el código, con el objetivo de complicar el análisis y reducir las tasas de detección. Los actores de la amenaza utilizaron una clave generada con el algoritmo PBKDF2 para realizar el cifrado y descifrado dinámico de cadenas, haciendo uso del cifrado AES en modo ECB. Este método hizo que el implante mantuviera ocultas las cadenas de texto durante el análisis estático, revelándolas solo cuando necesitaba ejecutarlas.
Estas cadenas no eran los únicos datos cifrados en estas nuevas variantes del malware. La comunicación entre el C2 y el malware también estaba protegida mediante AES en modo ECB, lo que es un avance respecto al uso de RC4 en muestras previas. A diferencia de la clave explícita utilizada para el cifrado de cadenas, en este caso se generaba aleatoriamente una nueva clave de 32 bytes cada vez que se iban a enviar datos.
Robo de credenciales del dispositivo
Una de las acciones más relevantes realizadas por esta versión de Zanubis era el robo de las credenciales del dispositivo. Una vez activo en segundo plano, el malware monitoreaba constantemente los eventos del sistema desencadenados por otras aplicaciones. Cuando detectaba actividades relacionadas con la autenticación que requerían la entrada de un PIN, contraseña o patrón, intentaba identificar el tipo de autenticación en uso y capturaba la entrada correspondiente.
El malware monitoreaba señales específicas que indicaban que el usuario estaba con la pantalla de bloqueo o con un método de seguro de autenticación. Cuando las identificaba, recopilaba los caracteres ingresados o los gestos utilizados. Si detectaba que la autenticación era incorrecta, restablecía el seguimiento del proceso para no almacenar datos inválidos. Una vez que se completaba el proceso de entrada y el usuario continuaba con otra actividad, el malware enviaba las credenciales recopiladas al servidor C2.
Ampliando el alcance
Esta versión del malware seguía atacando aplicaciones bancarias e instituciones financieras en Perú y amplió su alcance para incluir proveedores de tarjetas virtuales, así como billeteras digitales y de criptomonedas. Esta actualización agregaba 14 nuevas aplicaciones objetivo, aumentando el alcance de sus ataques y ampliando la gama de servicios financieros que es capaz de explotar.
2025: La campaña más reciente
A mediados de enero de 2025, identificamos nuevas muestras que evidenciaban la existencia de una versión actualizada de Zanubis. Las actualizaciones van desde cambios en la distribución del malware y la estrategia de engaño hasta modificaciones de código, nuevos comandos del C2 y un mejor filtrado de aplicaciones objetivo para el robo de credenciales.
Nuevas tácticas de difusión
Antes, Zanubis se hacía pasar por la autoridad fiscal de Perú, SUNAT. Sin embargo, en esta nueva campaña, hemos identificado dos nuevas entidades peruanas cuyas identidades están siendo utilizadas por el malware: una empresa del sector energético y un banco.
Al principio, el troyano se disfraza como dos aplicaciones legítimas de las empresas objetivo, cada una diseñada para explotar una necesidad específica del usuario. En el caso de la empresa de energía, el APK malicioso se distribuye bajo nombres como “Boleta_XXXXXX” o “Factura_XXXXXX”, engañando a los usuarios para que crean que están verificando una supuesta boleta o factura.
En el caso del banco, los atacantes convencen a las víctimas para que descarguen el malware haciéndose pasar por un asesor bancario que les da esa instrucción. Estos trucos juegan el papel de instalador inicial del malware, utilizando contextos familiares y de confianza para garantizar la instalación.
Instalación silenciosa
Una vez que el usuario descarga y lanza la aplicación falsa, aparece una pantalla con el logotipo de la empresa, donde se indica que se están realizando las verificaciones necesarias. Mientras tanto, en segundo plano, el dropper intenta instalar en silencio el componente malicioso final, Zanubis, que está embebido en los recursos internos iniciales del malware (res/raw/
). Para descargar el APK, el dropper utiliza la clase PackageInstaller
. Este proceso de instalación se realiza sin la intervención del usuario, ya que no hay mensajes ni advertencias para alertar a la víctima. Al utilizar PackageInstaller
, el malware escribe el APK en el dispositivo en segundo plano y completa la instalación automáticamente, sin ser detectado. Esta técnica se emplea para evadir la detección. Después de la instalación, se envía un intent para señalar que el paquete se ha instalado correctamente.
Afinando la selección de objetivos
En la última versión del malware, se ha reducido significativamente la cantidad de entidades que están en la mira, aumentando su enfoque en bancos e instituciones financieras. Ya no se persigue el amplio rango de objetivos de antes, que incluía billeteras de criptomonedas.
Este cambio estratégico sugiere una intención de optimizar los esfuerzos de ataque para concentrarlos en sectores que manejan los datos más delicados y valiosos, como las credenciales bancarias y las transacciones financieras. Al centrarse en estos objetivos de alto riesgo, el malware se vuelve aún más peligroso, ya que ahora se enfoca en las vías más lucrativas para los ciberdelincuentes.
¿Quién está detrás?
Según nuestro análisis en curso de Zanubis, varios indicadores sugieren que los responsables del malware podrían estar operando desde Perú. Estos indicadores incluyen, por ejemplo, el uso consistente del español latinoamericano en el código, el conocimiento de la banca peruana y las agencias gubernamentales, y los datos de telemetría de nuestros sistemas y VirusTotal.
El enfoque en entidades peruanas como objetivos también es un indicio de que los actores que manejan Zanubis residen en Perú. Estos indicadores regionales, combinados con las campañas de fraude financiero en curso del malware, apuntan a que se trata de una operación bien organizada que se centra en explotar las instituciones locales.
Conclusiones
Zanubis ha demostrado una clara evolución, pasando de ser un simple troyano bancario a una amenaza multifacética compleja. El malware ha sido continuamente refinado y mejorado, y se le han incorporado nuevas características y capacidades. Se sigue enfocando en objetivos de alto valor, sobre todo bancos e instituciones financieras en Perú, lo que lo convierte en un adversario peligroso en la región.
Además, los atacantes detrás de Zanubis no muestran intenciones de detenerse. Continúan innovando y ajustando sus tácticas, cambiando los métodos de distribución para asegurar que el malware llegue a nuevas víctimas y se ejecute de manera silenciosa. Este refinamiento constante demuestra que Zanubis no es una amenaza transitoria, sino un peligro continuo y persistente, capaz de incorporar mutaciones adicionales para cumplir con los objetivos financieros de sus desarrolladores.
A medida que Zanubis continúa evolucionando y adaptándose, es crucial que tanto los usuarios como las organizaciones se mantengan vigilantes. El panorama de amenazas está en constante cambio, y la capacidad de este malware para evolucionar y atacar a nuevas víctimas lo convierte en un riesgo siempre presente que no se puede ignorar.
Indicadores de compromiso
Zanubis, versión de 2025
81f91f201d861e4da765bae8e708c0d0
fd43666006938b7c77b990b2b4531b9a
8949f492001bb0ca9212f85953a6dcda
45d07497ac7fe550b8b394978652caa9
03c1e2d713c480ec7dc39f9c4fad39ec
660d4eeb022ee1de93b157e2aa8fe1dc
8820ab362b7bae6610363d6657c9f788
323d97c876f173628442ff4d1aaa8c98
b3f0223e99b7b66a71c2e9b3a0574b12
7ae448b067d652f800b0e36b1edea69f
0a922d6347087f3317900628f191d069
0ac15547240ca763a884e15ad3759cf1
1b9c49e531f2ad7b54d40395252cbc20
216edf4fc0e7a40279e79ff4a5faf4f6
5c11e88d1b68a84675af001fd4360068
628b27234e68d44e01ea7a93a39f2ad3
687fdfa9417cfac88b314deb421cd436
6b0d14fb1ddd04ac26fb201651eb5070
79e96f11974f0cd6f5de0e7c7392b679
84bc219286283ca41b7d229f83fd6fdc
90221365f08640ddcab86a9cd38173ce
90279863b305ef951ab344af5246b766
93553897e9e898c0c1e30838325ecfbd
940f3a03661682097a4e7a7990490f61
97003f4dcf81273ae882b6cd1f2839ef
a28d13c6661ca852893b5f2e6a068b55
b33f1a3c8e245f4ffc269e22919d5f76
bcbfec6f1da388ca05ec3be2349f47c7
e9b0bae8a8724a78d57bec24796320c0
fa2b090426691e08b18917d3bbaf87ce
Zanubis en acción: siguiendo el rastro de la rápida evolución del malware bancario para Android