Cuando en marzo de 2019 Google restringió el uso de permisos de SMS y registro de llamadas en aplicaciones de Android, uno de los efectos positivos fue que las aplicaciones que roban credenciales perdieron la opción de abusar de estos permisos para eludir los mecanismos de doble factor de autenticación (2FA) basados en SMS.
Sin embargo, hemos descubierto recientemente apps maliciosas capaces de acceder a contraseñas de un solo uso (OTP, por sus siglas en inglés) en mensajes SMS de doble factor de autenticación, sin utilizar permisos de SMS; evadiendo las recientes restricciones de Google. Por si fuera poco, esta técnica también funciona para obtener contraseñas de un solo uso de algunos sistemas de 2FA basados en el correo electrónico.
A la espera de robar las credenciales de inicio de sesión del servicio, las aplicaciones se hacen pasar por el exchange de criptomonedas turco BtcTurk. En lugar de interceptar mensajes SMS para evadir la protección 2FA en las cuentas y transacciones de los usuarios, estas aplicaciones maliciosas toman la contraseña de un solo uso de las notificaciones que aparecen en la pantalla del dispositivo comprometido. Además de leer las notificaciones de 2FA, las aplicaciones también pueden descartarlas para evitar que las víctimas se den cuenta de transacciones fraudulentas.
El malware, que en todas sus formas es detectado por los productos de ESET como Android / FakeApp.KP, es el primero que se conoce con la capacidad de eludir las nuevas restricciones de permisos de SMS.
Las aplicaciones maliciosas
La primera de las aplicaciones maliciosas que analizamos se subió a Google Play el 7 de junio de 2019 como “BTCTurk Pro Beta” y bajo el nombre de desarrollador “BTCTurk Pro Beta”. Fue instalada por más de 50 usuarios antes de que ESET informara a los equipos de seguridad de Google. BtcTurk es un exchange de criptomonedas turco; su aplicación móvil oficial está enlazada desde su sitio web oficial y solo está disponible para usuarios en Turquía.
La segunda aplicación se subió el 11 de junio de 2019 como “BtcTurk Pro Beta” bajo el nombre de desarrollador “BtSoft”. Aunque las dos aplicaciones tienen una apariencia muy similar, parecen ser el trabajo de diferentes atacantes. Informamos sobre esta aplicación el 12 de junio de 2019, cuando fue instalada por menos de 50 usuarios.
Después de que se eliminó esta segunda aplicación, los mismos atacantes cargaron otra aplicación con funcionalidad idéntica, esta vez denominada “BTCTURK PRO” y usando el mismo nombre de desarrollador, icono y capturas de pantalla. Informamos sobre esta aplicación el 13 de junio de 2019.
La Figura 1 muestra las primeras dos aplicaciones maliciosas tal como aparecieron en Google Play.
La nueva técnica para evadir el 2FA
Después de la instalación, las dos aplicaciones descritas en la sección anterior siguen un procedimiento similar. En esta sección del post, describiremos la novedosa técnica de evasión del doble factor de autenticación utilizada por la primera aplicación, “BTCTurk Pro Beta”, como ejemplo.
Una vez iniciada, la aplicación solicita un permiso denominado “Acceso a las notificaciones”, en inglés: “Notification acces”; como se puede apreciar en la Figura 2. Este permiso permite a la aplicación leer las notificaciones mostradas por otras aplicaciones instaladas en el dispositivo, descartar esas notificaciones o hacer clic en los botones que contienen.
El permiso de Acceso a las notificaciones se introdujo en la versión 4.3 de Android (Jelly Bean), lo que significa que casi todos los dispositivos Android activos son susceptibles a esta nueva técnica. Ambas aplicaciones BtcTurk falsas requieren la versión de Android 5.0 (KitKat) o superior para ejecutarse; por lo que podrían afectar alrededor del 90% de los dispositivos Android.
Una vez que el usuario otorga este permiso, la aplicación muestra un formulario de inicio de sesión falso que solicita credenciales para BtcTurk; como se muestra en la Figura 3.
Después de ingresar las credenciales, se muestra un falso mensaje de error en turco; como se ve en la Figura 4. La traducción al español del mensaje es: “¡Upss! Debido al cambio realizado en el sistema de verificación de SMS somos temporalmente incapaces de reparar nuestra aplicación móvil. Después de los trabajos de mantenimiento, se le notificará a través de la aplicación. Gracias por su comprensión”.
En segundo plano, las credenciales ingresadas son enviadas al servidor del atacante.
Gracias al permiso de Acceso a las notificaciones, la aplicación maliciosa es capaz de leer las notificaciones provenientes de otras aplicaciones, incluidas las aplicaciones de SMS y correo electrónico. La app cuenta con filtros para dirigirse solo a notificaciones de aplicaciones cuyos nombres contienen las palabras clave ” gm, yandex, mail, k9, Outlook, sms, mensajería”, como se ve en la Figura 5.
El contenido mostrado por todas las notificaciones de las aplicaciones marcadas como blanco son enviadas al servidor del atacante. Los atacantes pueden acceder al contenido, independientemente de la configuración que utilice la víctima para mostrar notificaciones en la pantalla de bloqueo. Los atacantes detrás de esta aplicación también pueden descartar notificaciones entrantes y configurar el modo de timbre del dispositivo en silencio, lo que puede evitar que las víctimas noten transacciones fraudulentas.
En cuanto a la efectividad a la hora de evadir el 2FA, la técnica tiene sus limitaciones: los atacantes solo pueden acceder al texto que se ajusta al campo de texto de la notificación y, por lo tanto, no está garantizado que incluya la contraseña de un solo uso. Los nombres de las aplicaciones apuntadas nos muestran que tanto el 2FA basado en SMS como el de correo electrónico es de interés para los operadores detrás de este malware. En el 2FA a través de SMS, los mensajes son generalmente cortos y es probable que las contraseñas de un solo uso encajen en el mensaje de notificación. Sin embargo, en el caso del 2FA a través del correo electrónico 2FA, la longitud y el formato de los mensajes son mucho más variados, lo que podría afectar el acceso del atacante a la clave de un solo uso.
Una técnica que evoluciona rápidamente
La semana pasada, analizamos una aplicación maliciosa que simulaba ser el exchange de criptomonedas turco Koineks (agradecemos a @ DjoNn35 por avisarnos acerca de esta aplicación). Es interesante que la falsa aplicación Koineks utiliza la misma técnica maliciosa para evadir el 2FA basado en correo electrónico y SMS, pero carece de la capacidad de descartar y silenciar las notificaciones.
Según nuestro análisis, fue creado por el mismo atacante que la aplicación “BTCTurk Pro Beta” analizada en este mismo post; lo cual demuestra que los atacantes actualmente están trabajando en ajustes de esta técnica para lograr los “mejores resultados” en su objetivo de robar mensajes SMS.
Cómo estar protegido
Si sospecha que ha instalado y utilizado una de estas aplicaciones maliciosas, le recomendamos que la desinstale de inmediato. Revise sus cuentas para detectar actividades sospechosas y cambie sus contraseñas.
El mes pasado, advertimos sobre el creciente precio de bitcoin y cómo esto ha dado lugar a una nueva ola de malware de criptomoneda en Google Play. Este último descubrimiento muestra que los cibercriminales están buscando activamente métodos para eludir las medidas de seguridad y así aumentar sus posibilidades de lograr sus objetivos.
Para mantenerse a salvo de esta nueva técnica, así como del malware financiero para Android en general, recomendamos:
- Confiar solamente en aplicaciones relacionadas con la criptomoneda y en otras aplicaciones financieras siempre que estén vinculadas desde el sitio web oficial del servicio;
- Solo ingrese su información confidencial en formularios en línea si está seguro de su seguridad y legitimidad del mismo;
- Mantenga su dispositivo actualizado;
- Use una solución de seguridad móvil confiable para bloquear y eliminar amenazas. Los sistemas de ESET detectan y bloquean estas aplicaciones maliciosas como Android / FakeApp.KP;
- Siempre que sea posible, utilice generadores de contraseña de un solo uso (OTP) basados en software o hardware en lugar de SMS o correo electrónico;
- Solo use aplicaciones que considere confiables, y aun así: solo permita el acceso a las Notificación a aquellas que tengan una razón legítima para solicitarla.
Indicadores de Compromiso (IoCs)
Package name | Hash | ESET detection name |
---|---|---|
btcturk.pro.beta | 8C93CF8859E3ED350B7C8722E4A8F9A3 | Android/FakeApp.KP |
com.app.btsoft.app | 843368F274898B9EF9CD3E952EEB16C4 | Android/FakeApp.KP |
com.app.elipticsoft.app | 336CE9CDF788228A71A3757558FAA012 | Android/FakeApp.KP |
com.koinks.mobilpro | 4C0B9A665A5A1F5DCCB67CC7EC18DA54 | Android/FakeApp.KP |
MITRE ATT&CK
Tactic | ID | Name | Description |
---|---|---|---|
Initial Access | T1475 | Deliver Malicious App via Authorized App Store | The malware impersonates legitimate services on Google Play. |
Credential Access | T1411 | User Interface Spoofing | The malware displays phishing activity and requests users to log in. |