Investigadores de ThreatFabric descubrieron un nuevo malware para Android llamado Hirudo, que combina funciones de un troyano bancario tradicional con capacidades completas de una herramienta de control remoto. Actualmente, el malware tiene como objetivo ocho aplicaciones bancarias indonesias, con indicios internos de que puede adaptarse para atacar bancos en China, India, México, Marruecos y Tailandia.
Hirudo no se limita a robar las credenciales del dispositivo, sino que permite al atacante ver la pantalla en directo mediante WebRTC, controlar el teléfono a través de los servicios de accesibilidad y acceder a las cámaras frontal y trasera. También recopila mensajes de texto, incluido un análisis inicial que abarca 90 días y una lista específica de remitentes de bancos y monederos.
¿Cómo llega el malware al teléfono?
Hirudo se distribuye mediante un descargador integrado en aplicaciones que parecen legítimas, como una aplicación para comprar, ver vídeos para adultos o dramas cortos, y se promociona a través de las redes sociales. Después de instalar la aplicación, el descargador comprueba si Hirudo está presente en el dispositivo y, si no lo está, instala la carga maliciosa.
Cuando detecta una aplicación bancaria indonesia específica, el malware muestra una falsa solicitud de actualización, elimina la aplicación legítima y descarga una versión modificada vinculada al banco objetivo. De este modo, el usuario cree que está utilizando la aplicación bancaria habitual, mientras que la versión falsa funciona como una interfaz para el robo y el control.
Elusión de las comprobaciones de seguridad dentro de la aplicación
La versión modificada incluye un motor para interceptar las llamadas de la aplicación, con el objetivo de desactivar las comprobaciones de firma digital, los servicios de accesibilidad, la captura de pantalla y Play Integrity desde la propia aplicación. Según los investigadores, el motor puede sustituir el certificado de firma que solicita Android por el certificado original y ocultar la firma de prueba. También devuelve una lista vacía al consultar los servicios de accesibilidad, lo que hace que el servicio del atacante sea invisible para la comprobación.
La importancia de este método reside en trasladar la confrontación desde las comprobaciones del dispositivo a los mecanismos de integridad dentro de la propia aplicación sustituida. Por ello, las señales generadas por una aplicación que ha sido sustituida no pueden considerarse fiables por sí solas, y la posibilidad de reutilizar el motor podría facilitar la orientación del ataque hacia otras aplicaciones y regiones.
¿Qué deberían revisar las instituciones financieras?
- Verificar Play Integrity y hacer cumplir sus resultados en el servidor, sin considerar que un resultado correcto por sí solo sea una prueba suficiente, ya que Hirudo puede reenviar las solicitudes de verificación a través de su servidor.
- Utilizar análisis de comportamiento por capas para detectar patrones fraudulentos, tratando la ausencia de datos de comportamiento como una señal que merece ser examinada.
- Considerar las señales de accesibilidad y captura de pantalla como pruebas complementarias, no como condiciones de bloqueo independientes, e incorporarlas al cálculo del riesgo.
- Mantener los controles de riesgo de las transacciones en el inicio de sesión, la recuperación de credenciales, la creación de beneficiarios y la aprobación de pagos, porque un resultado local falsificado no puede sustituir una decisión del servidor.
La advertencia práctica para las instituciones es que depender de una sola comprobación dentro de la aplicación ya no es suficiente cuando el malware puede sustituir la propia aplicación y ocultar los componentes de control. Los detalles disponibles sobre los operadores de Hirudo y la magnitud de las infecciones no se mencionan en el material de origen, lo que limita la estimación del alcance real de la campaña.