5.8 KiB
Extrahieren von Berechtigungen aus kompilierten Anwendungen
Lernen Sie AWS-Hacking von Grund auf mit htARTE (HackTricks AWS Red Team Expert)!
Andere Möglichkeiten, HackTricks zu unterstützen:
- Wenn Sie Ihr Unternehmen in HackTricks bewerben möchten oder HackTricks als PDF herunterladen möchten, überprüfen Sie die ABONNEMENTPLÄNE!
- Holen Sie sich das offizielle PEASS & HackTricks-Merchandise
- Entdecken Sie The PEASS Family, unsere Sammlung exklusiver NFTs
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @carlospolopm.
- Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud github Repositories senden.
Zusammenfassung der Seite https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0069/#review-entitlements-embedded-in-the-compiled-app-binary
Extrahieren von Berechtigungen und mobilen Bereitstellungsdateien
Wenn es um eine IPA-Datei einer App oder eine installierte App auf einem gejailbreakten Gerät geht, ist es möglicherweise nicht möglich, direkt auf .entitlements
-Dateien oder die Datei embedded.mobileprovision
zuzugreifen. Dennoch können Berechtigungs-Property-Listen aus der App-Binärdatei extrahiert werden, indem die in Kapitel "iOS Basic Security Testing" beschriebenen Verfahren befolgt werden, insbesondere der Abschnitt "Erwerben der App-Binärdatei".
Auch bei verschlüsselten Binärdateien können bestimmte Schritte angewendet werden, um diese Dateien zu extrahieren. Sollten diese Schritte fehlschlagen, können Tools wie Clutch (sofern mit der iOS-Version kompatibel), frida-ios-dump oder ähnliche Dienstprogramme erforderlich sein, um die App zu entschlüsseln und zu extrahieren.
Extrahieren der Entitlements-Plist aus der App-Binärdatei
Mit der auf einem Computer zugänglichen App-Binärdatei kann binwalk verwendet werden, um alle XML-Dateien zu extrahieren. Der folgende Befehl zeigt, wie dies gemacht wird:
$ binwalk -e -y=xml ./Telegram\ X
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
1430180 0x15D2A4 XML document, version: "1.0"
1458814 0x16427E XML document, version: "1.0"
Alternativ kann radare2 verwendet werden, um einen Befehl leise auszuführen und zu beenden, der nach allen Zeichenketten im App-Binärcode sucht, die "PropertyList" enthalten:
$ 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"?>...
Beide Methoden, binwalk und radare2, ermöglichen die Extraktion von plist
-Dateien. Eine Inspektion der ersten Datei (0x0015d2a4) zeigt eine erfolgreiche Wiederherstellung der ursprünglichen Berechtigungsdatei von Telegram.
Für App-Binärdateien, die auf gejailbreakten Geräten (z. B. über SSH) zugegriffen werden, kann das grep-Kommando mit der Option -a, --text
verwendet werden, um alle Dateien als ASCII-Text zu behandeln:
$ grep -a -A 5 'PropertyList' /var/containers/Bundle/Application/...
Die Anpassung der -A num, --after-context=num
-Flagge ermöglicht die Anzeige von mehr oder weniger Zeilen. Diese Methode ist auch für verschlüsselte App-Binärdateien geeignet und wurde bei mehreren App Store-Apps verifiziert. Die zuvor erwähnten Tools können auch auf gejailbreakten iOS-Geräten für ähnliche Zwecke verwendet werden.
Hinweis: Die direkte Verwendung des strings
-Befehls wird für diese Aufgabe aufgrund seiner Einschränkungen bei der Suche nach relevanten Informationen nicht empfohlen. Stattdessen wird empfohlen, grep mit der -a
-Flagge auf der Binärdatei zu verwenden oder radare2 (izz
)/rabin2 (-zz
) für effektivere Ergebnisse einzusetzen.
Lernen Sie AWS-Hacking von Grund auf mit htARTE (HackTricks AWS Red Team Expert)!
Andere Möglichkeiten, HackTricks zu unterstützen:
- Wenn Sie Ihr Unternehmen in HackTricks bewerben möchten oder HackTricks als PDF herunterladen möchten, überprüfen Sie die ABONNEMENTPLÄNE!
- Holen Sie sich das offizielle PEASS & HackTricks-Merchandise
- Entdecken Sie The PEASS Family, unsere Sammlung exklusiver NFTs
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @carlospolopm.
- Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repositories senden.