Montando nuestro propio laboratorio Android

tlf01Como ya sabréis, el mercado móvil se expande a un ritmo vertiginoso llegando al punto de que la mayoría de la gente dispone de un smartphone en el cual instala innumerables aplicaciones para satisfacer distintas necesidades, como pueden ser comunicarse, escuchar música o  simplemente entretenerse con un juego mientras hace sus necesidades… A lo que íbamos, este ecosistema no podía pasar desapercibido por los ciber criminales (sí, he dicho “ciber” pero es que así me entiende todo el mundo de una manera mas rápida), existiendo una gran cantidad de malware para los dispositivos móviles.

La gran mayoría del malware se centra en el ecosistema del sistema operativo Android, debido a que, ademas de ser el mas extendido, es de código abierto y Google es mas permisivo a la hora de colgar nuevas aplicaciones en la “Play Store” que su competencia directa Apple. Permitiendo una mayor difusión de las aplicaciones maliciosas. También lo convierte en un gran vector de ataque el hecho de que exista una gran fragmentacion de versiones instaladas de Android, en parte gracias a los queridisimos fabricantes que dejan en la estacada a sus modelos “antiguos”.

android01

Por todo esto, en esta entrada vamos a ver como montarnos nuestro propio laboratorio con sistema Android para poder analizar aplicaciones sin ningún problema. En el caso de disponer de un dispositivo Android físico destinado a pruebas simplificaría mucho las cosas, pero como no todo el mundo dispone de un dispositivo de sobra, o no quiere usar el suyo propio para realizar pruebas, vamos a explicar como montar el citado laboratorio mediante un sistema Android emulado.

1. Emulador Android

Existen diversos programas los cuales permiten emular un sistema Android (Genymotion, KoPlayer, Nox, Android Studio, etc.) algunos permiten mas flexibilidad que otros, como por ejemplo Genymotion, en el cual es posible instalarse diversas maquinas virtuales basadas en distintos dispositivos y versiones de Android, haciendo uso de Virtual Box por debajo. Aunque, para este tutorial vamos a hacer uso de “KoPlayer” el cual, aunque no nos otorga tanta flexibilidad como Genymotion ya que únicamente disponemos de una maquina con Android 4.4.4, ya nos da bastante trabajo hecho, como que la maquina ya se encuentre “rooteada” y disponer de la “Play Store” pre-instalada. Aunque es un emulador destinado a jugar juegos Android en PC nos sirve perfectamente para nuestro laboratorio.

Podemos descargar el emulador “KoPlayer” desde la siguiente dirección URL: http://www.koplayer.com/

koplayer01

La instalación del programa es la típica de Windows (Siguiente..Siguiente..Aceptar términos de que renuncio a todos mis derechos..Siguiente..Fin).

Una vez instalado procederemos a ejecutarlo, y la primera pantalla que nos mostrara sera la siguiente:

koplayer02

En ella nos da a elegir entre dos modos de ejecución, modo rápido o normal, ya dependiendo de el equipo de cada uno le vendrá mejor elegir uno u otro, en nuestro caso elegiremos el modo rápido.

Una vez aceptemos uno de estos modos comenzara a iniciarse la maquina virtual.

koplayer03

Al terminar mostrara una pequeña guía la cual podemos omitir ya que se basa en como jugar con el emulador, mostrándonos después el menú principal de nuestra nueva maquina Android.

koplayer05

2. Instalación de un proxy

El proxy que vamos a utilizar para las pruebas es “BurpSuite“, el cual podéis descargar su version gratuita desde el siguiente enlace. Para la gente que no este familiarizada con este proxy, se encuentra basado en Java, por lo que tendremos que disponer de esté instalado en nuestro ordenador.

Sin entrar en detalles, una vez instalado y en ejecución, la única configuración que necesitamos revisar en este momento es la referente al proxy en sí, la cual se encuentra en “Proxy/Options”.

burp01

Deberemos de agregar un nuevo “proxy listener” desde el botón “Add” el cual configuraremos en el puerto “8080” y que escuche en todas las interfaces. Una vez creado, tendremos que desactivar el listener actual y activar el que acabamos de crear.

burp02

burp03

Con esto ya tendremos listo el proxy en nuestro ordenador, ahora falta configurar la maquina Android para que vaya a través del mismo.

3. Configuración del proxy en la maquina Android

