Un outil qui vous aide à utiliser facilement Frida. Il prend en charge le script pour tracer les classes, les fonctions et modifier les valeurs de retour des méthodes sur la plate-forme iOS.
Pour la plateforme Android : frida-android-hook
Pour Intercept Api a été crypté sur l'application iOS : frida-ios-intercept-api
Système d'exploitation | Soutenu | Noté |
---|---|---|
MacOS | ✅ | principal |
Linux | ✅ | sous |
Fenêtres | ✅ | sous |
IOS | Frida | Outils Frida | Soutenu |
---|---|---|---|
15.7.4 | 16.1.3 | 12.2.1 | ✅ |
Exécuter avec python3.x
Prend en charge à la fois le script de génération et d'attachement au processus.
[+] Options: -p(--package) Identifier of application ex: com.apple.AppStore -n(--name) Name of application ex: AppStore -s(--script) Using script format script.js -c(--check-version) Check for the newest version -u(--update) Update to the newest version [*] Dump decrypt IPA: -d, --dump Dump decrypt application.ipa -o OUTPUT_IPA, --output=OUTPUT_IPA Specify name of the decrypted IPA [*] Dump memory of Application: --dump-memory Dump memory of application [*] HexByte Scan IPA: --hexbyte-scan Scan or Patch IPA with byte patterns --pattern=PATTERN Pattern for hexbytescan --address=ADDRESS Address for hexbytescan -t TASK, --task=TASK Task for hexbytescan [*] Information: --list-devices List All Devices --list-apps List The Installed apps --list-scripts List All Scripts --logcat Show system log of device --shell, --ssh Get the shell of connect device [*] Quick method: -m(--method) Support commonly used methods app-static(-n) bypass-jb(-p) bypass-ssl(-p) i-url-req(-n) i-crypto(-p) [*] reFlutter: --reflutter=FLUTTERFILE File Flutter.ipa
Version : 3.9
[+] Add: - Add backtrace to hooking.js [+] Change: - Update frida version - Update readme, changelog, requirement [+] Fix - Fix issue #85
Voir le journal des modifications complet
[+] Latest version https://github.com/noobpk/frida-ios-hook/releases [+] Develop version git clone -b dev https://github.com/noobpk/frida-ios-hook
[+] Python >= v3.0 (Recommend to use pyenv or virtualenv) 1. cd frida-ios-hook/ 2. python3 -m venv py-env 3. source py-env/bin/active
1. pip3 install -r requirements.txt 3. python3 setup.py 4. cd frida-ios-hook 5. ./ioshook -h (--help)
Voir l'utilisation complète en tant que wiki
Si vous exécutez le script mais qu'il ne fonctionne pas, vous pouvez essayer ce qui suit : frida -U -f package -l script.js
Titre | Lien |
---|---|
Crochet iOS Frida | Utilisation de base | Installer - Liste des appareils - Liste des applications - Liste des scripts - Logcat - Shell | https://youtu.be/xSndHgTdv4w |
Crochet iOS Frida | Utilisation de base | Dump Decrypt IPA - Application de vidage de mémoire - Hexbyte-Scan IPA | https://youtu.be/AUsJ9_gnWAI |
Crochet iOS Frida | Utilisation de base | App Static - Contourner le jailbreak - Contourner SSL - Intercepter l'URL + Crypto | https://youtu.be/nWhKDSzArf8 |
Crochet iOS Frida | Utilisation avancée | Dump mémoire - Radare2 - Iaito | https://youtu.be/nUqE4EYWiEc |
Mise à jour de certains scripts Frida pour vous aider avec l'application iOS Pentest. Script de filtre à l'aide de spawn(S) ou attach(A)
N | Apparaître/attacher | Nom du script | Description du script | Version du scénario |
---|---|---|---|---|
1 | S | backtrace.js | Retour en arrière | 1.0 |
2 | S | contourner-flutter-ssl.js | Épinglage SSL de contournement Flutter | 1.0 |
3 | S | contourner-jailbreak-1.js | Détection de jailbreak de contournement de base | 1.0 |
4 | S | contourner-ssl-ios13.js | iOS 13 contourne l'épinglage SSL | 1.0 |
5 | S | dump-ios-url-scheme.js | Vider le schéma d'URL iOS lorsque "openURL" est appelé | 1.0 |
6 | S | dump-ui.js | Vider la structure actuelle de l'interface utilisateur à l'écran | 1.0 |
7 | S+A | trouver-toutes-classes-methods.js | Vider toutes les méthodes dans toutes les classes | 1.0 |
8 | S+A | trouver-toutes-classes.js | Vider toutes les classes utilisées par l'application | 1.0 |
9 | S+A | trouver-app-classes-methods.js | Videz toutes les méthodes dans les classes appartenant uniquement à l'application | 1.0 |
10 | S+A | trouver-app-classes.js | Vider les classes appartenant uniquement à l'application | 1.0 |
11 | S+A | méthode-spécifique-à-trouver.js | Trouver une méthode spécifique dans tous les cours | 1.0 |
12 | S+A | flutter_trace_function.js | Fonction de trace de flottement iOS | 1.0 |
13 | S+A | hook-toutes-les-méthodes-de-toutes-les-classes-app-only.js | Accrochez toutes les méthodes de toutes les classes appartenant à l'application | 1.0 |
14 | S+A | hook-toutes-les-méthodes-de-classe-spécifique.js | Accrochez toutes les méthodes d'une classe particulière | 1.0 |
15 | S+A | méthode-spécifique-au-hook-of-class.js | Accrocher une méthode particulière d'une classe spécifique | 1.0 |
16 | S+A | intercepter-nslog.js | Intercepter les appels vers la fonction de journalisation NSLog d'Apple | 1.0 |
17 | S+A | ios-app-static-analysis.js | Analyse statique de l'application iOS | 1.0 |
18 | S | ios-biométrique-bypass.js | Contournement biométrique iOS | 1.0 |
19 | S+A | ios-intercept-crypto-2.js | iOS intercepte les opérations cryptographiques 2 | 1.0 |
20 | S+A | ios-intercept-crypto.js | iOS intercepte les opérations de cryptographie | 1.0 |
21 | S+A | ios-list-apps.js | Application de liste iOS | 1.0 |
22 | S+A | ios-url-scheme-fuzzing.js | Fuzzing du schéma d'URL iOS | 1.0 |
23 | S+A | pastelboard-monitoring.js | Surveiller l'utilisation du carton. Utile pour montrer l'absence d'attribut sécurisé sur les champs sensibles permettant la copie de données. | 1.0 |
24 | S+A | raptor_frida_ios_autoIntercept.js | Interception automatique Raptor Frida iOS | 1.0 |
25 | S+A | raptor_frida_ios_bypass1.js | Raptor Frida iOS contourner 1 | 1.0 |
26 | S+A | raptor_frida_ios_bypass2.js | Raptor Frida iOS contourner 2 | 1.0 |
27 | S+A | raptor_frida_ios_call.js | Raptor frida appel ios | 1.0 |
28 | S+A | raptor_frida_ios_debug.js | Débogage Raptor Frida iOS | 1.0 |
29 | S+A | raptor_frida_ios_enum.js | Raptor Frida iOS énumération | 1.0 |
30 | S+A | raptor_frida_ios_lowlevel1.js | Raptor frida ios bas niveau 1 | 1.0 |
31 | S+A | raptor_frida_ios_lowlevel2.js | Raptor frida ios bas niveau 2 | 1.0 |
32 | S+A | raptor_frida_ios_stalker.js | Raptor Frida traqueur iOS | 1.0 |
33 | S+A | raptor_frida_ios_touchid.js | Raptor frida ios touchid | 1.0 |
34 | S+A | raptor_frida_ios_trace.js | Trace de Raptor Frida iOS | 1.0 |
35 | S+A | read-nsuserdefaults.js | Afficher le contenu de NSUserDefaults | 1.0 |
36 | S+A | lire-plist-file.js | Afficher le contenu d'un fichier Plist | 1.0 |
37 | S | remplacer-exported-method.js | Remplacer la fonction exportée d'un module | 1.0 |
38 | S+A | afficher toutes les méthodes de classe spécifique.js | Vider toutes les méthodes d'une classe particulière | 1.0 |
39 | S+A | show-argument-type-count-and-return-value-type.js | Afficher le type et le nombre d'arguments et le type de valeur de retour pour une fonction dans une classe | 1.0 |
40 | S+A | show-instance-variables-pour-classe-spécifique.js | Afficher toutes les variables d'instance d'une classe particulière | 1.0 |
41 | S+A | show-modify-function-arguments.js | Afficher et modifier les arguments d'une fonction dans une classe | 1.0 |
42 | S+A | show-modify-method-return-value.js | Afficher et modifier la valeur de retour d'une méthode particulière dans une classe | 1.0 |
43 | S+A | show_binarycookies.js | Afficher le contenu du fichier Cookies.binarycookies | 1.0 |
N | Nom de la tâche | Description de la tâche |
---|---|---|
1 | openssl_hook.json | Crochet d'épinglage de certificat OpenSSL 1.0.2 sur arm64 |
2 | openssl_1_1_0_hook.json | Crochet d'épinglage de certificat OpenSSL 1.1.0 pour arm64, il modifie l'instruction cmp dans la méthode tls_process_server_certificate |
3 | openssl_hook_v2.json | Crochet d'épinglage de certificat OpenSSL 1.0.2 sur arm64, modèle amélioré, éventuellement pour une version différente du compilateur ou OpenSSL légèrement mis à jour, à utiliser si la première version ne trouve pas l'emplacement du correctif. Ces hooks corrigent l'appel à ssl_verify_cert_chain dans ssl3_get_server_certificate. |
Parce que je ne suis pas un développeur, mes compétences en codage ne sont peut-être pas les meilleures. Par conséquent, si cet outil rencontre un problème ou ne fonctionne pas pour vous, créez un problème et j'essaierai de le résoudre. Toutes les suggestions de nouvelles fonctionnalités et discussions sont les bienvenues !