11 KiB
AVD - Android Virtuele Toestel
Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!
Ander maniere om HackTricks te ondersteun:
- As jy jou maatskappy geadverteer wil sien in HackTricks of HackTricks in PDF wil aflaai, kyk na die SUBSCRIPTION PLANS!
- Kry die amptelike PEASS & HackTricks swag
- Ontdek The PEASS Family, ons versameling eksklusiewe NFTs
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @carlospolopm.
- Deel jou hacktruuks deur PR's in te dien by die HackTricks en HackTricks Cloud github-repos.
Baie dankie aan @offsecjay vir sy hulp tydens die skep van hierdie inhoud.
Wat is
Android Studio maak dit moontlik om virtuele masjiene van Android te hardloop 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) nadat Android Studio geïnstalleer is, het ek die SDK-gereedskap geïnstalleer in: C:\Users\<Gebruikersnaam>\AppData\Local\Android\Sdk\tools
In Mac kan jy die SDK-gereedskap aflaai en hulle in die PATH hê deur die volgende te hardloop:
brew tap homebrew/cask
brew install --cask android-sdk
Of vanaf die 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
Maak Virtuele Masjien Gereed
As jy Android Studio geïnstalleer het, kan jy net die hoofprojekweergawe oopmaak en toegang kry 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 die Play Store geïnstalleer nodig het, kies een met die Play Store-ikoon daarop!
In die huidige weergawe sal jy in staat wees om die Android-beeld te kies en aflaai wat die foon gaan gebruik:
Kies dit en as dit nie afgelaai is nie, klik op die Aflaai simbool langs die naam (wag nou totdat die beeld afgelaai is).
Sodra die beeld afgelaai is, kies net Volgende
en Klaar
.
Die virtuele masjien sal geskep word. Nou sal dit elke keer as jy toegang tot die AVD-bestuurder kry, teenwoordig wees.
Voer Virtuele Masjien Uit
Om dit uit te voer, druk eenvoudig op die Begin-knoppie.
Opdraglyn-hulpmiddel
Eerstens moet jy besluit watter foon jy wil gebruik, om die lys moontlike fone te sien, voer die volgende 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
[...]
Nadat jy besluit het op die naam van die toestel wat jy wil gebruik, moet jy besluit watter Android-beeld jy in hierdie toestel wil gebruik.
Jy kan al die opsies lys deur sdkmanager
te gebruik:
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\bin\sdkmanager.bat --list
En laai af die een (of almal) 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 afgelaai 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, sodat jy die virtuele masjien kan skep deur:
{% 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 geskep met die naam "AVD9" deur die toestel "Nexus 5X" en die Android beeld "system-images;android-28;google_apis;x86_64".
Nou kan jy die lys van virtuele masjiene wat jy geskep het, sien 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
Voer Virtuele Masjien uit
Ons het reeds gesien hoe jy die geskepte virtuele masjiene kan lys, maar jy kan hulle ook lys deur gebruik te maak van:
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\emulator.exe -list-avds
AVD9
Pixel_2_API_27
Jy kan eenvoudig enige virtuele masjien wat geskep is, uitvoer deur die volgende te doen:
{% 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 gebruik:
{% 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 %}
Opdraggelynopsies
Daar is egter 'n hele paar verskillende opdraglynopsies 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
Begin
-snapshot name
: Begin VM-snapshot-snapshot-list -snapstorage ~/.android/avd/Nexus_5X_API_23.avd/snapshots-test.img
: Lys al die opgeneemde snapshots op
Netwerk
-dns-server 192.0.2.0, 192.0.2.255
: Laat toe om komma-geskeide DNS-bedieners aan die VM aan te dui.-http-proxy 192.168.1.12:8080
: Laat toe om 'n HTTP-proksi aan te dui om te gebruik (baie nuttig om die verkeer met Burp vas te vang)-port 5556
: Stel die TCP-poortnommer in wat gebruik word vir die konsole en adb.-ports 5556,5559
: Stel die TCP-poorte in wat gebruik word vir die konsole en adb.-tcpdump /path/dumpfile.cap
: Vang al die verkeer in 'n lêer op
Stelsel
-selinux {disabled|permissive}
: Stel die Security-Enhanced Linux-sekuriteitsmodule in op gedeaktiveer of permissiewe modus op 'n Linux-bedryfstelsel.-timezone Europe/Paris
: Stel die tydsone vir die virtuele toestel in-screen {touch(default)|multi-touch|o-touch}
: Stel geëmuleerde aanraakskermmodus in.-writable-system
: Gebruik hierdie opsie om 'n skryfbare stelselbeeld gedurende 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 'n Play Store-toestel
As jy 'n toestel met Play Store afgelaai het, sal jy nie direk wortel kan kry nie, en jy sal hierdie foutboodskap kry
$ adb root
adbd cannot run as root in production builds
Met behulp van rootAVD met 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 aangepaste CA-sertifikaat te installeer:
{% content-ref url="install-burp-certificate.md" %} install-burp-certificate.md {% endcontent-ref %}
Lekker AVD-opsies
Neem 'n Oomblikopname
Jy kan die GUI gebruik om enige tyd 'n oomblikopname van die VM te neem:
Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!
Ander maniere om HackTricks te ondersteun:
- As jy wil sien jou maatskappy geadverteer in HackTricks of HackTricks aflaai in PDF-formaat Kyk na die SUBSCRIPTION PLANS!
- Kry die amptelike PEASS & HackTricks swag
- Ontdek The PEASS Family, ons versameling eksklusiewe NFTs
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @carlospolopm.
- Deel jou hacktruuks deur PR's in te dien by die HackTricks en HackTricks Cloud github repos.