Translated ['mobile-pentesting/android-app-pentesting/avd-android-virtua

This commit is contained in:
Translator 2023-08-22 05:23:27 +00:00
parent b100dbf0b1
commit 1fb886c866
5 changed files with 42 additions and 20 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

View File

@ -7,8 +7,8 @@
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtén el [**swag oficial de PEASS y HackTricks**](https://peass.creator-spring.com)
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos.
* Obtén el [**swag oficial de PEASS y HackTricks**](https://peass.creator-spring.com).
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de Telegram**](https://t.me/peass) o **sígueme** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Comparte tus trucos de hacking enviando PRs al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
@ -40,31 +40,44 @@ export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jbr/Contents/Home
### Preparar Máquina Virtual
Si has instalado Android Studio, simplemente abre la vista principal del proyecto y accede a: _**Herramientas**_ --> _**Administrador AVD**_.
Si has instalado Android Studio, simplemente abre la vista principal del proyecto y accede a: _**Herramientas**_ --> _**Administrador AVD.**_
![](<../../.gitbook/assets/image (330).png>)
<div align="center" data-full-width="false">
Luego, haz clic en _**Crear dispositivo virtual**_, _**selecciona** el teléfono que deseas usar_ y haz clic en _**Siguiente**_.\
En la vista actual podrás **seleccionar y descargar la imagen de Android** que el teléfono ejecutará:
<figure><img src="../../.gitbook/assets/image (670).png" alt="" width="293"><figcaption></figcaption></figure>
![](<../../.gitbook/assets/image (331).png>)
</div>
Así que, selecciónala y haz clic en _**Descargar**_ (**ahora espera hasta que se descargue la imagen).**\
**Una vez que se haya descargado la imagen, simplemente selecciona** `Siguiente` y `Finalizar`.
Luego, haz clic en _**Crear dispositivo virtual**_
![](<../../.gitbook/assets/image (332).png>)
<figure><img src="../../.gitbook/assets/image (671).png" alt="" width="188"><figcaption></figcaption></figure>
La máquina virtual se creará. Ahora **cada vez que accedas al administrador AVD estará presente**.
_**selecciona** el teléfono que deseas usar_ y haz clic en _**Siguiente.**_
{% hint style="warning" %}
Si necesitas un teléfono con Play Store instalado, selecciona uno con el icono de Play Store en él!
![](<../../.gitbook/assets/image (672).png>)
{% endhint %}
En la vista actual, podrás **seleccionar y descargar la imagen de Android** que el teléfono va a ejecutar:
<figure><img src="../../.gitbook/assets/image (673).png" alt="" width="375"><figcaption></figcaption></figure>
Así que, selecciónala y si no está descargada, haz clic en el símbolo de _**Descargar**_ junto al nombre (**ahora espera hasta que se descargue la imagen).**\
Una vez descargada la imagen, simplemente selecciona **`Siguiente`** y **`Finalizar`**.
La máquina virtual se creará. Ahora, **cada vez que accedas al administrador AVD, estará presente**.
### Ejecutar Máquina Virtual
Para **ejecutarla**, simplemente presiona el _**botón de inicio**_.
Para **ejecutarla**, simplemente presiona el _**botón de Inicio**_.
![](<../../.gitbook/assets/image (334).png>)
## Herramienta de Línea de Comandos
Antes que nada, debes **decidir qué teléfono deseas usar**, para ver la lista de teléfonos posibles ejecuta:
Antes que nada, debes **decidir qué teléfono deseas usar**, para ver la lista de teléfonos posibles, ejecuta:
```
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\bin\avdmanager.bat list device
@ -176,31 +189,40 @@ Sin embargo, hay **muchas opciones útiles de línea de comandos** diferentes qu
**Arranque**
* `-snapshot name` : Iniciar una instantánea de la VM
* `-snapshot nombre` : Iniciar una instantánea de la máquina virtual
* `-snapshot-list -snapstorage ~/.android/avd/Nexus_5X_API_23.avd/snapshots-test.img` : Enumerar todas las instantáneas grabadas
**Red**
* `-dns-server 192.0.2.0, 192.0.2.255` : Permite indicar los servidores DNS separados por comas a la VM.
* `-dns-server 192.0.2.0, 192.0.2.255` : Permite indicar los servidores DNS separados por comas para la máquina virtual.
* **`-http-proxy 192.168.1.12:8080`** : Permite indicar un proxy HTTP para usar (muy útil para capturar el tráfico usando Burp)
* `-port 5556` : Establece el número de puerto TCP que se utiliza para la consola y adb.
* `-ports 5556,5559` : Establece los puertos TCP utilizados para la consola y adb.
* **`-tcpdump /path/dumpfile.cap`** : Captura todo el tráfico en un archivo
* **`-tcpdump /ruta/archivo-dump.cap`** : Captura todo el tráfico en un archivo
**Sistema**
* `-selinux {disabled|permissive}` : Establece el módulo de seguridad de Linux mejorado (SELinux) en modo desactivado o permisivo en un sistema operativo Linux.
* `-timezone Europe/Paris` : Establece la zona horaria para el dispositivo virtual
* `-screen {touch(default)|multi-touch|o-touch}` : Establece el modo de pantalla táctil emulado.
* **`-writable-system`** : Usa esta opción para tener una imagen de sistema modificable durante tu sesión de emulación. También necesitarás ejecutar `adb root; adb remount`. Esto es muy útil para instalar un nuevo certificado en el sistema.
* `-screen {touch(predeterminado)|multi-touch|o-touch}` : Establece el modo de pantalla táctil emulado.
* **`-writable-system`** : Usa esta opción para tener una imagen de sistema modificable durante tu sesión de emulación. También deberás ejecutar `adb root; adb remount`. Esto es muy útil para instalar un nuevo certificado en el sistema.
## Instalar el certificado de Burp en una máquina virtual
## Hacer root a un dispositivo de Play Store
Si descargaste un dispositivo con Play Store, no podrás obtener acceso root directamente y recibirás este mensaje de error.
```
$ adb root
adbd cannot run as root in production builds
```
Usando [rootAVD](https://github.com/newbit1/rootAVD) con [Magisk](https://github.com/topjohnwu/Magisk) pude rootearlo (sigue por ejemplo [**este video**](https://www.youtube.com/watch?v=Wk0ixxmkzAI)).
## Instalar el certificado de Burp en una Máquina Virtual
En primer lugar, necesitas descargar el certificado Der de Burp. Puedes hacer esto en _**Proxy**_ --> _**Options**_ --> _**Import / Export CA certificate**_
![](<../../.gitbook/assets/image (367).png>)
**Exporta el certificado en formato Der** y vamos a **transformarlo** a una forma que **Android** pueda **entender**. Ten en cuenta que **para configurar el certificado de Burp en la máquina Android en AVD**, necesitas **ejecutar** esta máquina **con la opción** **`-writable-system`**.\
**Exporta el certificado en formato Der** y vamos a **transformarlo** a una forma que **Android** pueda **entender**. Ten en cuenta que **para configurar el certificado de burp en la máquina Android en AVD** necesitas **ejecutar** esta máquina **con la opción** **`-writable-system`**.\
Por ejemplo, puedes ejecutarlo así:
{% code overflow="wrap" %}