📜SSL pinning bypass
Description
Les applications mobiles utilisent couramment SSL pour protéger les données transmises contre les écoutes clandestines et la falsification lors de la communication avec un serveur. Les implémentations SSL dans les applications font confiance à un serveur qui possède un certificat, qui à son tour est approuvé par le magasin de confiance du système d'exploitation (par défaut). Le système d'exploitation inclut une liste d'autorités de certification dans ce stockage.
Le développeur configure l'épinglage SSL pour refuser tous sauf un ou quelques certificats prédéterminés. Le programme valide le certificat du serveur avec le certificat épinglé chaque fois qu'il se connecte à un ou plusieurs serveurs. La connexion SSL est établie si et seulement si le certificat du serveur et le certificat épinglé correspondent.

Bypass avec Frida
Télécharger frida-server
Placer frida-server dans le smartphone
avec adb, on va placer l'executable frida-server dans le smartphone dans le dossier /data/local/tmp accessible en lecture et écriture à tous les utilisateurs et lui donner les droits maxiumum pour que frida puisse avoir les pleins contrôles de l'appareil.
$ adb push frida-server /data/local/tmp
$ adb shell
$ chmod 777 /data/local/tmp/frida-server
Lancer de frida en arrière-plan
$ adb shell /data/local/tmp/frida-server &
Placer le script de ssl pinning bypass dans l'appareil
$ adb push script.js /data/local/tmp
Vérifier le bon fonctionnement de frida-server
Via la machine hôte, on va tenter de se connecter à frida-server avec la commande suivante:
$ frida-ps -U
résultat attendu
PID Name
------------------------------
XXX Process
XXX Process
...
Lancement du script de ssl pinning bypass
$ frida -U -f <com.exemple.targetapp> -l <path/to/script.js> --no-paus
Avec Objection
Il est également possible d'utiliser la commande suivante avec objection:
$ objection run ssl pinning disable
Articles / Ressources
Dernière mise à jour
Cet article vous a-t-il été utile ?