Accueil > Réalisations > Logiciels > Attaque « Man in the middle » facile via un navigateur > Navigation automatique : principes généraux
Navigation automatique : principes généraux
vendredi 7 décembre 2007, par
L’idée de base est assez simple : piloter le site cible à l’aide d’un script javascript. Cependant, la « sécurisation » au niveau du poste client empêche un tel script d’accéder aux propriétés d’un site distinct... Heureusement il existe une solution !
le principe de base est assez simple : utiliser un proxy pour insérer virtuellement nos propres pages dans le site visé. Pour cela nous devons donc :
- modifier le comportement du navigateur en « lui faisant croire » que le site est sur une machine sous notre contrôle, ceci se faisant très simplement en ajoutant une ligne de type
IP nom_officiel
dans le fichier « host » du poste client ou en installant un fichier « proxy.pac » adéquat ; - créer le proxy, par exemple avec apache, à l’aide de directives permettant d’aller chercher le site cible sur les serveurs d’origine, sauf un sous ensemble qui sera servi localement.
Schématiquement cela donne le diagramme suivant :
Il s’agit en résumé, de faire volontairement une attaque de type « man in the middle ». Cette approche étant valable pour HTTP comme pour HTTPS en re-chiffrant les pages servies à l’aide de certificats locaux, ce qui provoquera comme seul effet de bord, des warnings sur la sécurité du site, sauf à déployer sa propre PKI sur le poste.
Un exemple valant mieux qu’un long discours, j’ai utilisé cette technique pour automatiser la soumission d’URLs à détruire dans les index Google via les « webmaster tools » de Google (voir article suivant). NOTE : les pages Google ayant été fortement modifiées, cet exemple n’est plus disponible.... Bientôt un autre exemple !
Quelques remarques :
- cette technique ne fonctionne pas si il existe un proxy entre le poste client et le serveur Apache mis en place car la résolution de nom sera faite par le proxy et le poste client continuera à s’adresser à ce dernier ;
- un système similaire peut être mis en place par un administrateur système indélicat afin de subtiliser des mots de passe sensibles... Sur des postes en libre service, cela peut même être complètement invisible pour l’utilisateur ! Prudence donc si vous vous connectez dans un web café ou sur le wifi du voisin...
Cette technique a été utilisée avec succès pour :
- Envoyer plusieurs centaines d’URLs à Google Sitemap (webmaster tools) pour suppression ;
- Récupérer plus d’un millier de fiches détaillées sur un site internet Sécurisé utilisant un système de sessions difficilement copiable ;
- Modifier les paramètres de plusieurs milliers de messages postés sur un forum (rajouter systématiquement la signature à tous les messages).