Troyano espía explota la vulnerabilidad Android Binder


Ecular Xu y Joseph C Chen, investigadores de Trend Micro han detectado recientemente tres aplicaciones maliciosas en Google Play. Estas no han sido las primeras apps maliciosas de Google Play, en el pasado se han detectado otras cuyo principal objetivo ha sido el robo de datos, tanto bancarios como otros datos personales de la víctima.

Dos de estas aplicaciones permitían tomar y editar fotografías, mientras que la tercera se trataba de un administrador de ficheros para Android.

android-binder-01Aplicaciones publicadas en el Google Play

No es una novedad encontrar malware publicado en la tienda oficial de Google como si de aplicaciones legítimas se tratasen, sin embargo, lo que hace especial a estas tres aplicaciones es que explotan una vulnerabilidad de Android para obtener privilegios de ‘root’ en el dispositivo.

Gracias a esta vulnerabilidad, las aplicaciones consiguen tomar control total del dispositivo infectado, lo que les permite acceder a todos los datos almacenados en el dispositivo: datos de Facebook, Gmail, fotos, etc.

Y todo ello sin que el usuario sea consciente y sin necesidad de solicitar permisos especiales.

 

Vulnerabilidad Android Binder

La vulnerabilidad explotada por este troyano se trata de un fallo en el componente ‘Binder’ de Android. Este elemento del sistema es el encargado de implementar la comunicación Inter-Proceso (IPC, por sus siglas en inglés).

En resumen, el ‘Binder’ de Android permite la comunicación entre procesos de una misma aplicación, de esta forma una app puede separar su funcionalidad en diferentes procesos, lo que le permitirá mejorar su rendimiento y su seguridad, puesto que cada proceso tendrá reservado su propio espacio de memoria.

Este fallo de seguridad ha sido identificado con el código ‘CVE-2019-2215’.

El problema fue detectado en septiembre de 2019 por el equipo de Google Project Zero, aunque el primer reporte se produjo en noviembre de 2017, y fue parcheado en febrero de 2018. Fue en noviembre de 2019 cuando los investigadores de Google lo hicieron público y escribieron una entrada en su blog describiendo la raíz del problema. 

El fallo se encuentra en la estructura ‘binder_thread’, dicha estructura es utilizada internamente por el módulo ‘Binder’ del sistema operativo Android para administrar las comunicaciones entre procesos.

Concretamente, el problema se produce debido a que otra estructura del sistema mantiene un puntero al campo ‘wait’ de esta estructura, pero no invalida el puntero cuando la instancia de la estructura es eliminada y su memoria liberada. 

android-binder-02
Estructura ‘binder_thread’ que contiene el campo ‘wait’.

Al no invalidarse el puntero a la estructura ‘wait_queue_head_t’, es posible forzar al sistema a utilizar dicho puntero, cuya memoria ha sido liberada y no contiene los datos originales.

Un atacante puede forzar la reserva de esa zona de memoria liberada y almacenar información falsa que se utilice como si se tratase de la información original. Con esta información falsa es posible controlar la ejecución del módulo ‘Binder’, que es ejecutado con mayores privilegios que la aplicación.

 

Aplicaciones maliciosas

Las aplicaciones detectadas en la tienda oficial de Google aprovechan la vulnerabilidad en el ‘Binder’ de Android para elevar privilegios y acceder a todos los datos del dispositivo sin que el usuario pueda darse cuenta.

Las apps ‘Camero’ y ‘FileCrypt Manager’ no incluyen el código malicioso, en su lugar actúan como ‘droppers’, que descargan y ejecutan el código malicioso contenido en un fichero DEX.

Este código descargado contiene la segunda etapa del ataque, que consiste nuevamente en descargar código malicioso.

En este caso, se descarga, instala y ejecuta la tercera aplicación publicada en el Google Play, ‘callCam’.

android-binder-03
Fases del ataque. Fuente: TrendMicro

Durante la investigación, es la aplicación ‘Camero’ la que aprovecha la vulnerabilidad para obtener permisos de ‘root’ en el dispositivo a través del fichero DEX descargado del servidor de control. Este código descargado se encarga a su vez de comprobar el modelo de dispositivo y descargar el ‘exploit’ correspondiente a dicho modelo. 

android-binder-04
Código encargado de comprobar el modelo del dispositivo 

El ‘exploit’ utilizado por este troyano es compatible únicamente con los dispositivos: Google Pixel (Pixel 2, Pixel 2 XL), Nokia 3 (TA-1032), LG V20 (LG-H990), Oppo F9 (CPH1881) y con los dispositivos Redmi 6A.

En el caso de la aplicación ‘FileCrypt Manager’, ésta no descarga el DEX que comprueba el modelo y explota la vulnerabilidad del ‘Binder’, en su lugar, esta app solicita permisos de accesibilidad al usuario y muestra ‘overlays’ falsos para que el usuario haga clic en los botones necesarios para instalar la aplicación ‘callCam’.

A partir de este momento, la aplicación ‘callCam’ oculta su icono y comienza a recopilar datos del dispositivo, enviándolos al servidor de control. Entre los datos recopilados se encuentran: localización, estado de la batería, aplicaciones instaladas, capturas de pantalla, información de redes Wifi configuradas, y datos de diferentes apps instaladas, como Gmail, Chrome, Facebook o Twitter, entre otras.
 

Conclusiones

En este caso hemos podido observar como varias aplicaciones maliciosas se han colado en la tienda oficial de Google, lo que ya supone un problema para el usuario, que habitualmente confía en las aplicaciones que descarga del Google Play, ya que han sido comprobadas y aceptadas por Google.

Anteriormente otras aplicaciones maliciosas se habían colado en el Google Play, sin embargo, en esta ocasión estas están preparadas para explotar una vulnerabilidad en uno de los componentes del sistema operativo Android, lo que les permite obtener permisos de ‘root’ en el sistema, consiguiendo control total del dispositivo.

Esto permite a este malware recopilar prácticamente cualquier información almacenada en el dispositivo, incluyendo correos electrónicos, fotos, mensajes enviados a través de redes sociales, etc.

Aunque en este caso no se han encontrado evidencias de que el troyano haya sido utilizado para robar datos bancarios, los atacantes no necesitan realizar grandes cambios para que este malware sea capaz de robar datos bancarios, y gracias a los permisos de ‘root’, ni siquiera sería necesario que siguiesen las técnicas habituales de ‘overlays’ para presentar una web de phishing al usuario al abrir la app legítima del banco. Podrían acceder a los datos almacenados en el dispositivo de forma insegura, o incluso intentar inyectar código en las aplicaciones legítimas.

Si deseas saber más sobre cómo buguroo puede ayudarte a proteger a tus clientes ante este tipo de ataques, ponte en contacto con nosotros.


Comprueba como puede ayudarte nuestra solución a resolver los problemas de fraude online de tu empresa, solicita gratuitamente una DEMO ahora y te explicamos en detalle.

Solicita una DEMO

 

 

Publicado por David García

In his more than 9-year professional career, he has been involved in multiple projects, the most important being in the fields of managed security, anti-fraud and ethical hacking services, and malware analysis. He has contributed his know-how and security-related improvements to a wide variety of fraud and vulnerability analysis products. He currently oversees the smooth running of our different products and researches current fraud developments in order to showcase buguroo overseas as well as providing the development department with feedback on the latest malware and cybercriminal trends.


¿Te ha gustado? Comparte en tus comunidades sociales.

 
 

¿Necesitas reducir el fraude online de tu banco?

Descubre nuestra visión holística aplicada a la detección del fraude online

Solicita una demo