11 KiB
AVD - Android Virtual Device
{% hint style="success" %}
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
Baie dankie aan @offsecjay vir sy hulp tydens die skep van hierdie inhoud.
Wat is
Android Studio laat jou toe om virtuele masjiene van Android te laat loop wat jy kan gebruik om APK's te toets. Om dit te gebruik, sal jy nodig hê:
- Die Android SDK gereedskap - Laai hier af.
- Of Android Studio (met Android SDK gereedskap) - Laai hier af.
In Windows (in my geval) na die installering van Android Studio het ek die SDK Gereedskap geïnstalleer in: C:\Users\<UserName>\AppData\Local\Android\Sdk\tools
In Mac kan jy die SDK gereedskap aflaai en dit in die PATH hê deur te loop:
brew tap homebrew/cask
brew install --cask android-sdk
Of van Android Studio GUI soos aangedui in https://stackoverflow.com/questions/46402772/failed-to-install-android-sdk-java-lang-noclassdeffounderror-javax-xml-bind-a wat hulle sal installeer in ~/Library/Android/sdk/cmdline-tools/latest/bin/
en ~/Library/Android/sdk/platform-tools/
en ~/Library/Android/sdk/emulator/
Vir die Java probleme:
export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jbr/Contents/Home
GUI
Berei Virtuele Masjien Voor
As jy Android Studio geïnstalleer het, kan jy net die hoofprojekweergave oopmaak en toegang verkry tot: Gereedskap --> AVD Bestuurder.
Klik dan op Skep Virtuele Toestel
kies die foon wat jy wil gebruik en klik op Volgende.
{% hint style="warning" %} As jy 'n foon met Play Store geïnstalleer nodig het, kies een met die Play Store ikoon daarop!
{% endhint %}In die huidige weergave gaan jy in staat wees om te kies en die Android beeld af te laai wat die foon gaan loop:
Kies dit, en as dit nie afgelaai is nie, klik op die Laai Af simbool langs die naam (wag nou totdat die beeld afgelaai is).
Sodra die beeld afgelaai is, kies net Volgende
en Voltooi
.
Die virtuele masjien sal geskep word. Nou elke keer dat jy AVD bestuurder toegang verkry, sal dit teenwoordig wees.
Voer Virtuele Masjien Uit
Om dit te voeren, druk net die Begin knoppie.
Opdraglyn hulpmiddel
Eerstens moet jy besluit watter foon jy wil gebruik, om die lys van moontlike fone te sien, voer uit:
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\bin\avdmanager.bat list device
d: 0 or "automotive_1024p_landscape"
Name: Automotive (1024p landscape)
OEM : Google
Tag : android-automotive-playstore
---------
id: 1 or "Galaxy Nexus"
Name: Galaxy Nexus
OEM : Google
---------
id: 2 or "desktop_large"
Name: Large Desktop
OEM : Google
Tag : android-desktop
---------
id: 3 or "desktop_medium"
Name: Medium Desktop
OEM : Google
Tag : android-desktop
---------
id: 4 or "Nexus 10"
Name: Nexus 10
OEM : Google
[...]
Sodra jy die naam van die toestel wat jy wil gebruik, besluit het, moet jy besluit watter Android-beeld jy in hierdie toestel wil laat loop.
Jy kan al die opsies lys met sdkmanager
:
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\bin\sdkmanager.bat --list
En aflaai die een (of al die) wat jy wil gebruik met:
{% code overflow="wrap" %}
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\bin\sdkmanager.bat "platforms;android-28" "system-images;android-28;google_apis;x86_64"
{% endcode %}
Sodra jy die Android-beeld wat jy wil gebruik afgelaai het, kan jy alle afgelaaide Android-beelde lys met:
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\bin\avdmanager.bat list target
----------
id: 1 or "android-28"
Name: Android API 28
Type: Platform
API level: 28
Revision: 6
----------
id: 2 or "android-29"
Name: Android API 29
Type: Platform
API level: 29
Revision: 4
Op hierdie oomblik het jy besluit watter toestel jy wil gebruik en jy het die Android-beeld afgelaai, so jy kan die virtuele masjien skep met:
{% code overflow="wrap" %}
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\bin\avdmanager.bat -v create avd -k "system-images;android-28;google_apis;x86_64" -n "AVD9" -d "Nexus 5X"
{% endcode %}
In die laaste opdrag het ek 'n VM genaamd "AVD9" geskep met die toestel "Nexus 5X" en die Android beeld "system-images;android-28;google_apis;x86_64".
Nou kan jy die virtuele masjiene wat jy geskep het lys met:
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\bin\avdmanager.bat list avd
Name: AVD9
Device: Nexus 5X (Google)
Path: C:\Users\cpolo\.android\avd\AVD9.avd
Target: Google APIs (Google Inc.)
Based on: Android API 28 Tag/ABI: google_apis/x86_64
The following Android Virtual Devices could not be loaded:
Name: Pixel_2_API_27
Path: C:\Users\cpolo\.android\avd\Pixel_2_API_27_1.avd
Error: Google pixel_2 no longer exists as a device
Run Virtual Machine
Ons het reeds gesien hoe jy die geskepte virtuele masjiene kan lys, maar jy kan hulle ook lys met:
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\emulator.exe -list-avds
AVD9
Pixel_2_API_27
U kan eenvoudig enige virtuele masjien wat geskep is gebruik:
{% code overflow="wrap" %}
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\emulator.exe -avd "VirtualMachineName"
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\emulator.exe -avd "AVD9"
{% endcode %}
Of deur meer gevorderde opsies te gebruik, kan jy 'n virtuele masjien soos volg uitvoer:
{% code overflow="wrap" %}
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\emulator.exe -avd "AVD9" -http-proxy 192.168.1.12:8080 -writable-system
{% endcode %}
Command line options
Daar is egter 'n baie verskillende nuttige opdraglyn opsies wat jy kan gebruik om 'n virtuele masjien te begin. Hieronder kan jy 'n paar interessante opsies vind, maar jy kan 'n volledige lys hier vind
Boot
-snapshot name
: Begin VM-snapshot-snapshot-list -snapstorage ~/.android/avd/Nexus_5X_API_23.avd/snapshots-test.img
: Lys al die gesnapshots wat opgeneem is
Network
-dns-server 192.0.2.0, 192.0.2.255
: Laat toe om die DNS-bedieners aan die VM aan te dui, geskei deur komma's.-http-proxy 192.168.1.12:8080
: Laat toe om 'n HTTP-proxy aan te dui om te gebruik (baie nuttig om die verkeer met Burp te vang)-port 5556
: Stel die TCP-poortnommer wat vir die konsole en adb gebruik word.-ports 5556,5559
: Stel die TCP-poorte wat vir die konsole en adb gebruik word.-tcpdump /path/dumpfile.cap
: Vang al die verkeer in 'n lêer
System
-selinux {disabled|permissive}
: Stel die Security-Enhanced Linux-sekuriteitsmodule op ofwel diegene wat gedeaktiveer of permissief is op 'n Linux-bedryfstelsel.-timezone Europe/Paris
: Stel die tydsone vir die virtuele toestel-screen {touch(default)|multi-touch|o-touch}
: Stel die geëmuleerde aanraakskermmodus.-writable-system
: Gebruik hierdie opsie om 'n skryfbare stelselfoto tydens jou emulasiesessie te hê. Jy sal ookadb root; adb remount
moet uitvoer. Dit is baie nuttig om 'n nuwe sertifikaat in die stelsel te installeer.
Rooting a Play Store device
As jy 'n toestel met Play Store afgelaai het, sal jy nie in staat wees om direk root te verkry nie, en jy sal hierdie foutboodskap ontvang
$ adb root
adbd cannot run as root in production builds
Using rootAVD with Magisk kon ek dit root (volg byvoorbeeld hierdie video of hierdie een).
Installeer Burp Sertifikaat
Kyk na die volgende bladsy om te leer hoe om 'n pasgemaakte CA sertifikaat te installeer:
{% content-ref url="install-burp-certificate.md" %} install-burp-certificate.md {% endcontent-ref %}
Mooi AVD Opsies
Neem 'n Snapshot
Jy kan die GUI gebruik om 'n snapshot van die VM op enige tyd te neem:
{% hint style="success" %}
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.