Investigadores han descubierto un nuevo malware para Android llamado Hirudo que ataca a los usuarios de servicios bancarios sustituyendo las aplicaciones bancarias legítimas por versiones modificadas dentro del dispositivo. Según un informe de la empresa de seguridad para dispositivos móviles ThreatFabric, el malware utiliza un motor para inyectar código con el objetivo de eludir las comprobaciones de firma de aplicaciones, los servicios de accesibilidad y Play Integrity.
Se detectaron versiones maliciosas de ocho aplicaciones bancarias, entre ellas aplicaciones pertenecientes al menos a siete bancos indonesios. La campaña también atacó instituciones financieras en China, India, México, Marruecos y Tailandia, mientras que el número de víctimas aún se desconoce.
¿Cómo llega Hirudo a los dispositivos?
El malware suele llegar a través de aplicaciones que parecen normales y ofrecen funciones de compras o contenido de entretenimiento, como Shopora, 1V1 X, ZoyaTV y KoiShort. Estas aplicaciones funcionan como descargadores del malware y después muestran una notificación de actualización falsa que lleva al usuario a concederles permisos adicionales, incluido el permiso de Accessibility.
Después de activar el permiso, la aplicación maliciosa comienza a eliminar la aplicación bancaria legítima, descarga una versión modificada e intenta instalarla. ThreatFabric describe el proceso como arriesgado para el atacante, ya que el usuario puede interrumpirlo en dos etapas.
Convertir los mecanismos de protección en una herramienta para eludirlos
La versión modificada conserva la mayor parte del código original de la aplicación bancaria, pero añade un motor basado en los marcos de código abierto YAHFA y Dobby. El motor funciona dentro del propio proceso de la aplicación bancaria, lo que le permite manipular los resultados de las comprobaciones en lugar de atacar la aplicación desde fuera.
- Sustituir el certificado de firma original cuando se consulta.
- Ocultar los servicios de Accessibility activados.
- Desactivar la protección de las capturas de pantalla, lo que permite su visualización y grabación de forma remota.
- Modificar los certificados de atestación vinculados a las claves y reenviar las solicitudes de Play Integrity a través de un servidor controlado por los operadores.
¿Qué pueden robar los atacantes?
Hirudo puede robar las contraseñas de las cuentas bancarias, los códigos secretos de pago, los secretos de desbloqueo del dispositivo y los mensajes SMS, además de transmitir la pantalla del teléfono y controlar ambas cámaras. También utiliza páginas de pago falsas para recopilar códigos de pago y después muestra un resultado de éxito falso para ocultar el robo de datos.
ThreatFabric encontró miles de registros con credenciales de aplicaciones en un panel de control sin protección, junto con datos de dispositivos, pantallas de bloqueo y archivos financieros. El informe no especifica si estos datos corresponden a todas las víctimas o solo a una parte de ellas.
¿Cuáles son las limitaciones y qué se debe hacer?
Los métodos para eludir las protecciones no funcionan sin limitaciones. La clave de atestación integrada pudo haberse filtrado públicamente, y Google incluyó dos de sus certificados entre los comprometidos, lo que permite a los servidores detectar las falsificaciones al realizar comprobaciones de revocación de certificados en el lado del servidor.
ThreatFabric considera que Hirudo representa una escalada en las técnicas de los programas de robo de cuentas bancarias en Android, porque ataca los mecanismos de protección dentro de las propias aplicaciones. La empresa propone a los bancos realizar la comprobación de integridad y la atestación en el servidor, vincular las comprobaciones a las sesiones y a las operaciones sensibles, y mantener controles de comportamiento y de riesgo de las transacciones.
En cuanto a los usuarios, se recomienda actualizar sus dispositivos, evitar los archivos APK de tiendas no oficiales y realizar comprobaciones periódicas con Play Protect.