A diferencia de IOS, en el cual cuando se define un proxy esté se aplica a nivel de sistema (todo el trafico se redirige a dicho proxy), en Android, el proxy el cual se define desde los ajustes propios del sistema se encuentra limitado, existiendo la posibilidad de que no se aplique a todas las aplicaciones y servicios, cuyo trafico seguiría enviándose sin el proxy. Por esto es necesario disponer de permisos de root y hacer uso de una aplicación la cual define un proxy global sobre el sistema.

playstore01Ya que la maquina viene de serie “rooteada” vamos a pasar directamente a instalarnos una aplicación la cual nos permita realizar lo comentado anteriormente. Para ello tendremos que iniciar sesión con una cuenta de gmail en la “Play Store”, recomiendo que os creéis una nueva cuenta de gmail para estas pruebas y así no hacer uso de una propia.

playstore02

Una vez iniciemos sesión en la “Play Store” y ya nos muestre las distintas aplicaciones, tendremos que buscar la aplicación “proxydroid” e instalarla.

playstore03

playstore04

A continuación procederemos a ejecutarla, nada mas mostrarse el menú de la aplicación se solicitaran permisos de root.

proxy01

Hecho esto, ya podemos configurar los datos referentes a nuestro proxy en la aplicación en los siguientes campos:

  • proxy02Host: <Dirección IP de nuestro ordenador>
  • Port: <Puerto por el cual escucha el proxy>
  • Proxy type: <tipo de proxy, por defecto HTTP>

 

 

Con todo ya configurado, basta con pulsar sobre el botón de “Proxy Switch” para que empiece a funcionar. La aplicación nos indica en todo momento cuando esta funcionando mediante una notificación permanente en forma de nube en la barra superior.

proxy03

También deberemos de añadir la configuración de nuestro proxy en las opciones propias de la conexión wifi, de esta forma nos aseguraremos de que redirigimos todo el trafico. Para esto nos dirigiremos a las opciones de la conexión inalambrica desde los ajustes del sistema.

proxy04

Una vez dentro podremos ver la conexión inalambrica a la cual estamos conectados, manteniendo pulsado sobre la misma nos permitirá seleccionar la opción de “modificar red” y dentro de las opciones avanzadas, agregar el proxy.

proxy05

proxy06

 

4. Añadir nuevo certificado de confianza

Mediante las configuraciones anteriores, ya dispondremos del proxy configurado pero, como habréis podido observar, solo funciona con las conexiones las cuales no se encuentran cifradas (HTTP), esto es debido a que el certificado del proxy, en este caso BurpSuite, no es de confianza y por lo tanto nos lo rechaza. Para hacer que el sistema nos permita hacer uso de dicho certificado deberemos de agregarlo manualmente al sistema y definirlo como de confianza.

Lo primero que tendremos que hacer es descargarnos el certificado en el sistema Android, para ello abrimos el navegador y nos dirigimos a la dirección URL “https://burp“. El navegador nos avisara de que la pagina web no dispone de un certificado valido pero nosotros indicamos que deseamos seguir igualmente.

cert01

La pagina web mostrada es una propia del proxy BurpSuite, en ella deberemos de hacer clic sobre el enlace “CA Certificate” para descargarnos a local el certificado del proxy.

cert02

Nota: En el caso de que no se descargue correctamente, siempre podéis hacerlo desde un ordenador, configurando el navegador con el proxy y accediendo a la direccion URL comentada anteriormente. Después solo tendríamos que pasar el archivo al dispositivo Android.

Una vez descargado, abrimos una aplicacion que nos ofrezca navegar entre los directorios del sistema, en el caso del emulador “Koplayer” se dispone de la aplicacion “File Manager” preinstalada, y nos dirigimos a la carpeta de descargas (storage/sdcard0/download) en la cual se encontrara el certificado.

cert03

cert04

Para poder instalarlo en el sistema, lo primero que tendremos que hacer es cambiarle la extensión a “.cer”.

cert05

Una vez renombrado, ya nos permitirá instalarlo, únicamente solicitando un nombre y a que ámbito lo vamos a aplicar, en este caso “VPN and apps”.

cert06

En el caso de que no disponemos de un código PIN configurado en el dispositivo, nos obligara a indicar uno por seguridad.

Y con esto ya podremos ver, capturar y modificar todas las peticiones realizadas por las aplicaciones en nuestro proxy. Lo cual es imprescindible a la hora de revisar el comportamiento de una aplicacion Android.

cert07

Espero que os haya sido de ayuda, saludos a todos.

Be hacker my friend.

Un comentario sobre “Montando nuestro propio laboratorio Android

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *