Creación de un entorno de trabajo – Pentesting Android

El objetivo de este post es aprender a crear un entorno de trabajo virtualizado con el que poder comenzar a realizar auditorías a aplicaciones Android. Comenzaremos seleccionando nuestro emulador de dispositivos para posteriormente mostrar las distintas opciones de creación de smartphones y finalizar con la descarga de alguna herramienta necesaria para nuestro trabajo.

Android Studio como emulador del entorno

Existen muchos emuladores de Android gratuitos que podemos emplear para nuestro entorno de pruebas, pero bien es cierto que algunos de ellos destacan por encima de los demás. Después de trabajar con varios de ellos, personalmente Android Studio es el que más me gusta (básicamente, porque es el que menos problemas me ha dado a la hora de realizar auditorías). Reconozco que consume más recursos que otros emuladores y puede ser más lento, pero tiene muchas más utilidades y es más robusto. Podéis descargar Android Studio a través del siguiente enlace:

De igual manera, a continuación os dejo los enlaces de descarga de otros emuladores Android muy empleados por la comunidad para que los probéis y elijáis el que más os guste, ya que no todos tenemos los mismos gustos ni el mismo criterio:

Instalación y primeros pasos con Android Studio

Para la instalación de nuestro emulador, mi recomendación es que se instale en el sistema operativo principal de nuestro ordenador, en mi caso Windows. También podéis instalarlo en una máquina virtual con Kali u otra distribución enfocada al pentesting, pero la emulación de un dispositivo Android va a requerir de mucha memoria y es posible que tengáis problemas para el procesamiento del entorno.

Entonces, lo primero de todo es descargar Android Studio, ejecutar el instalador y seguir los pasos que van apareciendo durante el proceso, lo dejamos todo por defecto.

Una vez lo tengamos instalado, lo iniciaremos y veremos una ventana como la que aparece a continuación:

Pincharemos sobre el desplegable More Actions y posteriormente seleccionaremos la opción Virtual Device Manager para crear nuestro dispositivo Android:

IMPORTANTE: Es posible que dicha opción en un principio se encuentre bloqueada y no podamos seleccionarla. En tal caso, lo que haremos será seleccionar la opción SDK Manager que se encuentra justo encima:

En dicho menú tenemos que asegurarnos de dos cosas:

  • La primera de ellas, que la ruta Android SDK Location no aparezca en rojo por no reconocer la ruta predefinida por defecto, que en tal caso tendríamos que elegir una ruta nosotros que sea válida.
  • La segunda, que en la pestaña SDK Tools tengamos instalado el paquete Android SDK Build-Tools 33. En caso de no tenerlo instalado, pincharemos sobre el cuadrado que aparece a la izquierda del nombre y le daremos a OK para que se descargue e instale automáticamente:

Ya que me encuentro en este menú, aprovecho para indicar que en el apartado SDK Platforms podemos descargar las distintas versiones de Android que emplearemos en los dispositivos que creemos posteriormente. También se pueden descargar desde el menú de creación de estos, así que no es necesario venir a esta ventana para ello, pero está bien saber las distintas opciones disponibles para realizar las mismas tareas. Os recomiendo echarle un vistazo y que investiguéis las posibles descargas:

Ahora sí, vamos a proceder a la creación del dispositivo en el nuevo menú que se ha abierto tras seleccionar la opción de Virtual Device Manager.

Esta nueva ventana se encuentra vacía, así que pincharemos sobre Create Virtual Device que se encuentra en el centro de la misma o en la pestaña Create device situada en la esquina superior izquierda:

En la nueva ventana emergente, aparecen distintas opciones de creación de Hardware, donde podremos elegir distintos dispositivos electrónicos. Esto es principalmente para que los desarrolladores puedan ejecutar y realizar pruebas sobre sus aplicaciones en los distintos dispositivos que son capaces de abrirlas.

