iOS Extracting Entitlements From Compiled Application
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Summary of the page https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0069/#review-entitlements-embedded-in-the-compiled-app-binary
Extracting Entitlements and Mobile Provision Files
Όταν ασχολείστε με το IPA μιας εφαρμογής ή με μια εγκατεστημένη εφαρμογή σε μια jailbroken συσκευή, η εύρεση των αρχείων .entitlements
ή του αρχείου embedded.mobileprovision
μπορεί να μην είναι δυνατή. Ωστόσο, οι λίστες ιδιοτήτων entitlements μπορούν να εξαχθούν από το δυαδικό αρχείο της εφαρμογής, ακολουθώντας τις διαδικασίες που περιγράφονται στο κεφάλαιο "iOS Basic Security Testing", ιδιαίτερα στην ενότητα "Acquiring the App Binary".
Ακόμα και με κρυπτογραφημένα δυαδικά αρχεία, ορισμένα βήματα μπορούν να χρησιμοποιηθούν για να εξαχθούν αυτά τα αρχεία. Εάν αυτά τα βήματα αποτύχουν, εργαλεία όπως το Clutch (αν είναι συμβατό με την έκδοση iOS), frida-ios-dump ή παρόμοια βοηθητικά προγράμματα μπορεί να απαιτούνται για να αποκρυπτογραφήσουν και να εξάγουν την εφαρμογή.
Extracting the Entitlements Plist from the App Binary
Με το δυαδικό αρχείο της εφαρμογής προσβάσιμο σε υπολογιστή, binwalk μπορεί να χρησιμοποιηθεί για να εξαχθούν όλα τα XML αρχεία. Η παρακάτω εντολή δείχνει πώς να το κάνετε αυτό:
Εναλλακτικά, radare2 μπορεί να χρησιμοποιηθεί για να εκτελέσει ήσυχα μια εντολή και να εξέλθει, αναζητώντας όλες τις συμβολοσειρές στο δυαδικό αρχείο της εφαρμογής που περιέχουν "PropertyList":
Και οι δύο μέθοδοι, binwalk και radare2, επιτρέπουν την εξαγωγή αρχείων plist
, με μια επιθεώρηση του πρώτου (0x0015d2a4) να αποκαλύπτει μια επιτυχημένη ανάκτηση του αρχικού αρχείου δικαιωμάτων από το Telegram.
Για τα δυαδικά αρχεία εφαρμογών που προσπελάστηκαν σε jailbroken συσκευές (π.χ., μέσω SSH), η εντολή grep με την επιλογή -a, --text
μπορεί να χρησιμοποιηθεί για να αντιμετωπιστούν όλα τα αρχεία ως ASCII κείμενο:
Ρυθμίζοντας την επιλογή -A num, --after-context=num
επιτρέπει την εμφάνιση περισσότερων ή λιγότερων γραμμών. Αυτή η μέθοδος είναι βιώσιμη ακόμη και για κωδικοποιημένα δυαδικά αρχεία εφαρμογών και έχει επαληθευτεί σε πολλές εφαρμογές του App Store. Τα εργαλεία που αναφέρθηκαν νωρίτερα μπορούν επίσης να χρησιμοποιηθούν σε jailbroken iOS συσκευές για παρόμοιους σκοπούς.
Σημείωση: Η άμεση χρήση της εντολής strings
δεν συνιστάται για αυτήν την εργασία λόγω των περιορισμών της στην εύρεση σχετικών πληροφοριών. Αντίθετα, η χρήση του grep με την επιλογή -a
στο δυαδικό αρχείο ή η αξιοποίηση του radare2 (izz
)/rabin2 (-zz
) είναι σκόπιμη για πιο αποτελεσματικά αποτελέσματα.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Last updated