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.

Figura 1. La falsa app BtcTurk 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.

Figura 2. La falsa aplicación solicitando “Acceso a las notificaciones”

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 (Lollipop) 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.

Figura 3. El falso formulario de inicio de sesión desplegado por la app maliciosa

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.

Figura 4. El falso mensaje de error que despliega la aplicación maliciosa

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.

Figura 5. Nombres y tipos de aplicaciones apuntadas

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.

Figura 6. Información sobre la falsa app Koineks en Google Play

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

Técnicas de 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.