A nosotros nos interesa la pestaña Phone, que es desde donde podremos seleccionar entre una serie marcas disponibles y ver las respectivas características de los distintos móviles, en base a esto, elegiremos cuál emular. No es necesario elegir un último modelo porque posteriormente puede haber problemas al ejecutar según qué versión de Android, ni tampoco un modelo muy antiguo por el motivo inverso. Personalmente, suelo elegir entre los modelos Nexus 5, Pixel 4 y Pixel 5. Es importante señalar que en una de las columnas se puede ver qué dispositivos incluyen la Play Store para la descarga de aplicaciones, función que puede ser necesaria para la obtención de la aplicación a auditar posteriormente:

Al clickar en Next encontraremos el menú en el que elegiremos la versión de Android que vamos a instalar en nuestro smartphone. Encontramos tres pestañas distintas en las que nos indican las imágenes recomendadas, las que son x86 y otras imágenes. No os recomiendo que instaléis la última versión de Android, ni tampoco una versión que tenga muchos años, ya que ambos casos pueden generar problemas a la hora de abrir o ejecutar aplicaciones. Yo normalmente instalo aquellas versiones que se encuentran entre la 7 y la 10, salvo algún caso puntual en el que ha sido necesaria una versión en específico.

Como mencioné anteriormente, en este panel será posible descargar la imagen que queramos instalar pulsando la flecha que aparece a la derecha del nombre de la versión. He escogido un Android 8.0 (Google APIS) compatible con los servicios de Google Play y con una arquitectura x86_64 compatible tanto para versiones de 32 o 64 bits:

Una vez seleccionado, encontraremos un cuadro final donde podremos realizar algunas modificaciones en la configuración, pero en principio lo único que deberíamos tocar es el nombre en caso de querer identificarlo de alguna manera. Una vez hecho esto, finalizamos:

Ahora, en la ventana que antes encontrábamos vacía, nos aparecerá el dispositivo con la información sobre la versión de Android y la arquitectura empleada. Para ejecutar el emulador, pincharemos sobre la flecha de Play que aparece debajo de la columna Actions:

Una vez hecho esto, ya tenemos nuestro dispositivo funcionando y preparado para instalar y ejecutar cualquier aplicación Android compatible con su versión y arquitectura.

Instalación y ejecución de Android Debug Bridge (ADB)

Android Debug Bridge es una herramienta de línea de comandos que nos servirá para poder comunicarnos con el dispositivo móvil y ejecutar múltiples instrucciones para realizar distintas acciones, como acceder al interior del dispositivo, copiar o eliminar información, instalar o desinstalar aplicaciones…

Al descargar Android Studio, dicha herramienta también se incluye dentro de la carpeta SDK Tools que mencionamos anteriormente bajo el nombre de platform-tools. En cualquier caso, si no la encontráis la podéis obtener en el siguiente enlace para su descarga:

Una vez localizada u obtenida, accederemos a dicha carpeta y abriremos una cmd y ejecutaremos adb.exe para iniciar la herramienta. Una vez hecho esto, dentro de la misma consola, estos son algunos de los comandos principales que podemos emplear:

  • adb devices: Lista los emuladores que actualmente se encuentran en el sistema.
  • adb root/unroot: Reinicia el cliente con permisos/sin permisos de root (Es importante destacar que para la realización de la mayoría de acciones es necesario que seamos root).
  • adb push/pull [path_to_file]: Envía un archivo desde el ordenador al dispositivo móvil/del dispositivo móvil al ordenador.
  • adb install/uninstall [path_to_apk]: Instala/desinstala una aplicación.
  • adb shell: Permite acceder al dispositivo por consola (recordar que Android es un sistema Linux, por lo que los comandos serán los mismos que empleamos en nuestra Kali).
  • adb reboot: Fuerza un reinicio del dispositivo.

Ya tenemos el escenario principal para poder comenzar a realizar pentesting en aplicaciones Android. Próximamente, continuaremos con una serie de artículos donde veremos como hacer una auditoría completa a una aplicación Android.

Referencias

4 comentarios en “Creación de un entorno de trabajo – Pentesting Android

  1. muchas gracias,

    para un sandbox para aplicaciones windows que recomiendas, algo como ver cambios en el registro, procesos, que se instala seria muy util

Deja una respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Subir para arriba