18 marzo 2014

Creando un entorno de análisis de aplicaciones Android (Parte 2)

En el artículo anterior vimos la estructura que tendría nuestro entorno de análisis de aplicaciones Android.

A través de las siguientes entregas vamos a ver cómo sacarle el máximo provecho virtualizando la ejecución  del dispositivo en una máquina virtual, además de explorar algunas herramientas y técnicas que nos vendrán muy bien para la realización del análisis.

Virtualizando el laboratorario

Si no disponéis de un dispositivo físico donde probar esta será vuestra mejor opción, pero incluso teniéndolo merece la pena virtualizar el laboratorio ya que os permitirá una mayor agilidad en la restauración del sistema además de facilitaros obtener el root.

Recuerdo los pasos para crear la máquina virtual y os dejo algunas indicaciones adicionales:

  • Instalación y configuración de VM Android 4.3 x86 en VirtualBox:

  • Rooteo completo de la VM: enlace.
  • Instalar una herramienta para la gestión de la ejecución con privilegios de root, por ejemplo SuperSU
  • Instalar y configurar ProxyDroid y el certificado de Burp como se describía en Preparando el dispositivo Android
  • Instalar un servidor FTP en la máquina Kali de análisis, por ejemplo vsftpd
  • Instalar un cliente FTP en el dispositivo virtual, por ejemplo AndFTP. Configurar un perfil con el servidor de la máquina de análisis
  • Crearemos una carpeta para el contenido de nuestros análisis en la SD, para ello accedemos a la terminal presionando ALT+F1 y hacemos un mkdir /sdcard/analisis
  • Apagar la VM del dispositivo Android y guardar una instantánea que poder restaurar finalizado el análisis.
Finalmente utilizaremos Kali como máquina de análisis de comunicaciones y de la aplicación en sí.

Trabajando con la VM

Os dejo algunos trucos interesantes para manejarnos con el entorno virtualizado:


  • Para controlar correctamente el ratón dentro de la VM seleccionar la opción Máquina > Inhabilitar integración del ratón
  • Podéis acceder a la terminal con ALT+F1. En este modo echaréis en falta más de un símbolo, aquí tenéis el juego que utiliza.
  • Podéis volver a la interfaz gráfica con ALT+F7
  • Si analizáis una aplicación que gire la pantalla y cuando volváis a acceder a la HOME no se recupera la vista en horizontal, presionar 2 veces seguidas F9



    • Si se queda la pantalla en negro (se ha bloqueado el dispositivo), seleccionar la opción Máquina > Apagado ACPI y se desbloqueará:

    Recogiendo información


    El primer paso es arrancar en la máquina Kali las aplicaciones Wireshark y Burp para inspeccionar las comunicaciones. También activamos ProxyDroid en el dispositivo virtual.

    Lo siguiente que vamos a hacer es crear en el dispositivo un fichero que nos sirva de hito histórico para detectar más adelante variaciones con el comando find, de modo que presionamos ALT+F1 y escribimos touch /sdcard/analisis/instante .

    Para continuar con el artículo he escogido la aplicación SMS, whatsapp, LLAMADA - SPY a la cual sólo le falta auto-declararse troyano:


    Instalamos e iniciamos la aplicación. Si seguimos el proceso que indica nos pedirá que habilitemos la instalación desde orígenes desconocidos. Vemos que la cosa se anima en cuanto nos refleja todos los permisos que pide el segundo APK que quiere descargar:


    Como estamos dentro de la VM podemos aceptar sin miedo, y si continuamos con el proceso que propone llegaremos a un punto en el que nos pide la dirección de correo sobre la que queremos vincular la actividad espía..., proceso que indica siempre que no hay conexión a internet, aunque sí que la haya. Sospechoso, ¿verdad?.

    Finalizado el proceso anterior reiniciamos el dispositivo (para que se agarre bien el troyano) y seguimos nuestra tarea de recogida de información lanzando algunos comandos desde la terminal, para ello presionamos ALT+F1 y obtenemos algunos datos:



    En resumen:
    • Obtenemos el APK y todos los datos de la aplicación para analizarlos
    • Obtenemos todos los ficheros modificados a partir de la fecha de creación del fichero creado antes de iniciar el análisis
    • Obtenemos los procesos y conexiones activas del dispositivo

    De vuelta al entorno gráfico (ALT+F7) podemos utilizar AndFTP para enviar toda la información recogida en el directorio /sdcard/analisis a la máquina Kali donde podremos analizarla con más detalle.


    Además desde Burp podremos ver que la aplicación ha generado dos peticiones al dominio spytomobile.com:


    Y desde Wireshark con File > Export objects > HTTP podremos exportar el APK descargado para su posterior análisis:



    Conclusiones

    Hemos visto como la versión VM del escenario satisfará en gran medida todas las necesidades que se nos ocurra pedirle a un entorno de análisis, además de por incluir una instalación completamente funcional de Play Store, lo bien que responde y todas las herramientas que incluye la ROM que nos facilitarán el desarrollo del análisis.

    En su contra decir que como todo entorno virtual, es susceptible de ser detectado por la aplicación analizada, además de que esta ROM está preparada por defecto para ser un tablet


    No os perdáis el siguiente artículo, en él continuaremos explorando sobre este ejemplo las posibilidades de algunas herramientas y técnicas que nos darán más información sobre la aplicación analizada.

    Artículo cortesía de Miguel Ángel García
    Twitter: @nodoraiz

    3 comments :

    Gabo dijo...

    Buenas...

    genial esta serie de articulos, felicidades.

    Por cierto, la gente de android-x86 debe estar flipando ya que en estos momentos llevo un buen rato intentando bajarme la version 4.3 y su sistema automático antiataques me dice que tienen tráfico sospechoso desde mi red...y por supuesto no me deja acceder a la descarga...al final me he bajado la 4.4

    teleorinoco dijo...

    buen post. Hay algunas cositas como estas que puede hacer android x86, pero es demasiado limitado. Ni la version 4.4 le ha podido arrancar el wifi, para hacer auditorias con wifi analyzer y otras app. (Supongo que drivers)
    En resumen, si más personas se vinculan a ese proyecto y hay $$$ de respaldo, tal vez avance.

    Cheryl Ron dijo...

    ¿Está buscando una muy rápida

    Préstamo? en una

    tasa de interés asequible? Ha

    sido rechazadas

    Constantemente por sus bancos y otras

    financiero

    instituciones?

    -La buena noticia es aquí! Ofrecemos

    préstamos que van

    de $ 1,000.00 a $ 5,000,000.00 Min

    Max en el 3%

    tasa de interés por anule. contáctenos

    hoy en (texcoloan24hours@fengv.com)

    PRIMERA INFORMACIÓN necesarios son:

    Nombre: .........

    Otro Nombre (s): ........

    Sexo: .........

    Estado civil: .........

    Dirección de contacto: .........

    Ciudad / Código postal: .........

    País: .........

    Fecha de nacimiento: .........

    Cantidad necesaria del préstamo: .........

    Duración del préstamo: .........

    Ingresos mensuales: .........

    Ocupación: .........

    Propósito para el préstamo: .........

    House Teléfono: .........

    Teléfono celular: .........

    Saludos,

    Sra. Marie