lunes, diciembre 29, 2014

En apps de Android en Google Play te puedes encontrar enlaces locales, a cuentas Dropbox y hasta a contraseñas

Ayer domingo, antes de acostarme decidí jugar un poco con Path 5, nuestro Big Data de apps de Android, para probar una serie de cosas que están rondando por mi cabeza. Como sabéis, en nuestra plataforma guardamos las apps y el entorno de publicación de las mismas para poder analizarlas a golpe de clics y poder realizar búsquedas o filtros que avisen cuando alguna app coincida con el patrón de búsqueda. Una vez que se genera esa lista de apps mediante un RSS, se puede automatizar su post-procesado con paneles de control realizados por Sinfonier, por scripts automáticos que decidan que apps deben ser analizadas con alguna otra plataforma de análisis de malware o directamente que llegue a un equipo HUMINT que revise las apps más sospechosas.

Figura 1: En los enlaces de apps de Android puede salir de todo

Entre las características por las que se pueden realizar búsquedas, están los enlaces o links, que aparecen en la app. Esta función permite localizar, entre otras cosas, cuando una app que aparentemente no tiene nada que ver con tu empresa, tiene enlaces a ella, que puedan estar usándose para hacer phishing y tomar imágenes de la web haciendo hotlinking, o simplemente para abusar de alguna función de los servicios expuestos. A nosotros, nos vino bien para descubrir la infraestructura completa de Shuabang Botnet.


Un vistazo rápido a enlaces en las apps de Android

Esta característica de buscar por enlaces de forma rápida y filtrada, nos permite, mediante los servicios de Vigilancia Digital, avisar cuando una nueva app está haciendo algo extraño y no controlado por el equipo de seguridad o de canales electrónicos de la empresa, pero también para detectar familias de adware que hacen uso de los mismos servicios para apuntarse dinero o, por ejemplo, hacer suscripciones ilícitas a servicios SMS de pago o similares como se hizo en la estafa de la linterna molona.

Figura 3: Apps con enlaces a cuentas de usuario de Dropbox

Como ayer era domingo, decidí perder un poco el tiempo a ver qué cosas era la gente capaz de poner en las apps que están publicadas en Google Play a día de hoy, probando cadenas que no deberían estar nunca en una app, pero que comprobado que incluso ponen sus Tokens de autenticación hardcodeados, podrían sorprenderme.

Figura 4: App con un enlace a un servidor local

Por supuesto, el número de enlaces a localhost, o a direcciones internas de la red exponiendo la infraestructura de la empresa es altísimo. Son muchas las que hacen eso a pesar de que todas las prácticas de desarrollo seguro de Android explican claramente que no deberían.

Figura 5: Enlaces remotos para cargar las API Keys

Entre las cosas que me dio por mirar, estaban los enlaces a Dropbox, para ver qué uso estaba dando la gente de este servicio. Curiosamente, muchas, y cuando digo muchas son muchas apps, están cargando sus configuraciones, API Keys, y datos desde ubicaciones públicas en DropBox.

Figura 6: Otro enlace remoto para cargar API Keys

En lugar de hacer un servicio en sus servidores y utilizarlo, ponen un archivo publicado en una carpeta de Dropbox y lo van actualizando.

Figura 7: Un enlace a la password de Gmail en Dropbox

Mirando lo que la gente pone en Dropbox para alimentar sus apps, aparecen las API Keys de servicios, pero uno incluso pone un fichero con la contraseña de una cuenta de Gmail que está utilizando para hacer notificaciones Push según parece, lo que no deja de ser un fallo de seguridad bastante peculiar.

Figura 8: El Fichero con la passwod. Comienza por Money... }:)

Algunas apps, hasta enlazan ficheros user.txt con cuentas de acceso que pueden utilizarse. Tal y como se ve, tienen datos de usuarios de QA y de pruebas, con ninguna complicación en las contraseñas.

Figura 9: Lista de usuarios cargado desde un txt remoto

De todos los enlaces curiosos que encontré, hubo uno que se dedica a mostrar gente que ha sido vista por otras personas en la calle para poder saber quién es. La idea es sencilla, alguien ve a alguien y sube los datos de quién lo ha visto, cuándo y dónde, para que el resto de usuarios puedan darle información correcta de esa persona. Pues bien, la base de datos de esa app es un fichero subido a una cuenta de Dropbox.

Figura 10: Una base de datos en txt publicada en Dropbox. El fichero es muy largo.

Esto de tener la base de datos de la app enlazada no es raro, y de hecho algunas apps tienen ficheros en formato Sqlite con la base de datos que está usando la app enlazada remotamente para que se cargue en periodo de ejecución, y que cualquiera puede descargar de Internet.

Figura 11: Enlaces a base de datos de app en formato Sqlite

Si vas a hacer una app para Android, recuerda que los enlaces es algo que todo investigador va a analizar, así que ten cuidado con qué expones en ellos, ya que lo que pongas ahí será público.

Saludos Malignos!

3 comentarios:


  1. Gracias Chema por informarnos de todo el entorno que nos rodea.

    Igual que visito tu blog,también lo hago con el de Jesús, creador del blog "pelisalacarta".

    Jesús es un constructor,una persona que aporta mucho como tu.
    En tu caso con seguridad informática y en el suyo,con el asunto de plugins.

    Comento esto de Jesús porque a el le hubiese sido muy sencillo promocionarse en Google Play con su versión 4.0 de Android pero es algo que nunca hará.

    No lo conozco en persona igual que a ti, pero SON de los que valen la pena como tu.

    adjunto url de su blog:

    http://blog.tvalacarta.info/tag/pelisalacarta/


    Gracias Chema.
    Feliz año nuevo 2015.

    ResponderEliminar
  2. Hola Chema, no veo en donde está el peligro en usar una carpeta compartida de dropbox, ¿qué daño podría ocasionar al propietario de la cuenta?

    Un saludo

    ResponderEliminar
  3. Que opinais de Mega y su seguridad? esto mismo pasaba antes con Uploaded

    ResponderEliminar