Contact me for feedback or questions! I reply to everyone.
Le support de la vie privée est un des critères les plus important quand les utilisateurs choisissent (ou devraient, bref) un navigateur web. Souvent, l'opinion d'une personne de la vie privée d'un navigateur est fabriqué par des hypothèses, le marketing, ou sa politique de confidentialité (qui peut être dur à lire et à comprendre, omettre des informations ou des mensonges). Ne serait-ce pas sympa d'avoir un moyen de prouver qu'un navigateur respecte vraiment votre vie privée, ou juste raconte de bon gros mensonges ? Heureusement, il y a un outil puissant pour voir exactement qu'est-ce qu'un navigateur fait dans votre dos, et je vais vous le présenter maintenant. Découvrons les secrets !
Premièrement, installez mitmproxy. Vous pouvez le faire facilement en tapant cette commande dans le terminal: pip3 install mitmproxy (vous avez besoin d'avoir python3 d'installé - il devrait être disponible dans la plupart des dépôts Linux). Qu'est-ce que mitmproxy? Simplement, c'est un serveur de proxy local où vous pouvez faire pointer votre navigateur, qui va vous permettre de voir les connexions qu'il fait (il a beaucoup plus de fonctionnalités, mais dans cet article, c'est le seul point où on va se concentrer).
Premièrement, lancez mitmproxy en tapant la commande dans le terminal mitmproxy -p 3128. Le 3128 est le port sur lequel le proxy s'exécute. Maintenant allez dans les paramètres de proxy de votre navigateur, et mettez 127.0.0.1 pour l'IP, et 3128 pour le port (soyez sûr(e) d'avoir remplir les sections HTTP et HTTPS). C'est un peu plus dur sur les navigateur basés sur Chromium, vu qu'ils ne supportent pas de paramètres de proxy directement sur leur interface graphique. Vous devez les exécuter depuis le terminal comme ceci : nom du navigateur --proxy-server="127.0.0.1:3128". Remplacez "nom du navigateur" par le nom de l'exécutable, par exemple iridium-browser --proxy-server="127.0.0.1:3128".
Vous devez l'exécuter depuis des proxychains avec ce fichier de configuration mis dans
/etc/proxychains.conf. Puis, tapez proxychains4 name-of-browser
dans le terminal. Si cela a marché, les proxychains vont donner des résultats comme ça (ceci est pour le navigateur
Surf):
proxychains4 surf digdeeper.neocities.org
[proxychains] config file found: /etc/proxychains.conf
[proxychains] preloading /usr/lib64/libproxychains4.so
[proxychains] DLL init: proxychains-ng 4.14
[proxychains] DLL init: proxychains-ng 4.14
[proxychains] DLL init: proxychains-ng 4.14
[proxychains] Dynamic chain ... 127.0.0.1:3128 ... digdeeper.neocities.org:80 ... OK
[proxychains] Dynamic chain ... 127.0.0.1:3128 ... digdeeper.neocities.org:443 ... OK
[proxychains] Dynamic chain ... 127.0.0.1:3128 ... digdeeper.neocities.org:443 ... OK
[proxychains] Dynamic chain ... 127.0.0.1:3128 ... digdeeper.neocities.org:443 ... OK
[proxychains] Dynamic chain ... 127.0.0.1:3128 ... digdeeper.neocities.org:443 ... OK
[proxychains] Dynamic chain ... 127.0.0.1:3128 ... digdeeper.neocities.org:443 ... OK
[proxychains] Dynamic chain ... 127.0.0.1:3128 ... digdeeper.neocities.org:443 ... OK
Et évidemment, vous devrez voir toutes les requêtes dans la fenêtre de commande de mitmproxy.
Maintenant, si votre navigateur est du genre à vous espionner, vous devrez déjà voir des requêtes dans votre fenêtre de commande - mais attendez, la configuration de mitmproxy n'est pas
encore finie. Par défaut, il affiche seulement des requêtes HTTP pures, vu que les navigateurs ne vont pas l'autoriser à décrypter le SSL. Heureusement il a une méthode facile pour ajouter un
certificat root à votre navigateur, qui va vous le permettre (La partie "mitm" dans mitmproxy fait référence à ça). Allez sur la fenêtre de votre navigateur et tapez mitm.it
dans la barre d'addresse. Maintenant choisissez votre platforme et suivez les futurs instructions. Si vous avez réussi(e), vous devrez être capable d'aller sur n'importe quel site web HTTPS et
de voir la requête dans mitmproxy (qui va démarrer avec GET https://). Notez que les instructions pour Chrome sont inutilement compliquées et ne marchent défois même
pas. Tout ce que vous avez à faire est d'entrer dans les Paramètres, rechercher "cert" en haut, cliquer sur Gérer les certificats
, puis importer le fichier
mitmproxy-ca-cert.pem (onglet Authorités
). Certains navigateurs (comme Surf) fait automatiquement confiance à tous les certificats, ce qui vous permet de ne rien faire pour avoir le
SSL fonctionnel avec mitmproxy. Ok, on a la décryption du SSL activée - et maintenant ?
Vous avez juste a attendre ! Oui c'est tout. Le but est d'attendre et de voir quelles requêtes le navigateur fait sans votre accord. Vous pouvez plonger dans les requêtes avec les flèches de votre clavier et les inspecter dans les détails en appuyant sur Entrée. Ça va vous donner TOUTES les données que le navigateur envoie, et reçoit. Évidemment, le comprendre prends beaucoup d'expérience, mais au moins vous avez l'opportunité de Découvrir Les Secrets, si vous le voulez! Vous serez peut être surpris que les navigateurs communs font des centaines de requêtes sans votre connaissance, même ceux qui sont généralement considérés comme "respectueux de votre vie privée". Par exemple, Waterfox fait exactemenet 109 requêtes non sollicitées, juste en le lançant ! Et il est annoncé comme respectueux de la vie privée - mais merci à mitmproxy, vous pouvez découvrir les secrets, et exposer les preuves que c'est un mensonge. N'est-ce pas incroyable ? Plus de reliabilité sur les opinions populaires, les annonces trompeuses, ou des politiques de confidentialité de merde (qui devraient être appelées politiques d'espionnage). Maintenant tout est là pour vous, vous n'avez plus qu'a tester.
Évidemment, vous n'allez juste pas pouvoir voir tous les espionnages en attendant. Il y en a qui le cache dans d'autres endroits comme les nouveaux onglets ou ont besoin de visiter un site web (la collection d'Opera sur votre historique de navigation par exemple). Aussi, plusieurs requêtes ne sont faites que la première fois que vous lancez le navigateur, quand il ne passe pas par mitmproxy, ce qui va vous empêcher de les voir. Comment surmonter à ça ?
Fermez votre navigateur. Maintenant allez dans le répertoire de configuration du navigateur (par exemple /home/hackerman/.config/vivaldi/) et supprimez le fichier "First Run". Ça devrait le faire. Utilisez la touche Z dans mitmproxy pour supprimer toutes les requêtes précédentes, ce qui vous facilitera la tache pour seulement voir les nouvelles requêtes. Lancez le navigateur à nouveau.
Un petit peu plus compliqué. Vous devez aussi aller dans le répertoire de configuration du navigateur, mais ça ne va pas être .config mais .mozilla (pour Firefox et GNU IceCat), .waterfox (pour Waterfox), ou .moonchild productions (pour Pale Moon). Maintenant FERMEZ VOTRE NAVIGATEUR (si vous l'avez ouvert), cherchez le fichier prefs.js, et dedans, cherchez la ligne user_pref("network.proxy.http", "127.0.0.1");. Maintenant copiez tout jusqu'à user_pref("network.proxy.type", 1);. Supprimez le reste et sauvegardez in the file. Votre fichier prefs.js devrait ressembler à ça (probablement pas tout ne doit être nécessairement supprimé, mais restons en sécurité..). Aussi supprimez tout les autres fichiers sauf prefs.js et cert8.db (contiens les informations de certificat pour mitmproxy) - ça va laisser votre navigateur basé sur Firefox avec SEULEMENT les paramètres de proxy changés de l'installation par défaut.
Sans fin. Vous pouvez même vérifier si une extension fait des requêtes non nécessaires. Certaines extensions "respectueuses de votre vie privée" vont en faite ne pas la respecter en faisant des requêtes dans votre dos. Rejouer les requêtes, remplacer certaines parties du contenu dans un site web. Vous pouvez même faire du hacking avec, comme voler des mot de passes, ou en envoyant une fausse page à votre victime - mais ceux-ci sont beaucoup plus dur que simplement tester la vie privée d'un navigateur, et un sujet pour un autre article. Vous pouvez même faire passer n'importe quel programme qui communique via HTTP, comme les lecteurs RSS. Asumez-vous bien..