6 KiB
iOS App-Erweiterungen
Lernen Sie das Hacken von AWS von Null auf Heldenniveau 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.
App-Erweiterungen verbessern die Funktionalität von Apps, indem sie ihnen ermöglichen, mit anderen Apps oder dem System zu interagieren und benutzerdefinierte Funktionen oder Inhalte bereitzustellen. Diese Erweiterungen umfassen:
- Benutzerdefinierte Tastatur: Bietet eine einzigartige Tastatur in allen Apps und ersetzt die standardmäßige iOS-Tastatur.
- Teilen: Ermöglicht das Teilen in sozialen Netzwerken oder direkt mit anderen.
- Heute (Widgets): Liefert Inhalte oder führt Aufgaben schnell aus der Ansicht "Heute" im Benachrichtigungscenter aus.
Wenn ein Benutzer mit diesen Erweiterungen interagiert, z. B. Text aus einer Host-App teilt, verarbeitet die Erweiterung diese Eingabe in ihrem Kontext und nutzt die gemeinsamen Informationen, um ihre Aufgabe auszuführen, wie in der Dokumentation von Apple beschrieben.
Sicherheitsüberlegungen
Wichtige Sicherheitsaspekte sind:
- Erweiterungen und ihre enthaltenen Apps kommunizieren über Inter-Process Communication, nicht direkt.
- Das Heute-Widget ist einzigartig, da es seine App über eine spezifische Methode öffnen kann.
- Der Zugriff auf gemeinsame Daten ist innerhalb eines privaten Containers erlaubt, direkter Zugriff ist jedoch eingeschränkt.
- Bestimmte APIs, einschließlich HealthKit, sind für App-Erweiterungen nicht zugänglich. Diese können auch keine lang laufenden Aufgaben starten oder auf die Kamera oder das Mikrofon zugreifen, außer für iMessage-Erweiterungen.
Statische Analyse
Identifizierung von App-Erweiterungen
Um App-Erweiterungen im Quellcode zu finden, suchen Sie nach NSExtensionPointIdentifier
in Xcode oder überprüfen Sie das App-Bundle auf .appex
-Dateien, die Erweiterungen anzeigen. Ohne Quellcode verwenden Sie grep oder SSH, um diese Bezeichner im App-Bundle zu finden.
Unterstützte Datentypen
Überprüfen Sie die Info.plist
-Datei einer Erweiterung auf NSExtensionActivationRule
, um unterstützte Datentypen zu identifizieren. Diese Einrichtung stellt sicher, dass nur kompatible Datentypen die Erweiterung in Host-Apps auslösen.
Datenaustausch
Der Datenaustausch zwischen einer App und ihrer Erweiterung erfordert einen gemeinsamen Container, der über "App Groups" eingerichtet und über NSUserDefaults
zugegriffen wird. Dieser gemeinsame Speicherplatz ist für Hintergrundübertragungen erforderlich, die von Erweiterungen initiiert werden.
Einschränkung von Erweiterungen
Apps können bestimmte Erweiterungstypen einschränken, insbesondere benutzerdefinierte Tastaturen, um sicherzustellen, dass die Handhabung sensibler Daten den Sicherheitsprotokollen entspricht.
Dynamische Analyse
Die dynamische Analyse umfasst:
- Untersuchung von gemeinsam genutzten Elementen: Haken Sie sich in
NSExtensionContext - inputItems
ein, um gemeinsam genutzte Datentypen und Ursprünge zu sehen. - Identifizierung von Erweiterungen: Finden Sie heraus, welche Erweiterungen Ihre Daten verarbeiten, indem Sie interne Mechanismen wie
NSXPCConnection
beobachten.
Tools wie frida-trace
können dabei helfen, die zugrunde liegenden Prozesse zu verstehen, insbesondere für diejenigen, die sich für die technischen Details der Inter-Process Communication interessieren.
Referenzen
- https://mas.owasp.org/MASTG/iOS/0x06h-Testing-Platform-Interaction/
- https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0072/
Lernen Sie das Hacken von AWS von Null auf Heldenniveau 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.