16 KiB
AVD - Εικονική Συσκευή Android
Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
- Εάν θέλετε να δείτε την εταιρεία σας να διαφημίζεται στο HackTricks ή να κατεβάσετε το HackTricks σε μορφή PDF ελέγξτε τα ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ!
- Αποκτήστε το επίσημο PEASS & HackTricks swag
- Ανακαλύψτε την Οικογένεια PEASS, τη συλλογή μας από αποκλειστικά NFTs
- Εγγραφείτε στη 💬 ομάδα Discord ή στη ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @carlospolopm.
- Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα HackTricks και HackTricks Cloud αποθετήρια του github.
Σας ευχαριστούμε πολύ τον @offsecjay για τη βοήθειά του κατά τη δημιουργία αυτού του περιεχομένου.
Τι είναι
Το Android Studio επιτρέπει την εκτέλεση εικονικών μηχανών Android που μπορείτε να χρησιμοποιήσετε για να δοκιμάσετε APKs. Για να τα χρησιμοποιήσετε, θα χρειαστείτε:
- Τα εργαλεία Android SDK - Κατεβάστε εδώ.
- Ή το Android Studio (με τα εργαλεία Android SDK) - Κατεβάστε εδώ.
Στα Windows (στην περίπτωσή μου) μετά την εγκατάσταση του Android Studio είχα τα εργαλεία SDK εγκατεστημένα στο: C:\Users\<UserName>\AppData\Local\Android\Sdk\tools
Στο mac μπορείτε να κατεβάσετε τα εργαλεία SDK και να τα έχετε στο PATH εκτελώντας:
brew tap homebrew/cask
brew install --cask android-sdk
Ή από το Android Studio GUI όπως υποδεικνύεται στο https://stackoverflow.com/questions/46402772/failed-to-install-android-sdk-java-lang-noclassdeffounderror-javax-xml-bind-a που θα τα εγκαταστήσει στο ~/Library/Android/sdk/cmdline-tools/latest/bin/
και ~/Library/Android/sdk/platform-tools/
και ~/Library/Android/sdk/emulator/
Για τα προβλήματα Java:
export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jbr/Contents/Home
Γραφική διεπαφή χρήστη (GUI)
Προετοιμασία εικονικής μηχανής
Εάν έχετε εγκαταστήσει το Android Studio, μπορείτε απλά να ανοίξετε την κύρια προβολή του έργου και να αποκτήσετε πρόσβαση στο: Εργαλεία --> Διαχειριστής AVD.
Στη συνέχεια, κάντε κλικ στο Δημιουργία εικονικής συσκευής
επιλέξτε το τηλέφωνο που θέλετε να χρησιμοποιήσετε και κάντε κλικ στο Επόμενο.
{% hint style="warning" %} Εάν χρειάζεστε ένα τηλέφωνο με εγκατεστημένο το Play Store, επιλέξτε ένα με το εικονίδιο του Play Store!
Στην τρέχουσα προβολή θα μπορείτε να επιλέξετε και να κατεβάσετε την εικόνα Android που θα τρέξει το τηλέφωνο:
Επομένως, επιλέξτε την και εάν δεν έχει ήδη γίνει λήψη, κάντε κλικ στο σύμβολο Λήψη δίπλα στο όνομα (περιμένετε τώρα μέχρι να ολοκληρωθεί η λήψη της εικόνας).
Αφού ολοκληρωθεί η λήψη της εικόνας, απλά επιλέξτε Επόμενο
και Τέλος
.
Η εικονική μηχανή θα δημιουργηθεί. Τώρα κάθε φορά που θα έχετε πρόσβαση στον διαχειριστή AVD θα είναι διαθέσιμη.
Εκτέλεση εικονικής μηχανής
Για να την εκτελέσετε, απλά πατήστε το Κουμπί Έναρξης.
Εργαλείο γραμμής εντολών
Καταρχάς, πρέπει να αποφασίσετε ποιο τηλέφωνο θέλετε να χρησιμοποιήσετε, για να δείτε τη λίστα των δυνατών τηλεφώνων εκτελέστε:
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
[...]
Αφού αποφασίσετε το όνομα της συσκευής που θέλετε να χρησιμοποιήσετε, πρέπει να αποφασίσετε ποια εικόνα Android θέλετε να εκτελέσετε σε αυτήν τη συσκευή.
Μπορείτε να εμφανίσετε όλες τις επιλογές χρησιμοποιώντας την εντολή sdkmanager
:
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\bin\sdkmanager.bat --list
Και κατεβάστε αυτό που θέλετε (ή όλα) με:
{% 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 που θέλετε να χρησιμοποιήσετε, μπορείτε να εμφανίσετε όλες τις κατεβασμένες εικόνες Android με:
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
Αυτήν τη στιγμή έχετε αποφασίσει τη συσκευή που θέλετε να χρησιμοποιήσετε και έχετε κατεβάσει την εικόνα του Android, οπότε μπορείτε να δημιουργήσετε την εικονική μηχανή χρησιμοποιώντας:
{% 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 %}
Στην τελευταία εντολή δημιούργησα έναν εικονικό υπολογιστή με το όνομα "AVD9" χρησιμοποιώντας τη συσκευή "Nexus 5X" και τη εικόνα Android "system-images;android-28;google_apis;x86_64".
Τώρα μπορείτε να εμφανίσετε τους εικονικούς υπολογιστές που έχετε δημιουργήσει με:
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
Εκτέλεση Εικονικής Μηχανής
Έχουμε ήδη δει πώς μπορείτε να καταλογίσετε τις δημιουργημένες εικονικές μηχανές, αλλά μπορείτε επίσης να τις καταλογίσετε χρησιμοποιώντας:
C:\Users\<UserName>\AppData\Local\Android\Sdk\tools\emulator.exe -list-avds
AVD9
Pixel_2_API_27
Μπορείτε απλά να εκτελέσετε οποιαδήποτε εικονική μηχανή έχει δημιουργηθεί χρησιμοποιώντας:
{% 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 %}
Ή χρησιμοποιώντας πιο προηγμένες επιλογές μπορείτε να εκτελέσετε ένα εικονικό μηχάνημα όπως:
{% 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 %}
Επιλογές γραμμής εντολών
Ωστόσο, υπάρχουν πολλές διαφορετικές επιλογές γραμμής εντολών που μπορείτε να χρησιμοποιήσετε για να ξεκινήσετε μια εικονική μηχανή. Παρακάτω μπορείτε να βρείτε μερικές ενδιαφέρουσες επιλογές, αλλά μπορείτε να βρείτε μια πλήρη λίστα εδώ
Εκκίνηση
-snapshot name
: Έναρξη στιγμιότυπου της ΕΜ-snapshot-list -snapstorage ~/.android/avd/Nexus_5X_API_23.avd/snapshots-test.img
: Εμφάνιση όλων των καταγεγραμμένων στιγμιοτύπων
Δίκτυο
-dns-server 192.0.2.0, 192.0.2.255
: Επιτρέπει να δηλωθούν χωρισμένοι με κόμμα οι διακομιστές DNS στην ΕΜ.-http-proxy 192.168.1.12:8080
: Επιτρέπει να δηλωθεί ένας HTTP proxy για χρήση (πολύ χρήσιμο για την καταγραφή της κίνησης χρησιμοποιώντας το Burp)-port 5556
: Ορίζει τον αριθμό θύρας TCP που χρησιμοποιείται για την κονσόλα και το adb.-ports 5556,5559
: Ορίζει τις θύρες TCP που χρησιμοποιούνται για την κονσόλα και το adb.-tcpdump /path/dumpfile.cap
: Καταγράφει όλη την κίνηση σε ένα αρχείο
Σύστημα
-selinux {disabled|permissive}
: Ορίζει τον ασφαλή λειτουργικό τρόπο του Security-Enhanced Linux σε απενεργοποιημένο ή ανεκτικό σε ένα λειτουργικό σύστημα Linux.-timezone Europe/Paris
: Ορίζει την ζώνη ώρας για την εικονική συσκευή-screen {touch(default)|multi-touch|o-touch}
: Ορίζει τη λειτουργία της εμούλας αφής.-writable-system
: Χρησιμοποιήστε αυτήν την επιλογή για να έχετε ένα εγγράψιμο σύστημα κατά τη διάρκεια της εμούλας. Θα πρέπει επίσης να εκτελέσετεadb root; adb remount
. Αυτό είναι πολύ χρήσιμο για να εγκαταστήσετε ένα νέο πιστοποιητικό στο σύστημα.
Rooting a Play Store device
Εάν κατεβάσατε μια συσκευή με το Play Store, δεν θα μπορέσετε να αποκτήσετε root απευθείας και θα λάβετε το παρακάτω μήνυμα σφάλματος
$ adb root
adbd cannot run as root in production builds
Χρησιμοποιώντας το rootAVD με το Magisk κατάφερα να το ρουτάρω (ακολουθήστε για παράδειγμα αυτό το βίντεο ή αυτό).
Εγκατάσταση Πιστοποιητικού Burp
Ελέγξτε την παρακάτω σελίδα για να μάθετε πώς να εγκαταστήσετε ένα προσαρμοσμένο πιστοποιητικό CA:
{% content-ref url="install-burp-certificate.md" %} install-burp-certificate.md {% endcontent-ref %}
Επιλογές AVD
Κάντε ένα Στιγμιότυπο
Μπορείτε να χρησιμοποιήσετε το γραφικό περιβάλλον για να κάνετε ένα στιγμιότυπο της εικονικής μηχανής οποιαδήποτε στιγμή:
Μάθετε το hacking στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
- Αν θέλετε να δείτε την εταιρεία σας να διαφημίζεται στο HackTricks ή να κατεβάσετε το HackTricks σε μορφή PDF ελέγξτε τα ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ!
- Αποκτήστε το επίσημο PEASS & HackTricks swag
- Ανακαλύψτε την Οικογένεια PEASS, τη συλλογή μας από αποκλειστικά NFTs
- Εγγραφείτε στη 💬 ομάδα Discord ή στη ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @carlospolopm.
- Μοιραστείτε τα hacking tricks σας υποβάλλοντας PRs στα HackTricks και HackTricks Cloud αποθετήρια του github.