AVD - Android Virtual Device
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Thank you very much to @offsecjay for his help while creating this content.
Το 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 τρέχοντας:
Ή από το 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:
Αν έχετε εγκαταστήσει το Android Studio, μπορείτε απλά να ανοίξετε την κύρια προβολή έργου και να αποκτήσετε πρόσβαση: Tools --> AVD Manager.
Στη συνέχεια, κάντε κλικ στο Create Virtual Device
επιλέξτε το τηλέφωνο που θέλετε να χρησιμοποιήσετε και κάντε κλικ στο Next.
Αν χρειάζεστε ένα τηλέφωνο με εγκατεστημένο το Play Store, επιλέξτε ένα με το εικονίδιο του Play Store πάνω του!
Στην τρέχουσα προβολή θα μπορείτε να επιλέξετε και να κατεβάσετε την εικόνα Android που θα τρέξει το τηλέφωνο:
Έτσι, επιλέξτε την και αν δεν έχει κατέβει, κάντε κλικ στο σύμβολο Download δίπλα στο όνομα (τώρα περιμένετε μέχρι να κατέβει η εικόνα).
Μόλις η εικόνα κατέβει, απλά επιλέξτε Next
και Finish
.
Η εικονική μηχανή θα δημιουργηθεί. Τώρα κάθε φορά που αποκτάτε πρόσβαση στον AVD manager, θα είναι παρούσα.
Για να τρέξετε την, απλά πατήστε το Start button.
Πρώτα απ' όλα πρέπει να αποφασίσετε ποιο τηλέφωνο θέλετε να χρησιμοποιήσετε, για να δείτε τη λίστα των πιθανών τηλεφώνων εκτελέστε:
Μόλις αποφασίσετε το όνομα της συσκευής που θέλετε να χρησιμοποιήσετε, πρέπει να αποφασίσετε ποια εικόνα Android θέλετε να εκτελέσετε σε αυτή τη συσκευή.
Μπορείτε να καταγράψετε όλες τις επιλογές χρησιμοποιώντας sdkmanager
:
Και κατεβάστε αυτό που θέλετε να χρησιμοποιήσετε (ή όλα) με:
Αφού έχετε κατεβάσει την εικόνα Android που θέλετε να χρησιμοποιήσετε, μπορείτε να καταγράψετε όλες τις κατεβασμένες εικόνες Android με:
Αυτή τη στιγμή έχετε αποφασίσει τη συσκευή που θέλετε να χρησιμοποιήσετε και έχετε κατεβάσει την εικόνα Android, οπότε μπορείτε να δημιουργήσετε τη εικονική μηχανή χρησιμοποιώντας:
Στην τελευταία εντολή δημιούργησα μια VM με το όνομα "AVD9" χρησιμοποιώντας τη ** συσκευή** "Nexus 5X" και την εικόνα Android "system-images;android-28;google_apis;x86_64". Τώρα μπορείτε να καταχωρήσετε τις εικονικές μηχανές που έχετε δημιουργήσει με:
Έχουμε ήδη δει πώς μπορείτε να καταγράψετε τις δημιουργημένες εικονικές μηχανές, αλλά μπορείτε επίσης να τις καταγράψετε χρησιμοποιώντας:
Μπορείτε απλά να εκτελέσετε οποιαδήποτε εικονική μηχανή έχει δημιουργηθεί χρησιμοποιώντας:
Ή χρησιμοποιώντας πιο προηγμένες επιλογές μπορείτε να εκτελέσετε μια εικονική μηχανή όπως:
Ωστόσο, υπάρχουν πολλές διαφορετικές χρήσιμες επιλογές γραμμής εντολών που μπορείτε να χρησιμοποιήσετε για να ξεκινήσετε μια εικονική μηχανή. Παρακάτω μπορείτε να βρείτε μερικές ενδιαφέρουσες επιλογές αλλά μπορείτε να βρείτε μια πλήρη λίστα εδώ
Εκκίνηση
-snapshot name
: Ξεκινήστε το στιγμιότυπο VM
-snapshot-list -snapstorage ~/.android/avd/Nexus_5X_API_23.avd/snapshots-test.img
: Λίστα με όλα τα καταγεγραμμένα στιγμιότυπα
Δίκτυο
-dns-server 192.0.2.0, 192.0.2.255
: Επιτρέπει να υποδείξετε τους διακομιστές DNS χωρισμένους με κόμμα στη VM.
-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}
: Ορίστε το module ασφαλείας Security-Enhanced Linux σε κατάσταση είτε απενεργοποιημένη είτε επιτρεπτική σε ένα λειτουργικό σύστημα Linux.
-timezone Europe/Paris
: Ορίστε τη ζώνη ώρας για τη εικονική συσκευή
-screen {touch(default)|multi-touch|o-touch}
: Ορίστε τη λειτουργία οθόνης αφής που προσομοιώνεται.
-writable-system
: Χρησιμοποιήστε αυτή την επιλογή για να έχετε μια εγγράψιμη εικόνα συστήματος κατά τη διάρκεια της συνεδρίας προσομοίωσης σας. Θα χρειαστεί επίσης να εκτελέσετε adb root; adb remount
. Αυτό είναι πολύ χρήσιμο για την εγκατάσταση ενός νέου πιστοποιητικού στο σύστημα.
Αν κατεβάσατε μια συσκευή με Play Store δεν θα μπορέσετε να αποκτήσετε root άμεσα, και θα λάβετε αυτό το μήνυμα σφάλματος
Using rootAVD with Magisk κατάφερα να το κάνω root (ακολουθήστε για παράδειγμα αυτό το βίντεο ή αυτό εδώ).
Ελέγξτε την παρακάτω σελίδα για να μάθετε πώς να εγκαταστήσετε ένα προσαρμοσμένο CA cert:
Install Burp CertificateΜπορείτε να χρησιμοποιήσετε το GUI για να λάβετε μια στιγμιότυπη εικόνα της VM οποιαδήποτε στιγμή:
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)