Extraction des droits d'accès à partir de l'application compilée
Reading time: 4 minutes
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PRs au HackTricks et HackTricks Cloud dépôts github.
Résumé de la page https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0069/#review-entitlements-embedded-in-the-compiled-app-binary
Extraction des droits d'accès et des fichiers de provisionnement mobile
Lorsqu'il s'agit d'un IPA d'application ou d'une application installée sur un appareil jailbreaké, il peut ne pas être possible de trouver directement des fichiers .entitlements
ou le fichier embedded.mobileprovision
. Cependant, les listes de propriétés des droits d'accès peuvent toujours être extraites du binaire de l'application, en suivant les procédures décrites dans le chapitre "Tests de sécurité de base iOS", en particulier la section "Acquisition du binaire de l'application".
Même avec des binaires chiffrés, certaines étapes peuvent être employées pour extraire ces fichiers. Si ces étapes échouent, des outils tels que Clutch (s'il est compatible avec la version iOS), frida-ios-dump ou des utilitaires similaires peuvent être nécessaires pour déchiffrer et extraire l'application.
Extraction du Plist des droits d'accès à partir du binaire de l'application
Avec le binaire de l'application accessible sur un ordinateur, binwalk peut être utilisé pour extraire tous les fichiers XML. La commande ci-dessous démontre comment procéder :
$ binwalk -e -y=xml ./Telegram\ X
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
1430180 0x15D2A4 XML document, version: "1.0"
1458814 0x16427E XML document, version: "1.0"
Alternativement, radare2 peut être utilisé pour exécuter discrètement une commande et sortir, en recherchant toutes les chaînes dans le binaire de l'application qui contiennent "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"?>...
Les deux méthodes, binwalk et radare2, permettent l'extraction de fichiers plist
, avec une inspection de la première (0x0015d2a4) révélant une récupération réussie du fichier d'entitlements original de Telegram.
Pour les binaires d'applications accessibles sur des appareils jailbreakés (par exemple, via SSH), la commande grep avec le drapeau -a, --text
peut être utilisée pour traiter tous les fichiers comme du texte ASCII :
$ grep -a -A 5 'PropertyList' /var/containers/Bundle/Application/...
Ajuster le drapeau -A num, --after-context=num
permet d'afficher plus ou moins de lignes. Cette méthode est viable même pour les binaires d'applications cryptées et a été vérifiée contre plusieurs applications de l'App Store. Les outils mentionnés précédemment peuvent également être utilisés sur des appareils iOS jailbreakés à des fins similaires.
Note : L'utilisation directe de la commande strings
n'est pas recommandée pour cette tâche en raison de ses limitations à trouver des informations pertinentes. Au lieu de cela, il est conseillé d'utiliser grep avec le drapeau -a
sur le binaire ou d'utiliser radare2 (izz
)/rabin2 (-zz
) pour des résultats plus efficaces.
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PRs au HackTricks et HackTricks Cloud dépôts github.