11 KiB
AVD - Android Sanal Cihazı
htARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile sıfırdan kahraman olmak için AWS hacklemeyi öğrenin!
HackTricks'i desteklemenin diğer yolları:
- Şirketinizi HackTricks'te reklam vermek veya HackTricks'i PDF olarak indirmek için ABONELİK PLANLARINI kontrol edin!
- Resmi PEASS & HackTricks ürünlerini edinin
- The PEASS Ailesi'ni keşfedin, özel NFT'lerimiz koleksiyonumuz
- 💬 Discord grubuna veya telegram grubuna katılın veya Twitter 🐦 @carlospolopm'u takip edin.
- Hacking hilelerinizi HackTricks ve HackTricks Cloud github reposuna PR göndererek paylaşın.
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ırmaya izin verir. Bunları kullanmak için aşağıdakilere ihtiyacınız olacak:
- Android SDK araçları - Buradan indirin.
- Veya Android Studio (Android SDK araçlarıyla birlikte) - Buradan indirin.
Windows'ta (benim durumumda) Android Studio'yu yükledikten sonra, SDK Araçları'nın yüklendiği konum: C:\Users\<KullanıcıAdı>\AppData\Local\Android\Sdk\tools
Mac'te SDK araçlarını indirebilir ve PATH içinde çalıştırarak sahip olabilirsiniz:
brew tap homebrew/cask
brew install --cask android-sdk
Veya https://stackoverflow.com/questions/46402772/failed-to-install-android-sdk-java-lang-noclassdeffounderror-javax-xml-bind-a adresinde belirtildiği gibi Android Studio GUI üzerinden yapabilirsiniz. Bu yöntem, onları ~/Library/Android/sdk/cmdline-tools/latest/bin/
, ~/Library/Android/sdk/platform-tools/
ve ~/Library/Android/sdk/emulator/
dizinlerine kuracaktır.
Java sorunları için:
export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jbr/Contents/Home
GUI
Sanal Makineyi Hazırlama
Eğer Android Studio'yu yüklediyseniz, ana proje görünümünü açabilir ve şuraya erişebilirsiniz: Araçlar --> AVD Yöneticisi.
Ardından, Sanal Cihaz Oluştur üzerine tıklayın.
_Kullanmak istediğiniz telefonu seçin ve İleri üzerine tıklayın.
{% hint style="warning" %} Play Store yüklü bir telefona ihtiyacınız varsa, üzerinde Play Store simgesi bulunan birini seçin!
Mevcut görünümde, telefonun çalışacağı Android görüntüsünü seçip indirebileceksiniz:
Bu yüzden, seçin ve indirilmediyse adının yanındaki İndir simgesine tıklayın (şimdi görüntünün indirilmesini bekleyin).
Görüntü indirildikten sonra, sadece İleri
ve Bitir
seçin.
Sanal makine oluşturulacak. Şimdi AVD yöneticisine her eriştiğinizde mevcut olacak.
Sanal Makineyi Çalıştırma
Çalıştırmak için sadece Başlat düğmesine basın.
Komut Satırı Aracı
Öncelikle kullanmak istediğiniz telefonu belirlemeniz gerekmektedir, olası telefonların listesini görmek için aşağıdaki komutu ç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 adı 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 istediğiniz bir (veya tümünü) 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 %}
İstediğiniz Android görüntüsünü indirdikten sonra, indirilen tüm Android görüntülerini listeleyebilirsiniz:
$ avdmanager list avd
Bu komut, indirilen tüm Android görüntülerinin bir listesini görüntüler.
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 noktada kullanmak istediğiniz cihazı seçtiniz ve Android imajını indirdiniz, bu yüzden aşağıdaki adımları izleyerek sanal makineyi 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 sanal makine oluşturdum. Bu makineye "Nexus 5X" cihazını ve "system-images;android-28;google_apis;x86_64" Android görüntüsünü kullandım. Şimdi oluşturduğunuz sanal makineleri listelemek için şu komutu kullanabilirsiniz:
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
Daha önce oluşturulan sanal makineleri nasıl listeleyebileceğinizi zaten gördük, ancak onları listeleyebilirsiniz kullanarak:
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\emulator.exe -list-avds
AVD9
Pixel_2_API_27
Aşağıdaki 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 %}
Daha gelişmiş seçeneklerle bir sanal 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 liste bulabilirsiniz
Başlatma
-snapshot name
: VM anlık görüntüsünü başlatır-snapshot-list -snapstorage ~/.android/avd/Nexus_5X_API_23.avd/snapshots-test.img
: Kaydedilen tüm anlık görüntüleri listeler
Ağ
-dns-server 192.0.2.0, 192.0.2.255
: VM'ye virgülle ayrılmış DNS sunucularını belirtmeye izin verir.-http-proxy 192.168.1.12:8080
: Kullanılacak bir HTTP proxy'sini 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 bağlantı noktası numarasını ayarlar.-ports 5556,5559
: Konsol ve adb için kullanılan TCP bağlantı noktalarını ayarlar.-tcpdump /path/dumpfile.cap
: Tüm trafiği bir dosyada yakalar
Sistem
-selinux {disabled|permissive}
: Bir Linux işletim sisteminde Security-Enhanced Linux güvenlik modülünü devre dışı bırakma veya izin verici 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 oturumu 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ı da çalıştırmanız gerekecektir. Bu, sisteme yeni bir sertifika yüklemek için çok kullanışlıdır.
Play Store cihazını rootlama
Play Store ile indirdiyseniz, doğrudan kök erişimi elde edemezsiniz ve aşağıdaki hata mesajını alırsınız
$ adb root
adbd cannot run as root in production builds
rootAVD ve Magisk ile kullanarak root erişimi elde edebilirsiniz (ö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 sayfayı kontrol edin:
{% content-ref url="install-burp-certificate.md" %} install-burp-certificate.md {% endcontent-ref %}
Güzel AVD Seçenekleri
Bir Snapshot Alın
Herhangi bir zamanda VM'in bir snapshot'ını almak için GUI'yi kullanabilirsiniz:
htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahraman olmak için AWS hackleme öğrenin!
HackTricks'i desteklemenin diğer yolları:
- Şirketinizi HackTricks'te reklamınızı görmek veya HackTricks'i PDF olarak indirmek için ABONELİK PLANLARINI kontrol edin!
- Resmi PEASS & HackTricks ürünlerini edinin
- Özel NFT'lerden oluşan koleksiyonumuz The PEASS Family'i keşfedin
- 💬 Discord grubuna veya telegram grubuna katılın veya Twitter 🐦 @carlospolopm'u takip edin.
- Hacking hilelerinizi HackTricks ve HackTricks Cloud github reposuna PR göndererek paylaşın.