11 KiB
AVD - Android virtuelni uređaj
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!
Drugi načini podrške HackTricks-u:
- Ako želite da vidite vašu kompaniju reklamiranu na HackTricks-u ili preuzmete HackTricks u PDF formatu proverite SUBSCRIPTION PLANS!
- Nabavite zvanični PEASS & HackTricks swag
- Otkrijte The PEASS Family, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitter-u 🐦 @carlospolopm.
- Podelite svoje hakovanje trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Hvala puno @offsecjay na pomoći pri kreiranju ovog sadržaja.
Šta je
Android Studio omogućava pokretanje virtuelnih mašina Androida koje možete koristiti za testiranje APK fajlova. Da biste ih koristili, trebaće vam:
- Android SDK alati - Preuzmite ovde.
- Ili Android Studio (sa Android SDK alatima) - Preuzmite ovde.
Na Windows-u (u mom slučaju) nakon instaliranja Android Studija, SDK alati su instalirani u: C:\Users\<KorisničkoIme>\AppData\Local\Android\Sdk\tools
Na Mac-u možete preuzeti SDK alate i imati ih u PATH-u pokretanjem:
brew tap homebrew/cask
brew install --cask android-sdk
Ili putem Android Studio GUI kao što je naznačeno na https://stackoverflow.com/questions/46402772/failed-to-install-android-sdk-java-lang-noclassdeffounderror-javax-xml-bind-a, koji će ih instalirati u ~/Library/Android/sdk/cmdline-tools/latest/bin/
i ~/Library/Android/sdk/platform-tools/
i ~/Library/Android/sdk/emulator/
Za Java probleme:
export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jbr/Contents/Home
GUI
Priprema virtuelne mašine
Ako ste instalirali Android Studio, jednostavno otvorite glavni prikaz projekta i pristupite: Alati --> AVD menadžer.
Zatim kliknite na Kreiraj virtuelni uređaj
izaberite telefon koji želite da koristite i kliknite na Dalje.
{% hint style="warning" %} Ako vam je potreban telefon sa instaliranim Play Store-om, izaberite onaj sa ikonom Play Store-a!
U trenutnom prikazu možete izabrati i preuzeti Android sliku koju će telefon pokretati:
Dakle, izaberite je i ako nije preuzeta, kliknite na simbol Preuzmi pored imena (sada sačekajte dok se slika ne preuzme).
Kada se slika preuzme, jednostavno izaberite Dalje
i Završi
.
Virtuelna mašina će biti kreirana. Sada će biti prisutna svaki put kada pristupite AVD menadžeru.
Pokretanje virtuelne mašine
Da biste je pokrenuli, jednostavno pritisnite Dugme za pokretanje.
Alat za komandnu liniju
Prvo morate odlučiti koji telefon želite da koristite, kako biste videli listu mogućih telefona izvršite:
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
[...]
Jednom kada ste odlučili ime uređaja koji želite koristiti, trebate odlučiti koju Android sliku želite pokrenuti na ovom uređaju.
Možete izlistati sve opcije koristeći sdkmanager
:
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\bin\sdkmanager.bat --list
I preuzmite onaj (ili sve) koji želite koristiti sa:
{% 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 %}
Kada ste preuzeli Android sliku koju želite koristiti, možete prikazati sve preuzete Android slike pomoću:
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
U ovom trenutku ste odlučili koji uređaj želite koristiti i preuzeli ste Android sliku, tako da možete kreirati virtuelnu mašinu koristeći:
{% 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 %}
U poslednjoj komandi kreirao sam VM pod nazivom "AVD9" koristeći uređaj "Nexus 5X" i Android sliku "system-images;android-28;google_apis;x86_64".
Sada možete izlistati virtuelne mašine koje ste kreirali sa:
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
Pokretanje virtuelne mašine
Već smo videli kako možete da izlistate kreirane virtuelne mašine, ali možete ih takođe izlistati koristeći:
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\emulator.exe -list-avds
AVD9
Pixel_2_API_27
Jednostavno možete pokrenuti bilo koju kreiranu virtuelnu mašinu koristeći:
{% 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 %}
Ili, koristeći naprednije opcije, možete pokrenuti virtuelnu mašinu kao:
{% 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 %}
Opcije komandne linije
Međutim, postoji mnogo različitih korisnih opcija komandne linije koje možete koristiti za pokretanje virtuelne mašine. U nastavku možete pronaći neke zanimljive opcije, ali možete pronaći potpuni spisak ovde
Pokretanje
-snapshot name
: Pokreni snimak virtuelne mašine-snapshot-list -snapstorage ~/.android/avd/Nexus_5X_API_23.avd/snapshots-test.img
: Prikazuje sve snimke koji su zabeleženi
Mreža
-dns-server 192.0.2.0, 192.0.2.255
: Omogućava da se komandom razdvoje DNS serveri za VM.-http-proxy 192.168.1.12:8080
: Omogućava da se navede HTTP proxy koji će se koristiti (vrlo korisno za snimanje saobraćaja pomoću Burp-a)-port 5556
: Postavlja broj TCP porta koji se koristi za konzolu i adb.-ports 5556,5559
: Postavlja TCP portove koji se koriste za konzolu i adb.-tcpdump /path/dumpfile.cap
: Snima sav saobraćaj u datoteku
Sistem
-selinux {disabled|permissive}
: Postavlja Security-Enhanced Linux modul za bezbednost na onemogućen ili dozvoljen režim na Linux operativnom sistemu.-timezone Europe/Paris
: Postavlja vremensku zonu za virtuelni uređaj-screen {touch(default)|multi-touch|o-touch}
: Postavlja emulirani režim dodira na ekranu.-writable-system
: Koristite ovu opciju da biste imali sistemsku sliku koja se može menjati tokom emulacije. Takođe ćete morati pokrenutiadb root; adb remount
. Ovo je vrlo korisno za instaliranje novog sertifikata u sistemu.
Rutiranje uređaja sa Play prodavnicom
Ako ste preuzeli uređaj sa Play prodavnicom, nećete moći direktno dobiti root pristup i dobićete sledeću grešku
$ adb root
adbd cannot run as root in production builds
Koristeći rootAVD sa Magisk uspeo sam da ga rootujem (pratite na primer ovaj video ili ovaj).
Instaliranje Burp sertifikata
Proverite sledeću stranicu da biste saznali kako da instalirate prilagođeni CA sertifikat:
{% content-ref url="install-burp-certificate.md" %} install-burp-certificate.md {% endcontent-ref %}
Opcije za AVD
Napravite snimak
Možete koristiti GUI da biste napravili snimak virtuelne mašine u bilo kom trenutku:
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!
Drugi načini da podržite HackTricks:
- Ako želite da vidite vašu kompaniju oglašenu u HackTricks-u ili preuzmete HackTricks u PDF formatu proverite SUBSCRIPTION PLANS!
- Nabavite zvanični PEASS & HackTricks swag
- Otkrijte The PEASS Family, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitter-u 🐦 @carlospolopm.
- Podelite svoje hakovanje trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.