iOS Extracting Entitlements From Compiled Application
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 autorisations 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 les fichiers .entitlements
ou le fichier embedded.mobileprovision
. Cependant, les listes de propriétés des autorisations peuvent toujours être extraites du binaire de l'application, en suivant les procédures décrites dans le chapitre "Test de sécurité de base sur iOS", en particulier la section "Acquisition du binaire de l'application".
Même avec des binaires chiffrés, certaines étapes peuvent être utilisées pour extraire ces fichiers. Si ces étapes échouent, des outils tels que Clutch (si compatible avec la version iOS), frida-ios-dump, ou des utilitaires similaires peuvent être nécessaires pour décrypter et extraire l'application.
Extraction de la liste des autorisations à 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 montre comment le faire:
Alternativement, radare2 peut être utilisé pour exécuter silencieusement une commande et quitter, en recherchant toutes les chaînes dans le binaire de l'application contenant "PropertyList":
Les deux méthodes, binwalk et radare2, permettent l'extraction des fichiers plist
, avec une inspection du premier (0x0015d2a4) révélant une récupération réussie du fichier d'entitlements original de Telegram.
Pour les binaires d'application accessibles sur des appareils jailbreakés (par exemple, via SSH), la commande grep avec l'indicateur -a, --text
peut être utilisée pour traiter tous les fichiers comme du texte ASCII:
Ajuster le drapeau -A num, --after-context=num
permet d'afficher plus ou moins de lignes. Cette méthode est même applicable aux binaires d'applications chiffrées et a été vérifiée sur 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.
Remarque : L'utilisation directe de la commande strings
n'est pas recommandée pour cette tâche en raison de ses limitations dans la recherche d'informations pertinentes. Au lieu de cela, l'utilisation de grep avec le drapeau -a
sur le binaire ou l'utilisation de radare2 (izz
)/rabin2 (-zz
) est conseillée pour des résultats plus efficaces.
Last updated