Outil BlackBox pour désactiver la validation du certificat SSL / TLS - y compris le certificat épingle - dans les applications iOS et MacOS. Deuxième itération de https://github.com/isecpartners/ios-ssl-kill-switch.
Une fois chargée dans une application iOS ou macOS, SSL Kill Switch 2 patchera les fonctions de bas niveau responsables de la gestion des connexions SSL / TLS afin de remplacer et de désactiver la validation du certificat par défaut du système, ainsi que tout type de validation de certificat personnalisée (tel que Pinning de certificat).
Il a été testé avec succès contre diverses applications implémentant le certificat épingle, y compris l'App Store Apple. La première version de SSL Kill Switch a été publiée chez Black Hat Vegas 2012.
La version la plus récente iOS connue pour être prise en charge est de 14,2.
Sur iOS, SSL Kill Switch 2 peut être installé comme un ajustement de sous-traits Cydia sur un appareil jailbreaké.
L'installation de SSL Kill Switch 2 permet à toute personne sur le même réseau que l'appareil d'effectuer facilement des attaques d'homme dans le milieu de la connexion SSL ou HTTPS. Cela signifie qu'il est trivial d'accéder aux e-mails, sites Web visualisés dans Safari et toutes les autres données téléchargées par n'importe quelle application exécutée sur l'appareil.
Les dépendances suivantes doivent être installées à l'aide de Cydia:
Ensuite, téléchargez le dernier package pré-compilé disponible dans l'onglet Release de la page GitHub du SSL Kill Switch 2. Copiez-le sur l'appareil, installez-le et repensant l'appareil:
dpkg -i <package>.deb
killall -HUP SpringBoard
Il devrait y avoir un nouveau menu dans les paramètres de l'appareil où vous pouvez activer l'extension. Enfin, tuez et redémarrez l'application que vous souhaitez tester.
Le tweak peut plus tard être désinstallé en utilisant:
dpkg -r com.nablac0d3.SSLKillSwitch2
Beaucoup de gens ont demandé comment intercepter le trafic de l'App Store à l'aide de SSL Kill Switch 2. J'ai écrit quelques instructions ici, mais il y a maintenant dépassé: http://nabla-c0d3.github.io/blog/2013/08/20/interceting-the-app-stores-traffic-on-ios/
Par défaut, SSL Kill Switch perturbera l'application Charles Proxy iOS et vous ne pourrez pas proxy avec un trafic réseau avec lui. Pour résoudre ce problème, ajoutez l'application Charles Proxy (com.xk72.charles) à la liste des ID de bundle exclus dans la configuration SSL Kill Switch:

La construction nécessite que la suite Théos soit installée disponible sur http://www.iphonedevwiki.net/index.php/theos/getting_started.
Ensuite, dans SSL Kill Switch 2 Root Foler, créez un lien symbolique à votre installation Théos:
ln -s /<path_to_your_theos_folder> theos
Assurez-vous que DPKG est installé. Si vous avez Homebrew, utilisez:
brew install dpkg
Ensuite, le package SSL Kill Switch 2 Debian peut être construit en utilisant:
make package
SSL Kill Switch 2 peut être utilisé dans les applications macOS en tant que bibliothèque dynamique à injecter en processus.
Sur MacOS, la bibliothèque SSLKILLSWitch doit être injectée manuellement dans le processus où Pinning SSL doit être désactivé. Une fois injecté, il remplacera automatiquement et désactivera la validation SSL.
Il existe plusieurs façons de le faire, notamment:
Démarrage du processus avec LLDB ou dans Xcode Debug-> attacher au processus puis faire une pause, et charger sslkillswitch en utilisant dlopen() :
(lldb) expr (void*)dlopen("/path/to/build/SSLKillSwitch.framework/Versions/A/SSLKillSwitch", 1)
Le résultat attendu est un pointeur non nul:
(void *) $1 = 0x00007f92e74d10c0
Si vous recevez un pointeur zéro, vous devrez peut-être activer la signature de code et construire pour le profilage, utilisez le binaire dans le dossier de version, et peut même devoir copier le binaire dans le dossier Ressources de l'application. Dans ce cas, vous auriez vu un bac à sable lire la sortie de violation à la console. Pour tester une nouvelle version du binaire, vous devez tuer l'application et la charger à nouveau.
Utilisation de dyld_insert_librares pour injecter sslkillswitch et démarrer le processus.
TBD
Utilisez le projet Xcode pour construire SSL Kill Switch 2 pour macOS. La bibliothèque compilée sera ensuite disponible en produits / sslkillswitch.framework / versions / a / sslkillswitch . C'est le binaire que vous devez injecter dans le processus où vous souhaitez désactiver l'épinglage SSL.
MIT - Voir ./LIMENSE.
Alban diquet - @ nabla_c0d3