12 KiB
AVD - Android Sanal Cihaz
AWS hacklemeyi sıfırdan kahramana öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile!
HackTricks'ı desteklemenin diğer yolları:
- Şirketinizi HackTricks'te reklam görmek istiyorsanız veya HackTricks'i PDF olarak indirmek istiyorsanız [ABONELİK PLANLARI]'na göz atın (https://github.com/sponsors/carlospolop)!
- [Resmi PEASS & HackTricks ürünleri]'ni edinin (https://peass.creator-spring.com)
- [The PEASS Family]'yi keşfedin (https://opensea.io/collection/the-peass-family), özel [NFT'ler]'imiz koleksiyonunu keşfedin (https://opensea.io/collection/the-peass-family)
- Katılın 💬 [Discord grubuna] (https://discord.gg/hRep4RUj7f) veya [telegram grubuna] katılın (https://t.me/peass) veya bizi Twitter 🐦 [@carlospolopm]'de takip edin (https://twitter.com/hacktricks_live).
- Hacking püf noktalarınızı paylaşarak PR göndererek [HackTricks] (https://github.com/carlospolop/hacktricks) ve [HackTricks Cloud] (https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
Bu içeriği oluştururken @offsecjay'e çok teşekkür ederim.
Nedir
Android Studio, APK'ları test etmek için kullanabileceğiniz Android sanal makinelerini çalıştırmanıza olanak tanır. Bunları kullanabilmek için şunlara ihtiyacınız olacak:
- Android SDK araçları - Buradan indirin.
- Veya Android Studio (Android SDK araçları ile birlikte) - Buradan indirin.
Windows'ta (benim durumumda) Android Studio'yu yükledikten sonra SDK Araçları şuraya yüklendi: C:\Users\<KullanıcıAdı>\AppData\Local\Android\Sdk\tools
Mac'te SDK araçlarını indirebilir ve PATH'te çalıştırarak sahip olabilirsiniz:
brew tap homebrew/cask
brew install --cask android-sdk
Veya Android Studio GUI'den belirtildiği gibi https://stackoverflow.com/questions/46402772/failed-to-install-android-sdk-java-lang-noclassdeffounderror-javax-xml-bind-a adresinde belirtildiği gibi ~/Library/Android/sdk/cmdline-tools/latest/bin/
ve ~/Library/Android/sdk/platform-tools/
ve ~/Library/Android/sdk/emulator/
dizinlerine yükleyecektir.
Java sorunları için:
export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jbr/Contents/Home
Grafik Kullanıcı Arayüzü
Sanal Makineyi Hazırlayın
Android Studio'yu yüklediyseniz, ana proje görünümünü açabilir ve şuraya erişebilirsiniz: Tools --> AVD Manager.
Ardından, Create Virtual Device üzerine tıklayın
Kullanmak istediğiniz telefonu seçin ve Next üzerine tıklayın.
{% hint style="warning" %} Play Store yüklü bir telefona ihtiyacınız varsa, üzerinde Play Store simgesi olan birini seçin!
{% endhint %}Mevcut görünümde, telefonun çalışacağı Android görüntüsünü seçebileceksiniz:
Bu nedenle, seçin ve eğer indirilmediyse, ismin yanındaki Download simgesine tıklayın (şimdiye kadar görüntünün indirilmesini bekleyin).
Görüntü indirildikten sonra, sadece Next
ve Finish
'i seçin.
Sanal makine oluşturulacak. Şimdi her AVD yöneticisine eriştiğinizde mevcut olacak.
Sanal Makineyi Çalıştırın
Çalıştırmak için sadece Start button'a basın.
Komut Satırı Aracı
Öncelikle hangi telefona kullanmak istediğinize karar vermeniz gerekiyor, olası telefonların listesini görmek için şunu çalıştırın:
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
[...]
Bir cihazın adını belirledikten sonra, bu cihazda çalıştırmak istediğiniz Android görüntüsünü belirlemelisiniz.
Tüm seçenekleri sdkmanager
kullanarak listeleyebilirsiniz:
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\bin\sdkmanager.bat --list
Ve kullanmak istediğiniz bir tanesini (veya hepsini) indirin:
{% 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 %}
Android görüntüsünü indirdikten sonra kullanmak istediğiniz Android görüntülerini şu şekilde listeleyebilirsiniz:
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
Bu anda kullanmak istediğiniz cihazı seçtiniz ve Android görüntüsünü indirdiniz, bu yüzden şu şekilde sanal makine oluşturabilirsiniz:
{% 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 %}
Son komutta "AVD9" adında bir VM oluşturdum** "Nexus 5X" cihazını ve Android görüntüsünü "system-images;android-28;google_apis;x86_64" kullanarak.
Şimdi oluşturduğunuz sanal makineleri listelemek için şunu yapabilirsiniz:
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
Sanal Makineyi Çalıştır
Zaten oluşturulan sanal makineleri nasıl listeleyebileceğinizi gördük, ancak onları şu şekilde de listeleyebilirsiniz:
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\emulator.exe -list-avds
AVD9
Pixel_2_API_27
Sadece şu komutu kullanarak oluşturulan herhangi bir sanal makineyi çalıştırabilirsiniz:
{% 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 %}
Ya da daha gelişmiş seçenekler kullanarak sanal bir makine çalıştırabilirsiniz:
{% 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 %}
Komut satırı seçenekleri
Ancak, bir sanal makineyi başlatmak için kullanabileceğiniz birçok farklı komut satırı seçeneği bulunmaktadır. Aşağıda bazı ilginç seçenekleri bulabilirsiniz ancak burada tam bir listeyi bulabilirsiniz
Başlatma
-snapshot name
: VM anlık görüntüsünü başlat-snapshot-list -snapstorage ~/.android/avd/Nexus_5X_API_23.avd/snapshots-test.img
: Kaydedilen tüm anlık görüntüleri listele
Ağ
-dns-server 192.0.2.0, 192.0.2.255
: VM için virgülle ayrılmış DNS sunucularını belirtmeye izin verir.-http-proxy 192.168.1.12:8080
: Kullanılacak bir HTTP vekil sunucusunu belirtmeye izin verir (trafiği Burp kullanarak yakalamak için çok kullanışlıdır)-port 5556
: Konsol ve adb için kullanılan TCP port numarasını ayarlar.-ports 5556,5559
: Konsol ve adb için kullanılan TCP portlarını ayarlar.-tcpdump /path/dumpfile.cap
: Tüm trafiği bir dosyada yakalar
Sistem
-selinux {disabled|permissive}
: Güvenlik Geliştirilmiş Linux güvenlik modülünü bir Linux işletim sisteminde devre dışı veya izinli moduna ayarlar.-timezone Europe/Paris
: Sanal cihaz için zaman dilimini ayarlar-screen {touch(default)|multi-touch|o-touch}
: Taklit edilen dokunmatik ekran modunu ayarlar.-writable-system
: Emülasyon oturumunuz sırasında yazılabilir bir sistem görüntüsüne sahip olmak için bu seçeneği kullanın. Ayrıcaadb root; adb remount
komutlarını çalıştırmanız gerekecektir. Bu, sisteme yeni bir sertifika yüklemek için çok kullanışlıdır.
Play Store cihazına kök erişimi sağlama
Play Store ile bir cihaz indirdiyseniz, doğrudan kök erişim elde edemeyecek ve aşağıdaki hata mesajını alacaksınız
$ adb root
adbd cannot run as root in production builds
rootAVD kullanarak Magisk ile root yetkisi almayı başardım (örneğin bu videoyu veya bu videoyu takip edin).
Burp Sertifikası Yükleme
Özel bir CA sertifikası nasıl yükleneceğini öğrenmek için aşağıdaki sayfaya bakın:
{% content-ref url="install-burp-certificate.md" %} install-burp-certificate.md {% endcontent-ref %}
Güzel AVD Seçenekleri
Bir Anlık Görüntü Al
Herhangi bir zamanda VM'nin bir anlık görüntüsünü almak için GUI'yi kullanabilirsiniz:
Sıfırdan kahraman olacak şekilde AWS hacklemeyi htARTE (HackTricks AWS Red Team Expert) öğrenin!
HackTricks'ı desteklemenin diğer yolları:
- Şirketinizi HackTricks'te reklamını görmek istiyorsanız veya HackTricks'i PDF olarak indirmek istiyorsanız ABONELİK PLANLARINI kontrol edin!
- Resmi PEASS & HackTricks ürünlerini edinin
- The PEASS Family'yi keşfedin, özel NFT'lerimiz koleksiyonumuz
- **💬 Discord grubuna veya telegram grubuna katılın veya bizi Twitter 🐦 @carlospolopm'da takip edin.
- Hacking püf noktalarınızı paylaşarak PR'lar göndererek HackTricks ve HackTricks Cloud github depolarına katkıda bulunun.