Ssl-kill-switch2

nabla-c0d3 nabla-c0d3
Dépôt créer le : 11/07/2015
Release du : 22/02/2026 0.14
Forks: 483 Watcher: 0 3247
Choisir une liste...
FR

Interrupteur SSL Kill 2

Outil Blackbox pour désactiver la validation du certificat SSL/TLS - y compris le certificat pinning - dans les applications iOS et macOS. Deuxième itération https://github.com/iSECPartenaires/ios-sl-kill-switch .

Désignation des marchandises

Une fois chargé dans une application iOS ou macOS, SSL Kill Switch 2 sera patch fonctions de bas niveau responsables de la gestion des connexions SSL/TLS afin de remplacer et désactiver la validation du certificat par défaut du système, ainsi que n'importe quel type de validation de certificat personnalisé (comme le pinning de certificat).

Il a été testé avec succès sur diverses demandes de certificat d'exécution pinning incluant l'Apple App Store. La première version de SSL Kill Switch est sorti à Black Hat Vegas 2012.

La dernière version iOS connue pour être prise en charge est 14.2.

instructions iOS

Sur iOS, SSL Kill Switch 2 peut être installé en tant que sous-système Cydia Un appareil cassé en prison.

AVERTISSEMENT: CETTE TÉLÉCHARGERA VOTRE INSECTION DE VICE

Installer SSL Kill Switch 2 permet à n'importe qui sur le même réseau que l'appareil à facilement effectuer des attaques de l'homme dans le milieu contretousConnexion SSL ou HTTPS. Cela signifie qu'il est trivial d'avoir accès aux e-mails, sites Web consultés dans Safari et toute autre donnée téléchargée par n'importe quelle application fonctionnant sur l'appareil.

Installation

Les dépendances suivantes doivent être installées avec Cydia:

  • Packaging Debian
  • Cydia Substrat
  • PréférenceLoader

Ensuite, téléchargez le dernier paquet précompilé disponible dans l'onglet de publication de page GitHub du SSL Kill Switch 2. Copier sur l'appareil, l'installer et Respirer le dispositif:

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 voulez tester.

Le tweak peut ensuite être désinstallé en utilisant:

dpkg -r com.nablac0d3.SSLKillSwitch2

Intercepter le trafic de l'App Store

Beaucoup de gens ont demandé comment intercepter le trafic de l'App Store en utilisant 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/intercepting-the-app-stores-traffic-on-ios/

Intercepter Charles Proxy

Par défaut, SSL Kill Switch va perturber l'application iOS Charles Proxy et vous ne serez pas capable de proxy n'importe quel trafic réseau avec elle. Pour corriger cela, ajoutez l'application Charles Proxy (com.xk72.Charles) à la liste des identifiants groupés exclus dans la configuration SSL Kill Switch :

Charles proxy

Construire

La construction nécessite l'installation de la suite Theos disponible à http://www.iphonedevwiki.net/index.php/Theos/Getting Started .

Ensuite, dans le folio racine de SSL Kill Switch 2, créez un lien symbolique vers vos théos installation:

ln -s /<path_to_your_theos_folder> theos

Assurez-vous que dpkg est installé. Si vous avez Homebrew, utilisez:

brew install dpkg

Ensuite, le paquet SSL Kill Switch 2 Debian peut être construit en utilisant:

make package

instructions macOS

SSL Kill Switch 2 peut être utilisé dans les applications macOS comme bibliothèque dynamique à injecter dans les processus.

MISE EN GARDE: CE N'EST PAS ESSAI SUR LES VERSIONS RÉCENTES DES MACOS

Utilisation

Sur macOS, la bibliothèque SSLKillSwitch doit être injectée manuellement dans le processus où L'épinglement SSL doit être désactivé. Une fois injecté, il va automatiquement remplacer et désactiver validation SSL.

Il y a plusieurs façons de le faire, notamment :

  • Démarrer le processus avec LLDB ou dans Xcode Debug-> Attachez au processus puis arrêtez, et chargez SSLKillSwitch en utilisantdlopen():

      (lldb) expr (void*)dlopen("/path/to/build/SSLKillSwitch.framework/Versions/A/SSLKillSwitch", 1)
    

    Le résultat attendu est un pointeur non zéro:

      (void *) $1 = 0x00007f92e74d10c0
    

    Si vous recevez un pointeur zéro, vous devrez peut-être activer la signature de code et construire pour le profilage, puis utiliser le binaire dans le dossier de publication, et même peut-être devoir copier le binaire dans le dossier ressources de l'application. Dans ce cas, vous auriez vu un sandbox lire la sortie de violation sur console. Pour tester une nouvelle version du binaire, vous devez tuer l'application et la charger à nouveau.

  • Utiliser DYLD INSERT LIBRARIES pour injecter SSLKillSwitch et démarrer le processus.

Applications restreintes

À DÉTERMINER

Construire

Utilisez le projet Xcode pour construire SSL Kill Switch 2 pour macOS. La bibliothèque compilée sera alors disponible enProduits/SSLKillSwitch.framework/Versions/A/SSLKillSwitch. Ceci est le binaire que vous devez injecter dans le processus où vous voulez désactiver le pinning SSL.

Changer de journal

  • v0.14: Ajout du support pour iOS 13.
  • v0.13: Ajout du support pour iOS 12.
  • v0.12: Ajout du support pour iOS 11.
  • v0.11: Ajout du support pour iOS 10.
  • v0.10: Ajout d'une prise en charge pour le proxyCocoaSPDYApplications (par exemple Twitter iOS).
  • v0.9 : A étendu le filtre MobileLoader pour simplifier le proxy de l'application Apple App Store.
  • V0.8: Ajout du support pour iOS 9.
  • v0.7: Outil rebaptisé SSL Kill Switch 2; support supplémentaire pour les applications macOS et TrustKit.
  • v0.6: Ajout du support pour iOS 7.
  • v0.5: Réécriture complète afin d'ajouter une prise en charge pour l'application App Store d'Apple.
  • v0.4: Ajout de crochets pour SecTrustÉvaluation().
  • v0.3: Corrections et prise en charge des bogues pour iOS 6.
  • v0.2: Libération initiale.

Licence

MIT - Voir ./LICENSE.

Auteur

Alban Diquet - @nabla c0d3

Contributeurs GitHub

nabla-c0d3
nabla-c0d3
60 contributions
anaseqal
anaseqal
1 contributions
profiles
profiles
1 contributions
malhal
malhal
1 contributions
Raztor0
Raztor0
1 contributions
valentinradu
valentinradu
1 contributions
blunden
blunden
1 contributions
mwpcheung
mwpcheung
1 contributions