Déchiffrement HTTPS (attaque de l'intercepteur, MitM)
Chute peut déchiffrer le trafic HTTPS par MitM. Consultez l'article Wikipédia pour plus d'informations.
Le générateur de certificats peut vous aider à créer un nouveau certificat CA à des fins de débogage et à le faire approuver par le système. Il est disponible dans Chute Mac et dans l'éditeur Chute de Chute iOS. Ce certificat est généré localement et n'est enregistré que dans votre fichier de profil et dans le trousseau du système. La clé du nouveau certificat est générée aléatoirement à l'aide d'OpenSSL.
Vous pouvez également utiliser un certificat CA existant. Exportez le certificat au format PKCS#12 (.p12) avec une phrase secrète. Notez que la phrase secrète ne peut pas être vide, en raison d'une limitation du système. Utilisez la commande « base64 » pour l'encoder en chaîne base64 et ajoutez les réglages ci-dessous à votre fichier de configuration.
[MITM]
enable = true
ca-p12 = MIIJtQ.........
ca-passphrase = password
hostname = *google.com
Chute ne déchiffre que le trafic vers les hôtes déclarés ici.
Les caractères joker et ? sont pris en charge. Notez que ? ne joue le rôle de joker que si la règle contient aussi `; une règle ne contenant que?` est comparée littéralement.
- Utilisez le préfixe - pour exclure un nom d'hôte.
- Par défaut, seules les requêtes vers le port 443 sont déchiffrées.
- Utilisez le suffixe :port pour autoriser d'autres ports.
- Utilisez le suffixe :0 pour autoriser tous les ports.
Exemple :
-*.apple.com: exclut toutes les requêtes envoyées vers *.apple.com sur le port 443.www.google.com: autorise le MitM pour www.google.com sur le port 443.www.google.com:8080: autorise le MitM pour www.google.com sur le port 8080.www.google.com:0: autorise le MitM pour www.google.com sur tous les ports.*: autorise le MitM pour tous les noms d'hôte sur le port 443. (Non recommandé)*:0: autorise le MitM pour tous les noms d'hôte sur tous les ports. (Non recommandé)
Une entrée de nom d'hôte peut également comporter un motif de chemin après le premier /. La partie hôte est évaluée en premier pour décider si la connexion est déchiffrée, puis le motif de chemin filtre les requêtes qui sont déchiffrées et traitées.
example.com/api/*: autorise le MitM pour example.com sur le port 443, limité aux requêtes dont le chemin correspond à/api/*.
Une configuration courante peut ressembler à ceci :
hostname = -*.apple.com, -*.icloud.com, *
Chute applique les règles de réécriture d'URL, de réécriture d'en-tête, de réécriture de corps et de mock (Map Local), ainsi que les scripts, à toutes les requêtes MitM.
Le MitM prend en charge HTTP/2 : Chute propose à la fois h2 et http/1.1 au client via ALPN. Les clés [MITM] de Surge h2 et tcp-connection sont acceptées dans les fichiers de configuration mais ignorées.
Certaines applications appliquent une politique de sécurité stricte avec des certificats ou des CA épinglés. Activer le déchiffrement vers ces hôtes peut poser problème.
Installer et approuver le certificat CA
Générer (ou importer) le CA ne représente que la moitié de l'installation — le système d'exploitation doit également lui faire confiance. Tant que les deux étapes ne sont pas accomplies, chaque site déchiffré échoue avec un avertissement de certificat. La page de certificat de l'app indique l'état actuel (« Certificat CA approuvé » / « Certificat CA non approuvé »).
Chute iOS — dans l'éditeur de configuration, ouvrez MITM → Configurer le CA :
- Générer un nouveau certificat CA (ou Importer un certificat P12 pour un certificat existant).
- Touchez Installer le certificat CA dans le système. Une page Safari s'ouvre — touchez Installer le certificat et autorisez le téléchargement, puis installez le profil téléchargé sous Réglages → Général → VPN et gestion de l'appareil.
- Approuvez-le : Réglages → Général → Informations → Réglages de confiance des certificats, puis activez la confiance totale pour le CA de Chute. C'est l'étape que la plupart des gens oublient — sans elle, le certificat est installé mais non approuvé, et le déchiffrement continue d'échouer.
Chute Mac — dans la fenêtre de configuration, ouvrez MitM :
- Générer un nouveau certificat (ou Importer un certificat depuis un fichier PKCS#12).
- Cliquez sur Installer le certificat dans le système. macOS demande un mot de passe administrateur et ajoute le certificat au trousseau Système en tant que racine approuvée — aucune manipulation manuelle dans Trousseaux d'accès n'est nécessaire.
- Exporter le certificat enregistre une copie
.pemen vue d'une installation sur d'autres appareils.
Si une app précise échoue malgré un certificat approuvé, c'est très probablement qu'elle épingle ses propres certificats — excluez ses hôtes de hostname avec un préfixe - plutôt que de lutter contre elle.
Options
skip-server-cert-verify
skip-server-cert-verify = true
Ne pas vérifier le certificat de l'hôte distant lors du MitM. Lorsque cette option est activée, Chute accepte tout certificat présenté par le serveur amont, y compris auto-signé ou non valide. C'est utile pour les environnements de développement, mais cela réduit la sécurité.
[MITM]
enable = true
ca-p12 = MIIJtQ.........
ca-passphrase = password
skip-server-cert-verify = true
hostname = *google.com
Note de sécurité : activer
skip-server-cert-verifyrend les connexions MitM vulnérables aux attaques de l'intercepteur entre Chute et le serveur amont. N'activez cette option que sur des réseaux de confiance ou à des fins de développement.