iOS Extracting Entitlements From Compiled Application

Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

Περίληψη της σελίδας https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0069/#review-entitlements-embedded-in-the-compiled-app-binary

Εξαγωγή Προνομίων και Αρχείων Mobile Provision

Όταν ασχολούμαστε με το IPA μιας εφαρμογής ή με μια εγκατεστημένη εφαρμογή σε μια jailbroken συσκευή, ενδέχεται να μην είναι δυνατή η εύρεση αρχείων .entitlements ή του αρχείου embedded.mobileprovision απευθείας. Ωστόσο, μπορούν ακόμα να εξαχθούν λίστες προνομίων από το δυαδικό αρχείο της εφαρμογής, ακολουθώντας τις διαδικασίες που περιγράφονται στο κεφάλαιο "iOS Basic Security Testing", και ειδικότερα στην ενότητα "Απόκτηση του Δυαδικού Αρχείου της Εφαρμογής".

Ακόμα και με κρυπτογραφημένα δυαδικά αρχεία, μπορούν να γίνουν ορισμένα βήματα για την εξαγωγή αυτών των αρχείων. Εάν αυτά τα βήματα αποτύχουν, ενδέχεται να απαιτηθούν εργαλεία όπως το Clutch (εάν είναι συμβατό με την έκδοση του iOS), το frida-ios-dump ή παρόμοια εργαλεία για την αποκρυπτογράφηση και εξαγωγή της εφαρμογής.

Εξαγωγή του Αρχείου Plist των Προνομίων από το Δυαδικό Αρχείο της Εφαρμογής

Με το δυαδικό αρχείο της εφαρμογής προσβάσιμο σε έναν υπολογιστή, μπορεί να χρησιμοποιηθεί το binwalk για να εξαχθούν όλα τα αρχεία XML. Η παρακάτω εντολή δείχνει πώς να το κάνετε:

$ binwalk -e -y=xml ./Telegram\ X

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
1430180       0x15D2A4        XML document, version: "1.0"
1458814       0x16427E        XML document, version: "1.0"

Εναλλακτικά, μπορεί να χρησιμοποιηθεί το radare2 για να εκτελεστεί αθόρυβα μια εντολή και να τερματίσει, αναζητώντας όλες τις συμβολοσειρές στο δυαδικό αρχείο της εφαρμογής που περιέχουν τη λέξη "PropertyList":

$ r2 -qc 'izz~PropertyList' ./Telegram\ X

0x0015d2a4 ascii <?xml version="1.0" encoding="UTF-8" standalone="yes"?>...
0x0016427d ascii H<?xml version="1.0" encoding="UTF-8"?>...

Και οι δύο μέθοδοι, binwalk και radare2, επιτρέπουν την εξαγωγή αρχείων plist, με μια επιθεώρηση του πρώτου (0x0015d2a4) αποκαλύπτοντας μια επιτυχημένη ανάκτηση του αρχικού αρχείου entitlements από το Telegram.

Για δυαδικά αρχεία εφαρμογών που έχουν πρόσβαση σε jailbroken συσκευές (π.χ. μέσω SSH), η εντολή grep με τη σημαία -a, --text μπορεί να χρησιμοποιηθεί για να επεξεργαστεί όλα τα αρχεία ως ASCII κείμενο:

$ grep -a -A 5 'PropertyList' /var/containers/Bundle/Application/...

Η προσαρμογή της σημαίας -A num, --after-context=num επιτρέπει την εμφάνιση περισσότερων ή λιγότερων γραμμών. Αυτή η μέθοδος είναι εφαρμόσιμη ακόμα και για κρυπτογραφημένα δυαδικά αρχεία εφαρμογών και έχει επαληθευτεί σε πολλές εφαρμογές App Store. Τα εργαλεία που αναφέρθηκαν προηγουμένως μπορούν επίσης να χρησιμοποιηθούν σε jailbroken συσκευές iOS για παρόμοιους σκοπούς.

Σημείωση: Δεν συνιστάται η άμεση χρήση της εντολής strings για αυτήν την εργασία λόγω των περιορισμών της στην εύρεση σχετικών πληροφοριών. Αντ' αυτού, συνίσταται η χρήση της εντολής grep με τη σημαία -a στο δυαδικό αρχείο ή η χρήση του radare2 (izz)/rabin2 (-zz) για πιο αποτελεσματικά αποτελέσματα.

Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι υποστήριξης του HackTricks:

Last updated