Attaques automatisées de Social Engineering
Résumé
Le social enginering est une technique qui a pour but d’extirper des informations à des personnes sans qu’elles ne s’en rendent compte. Nous avons déjà tous reçu dans notre messagerie, un courriel nous incitant à donner des informations sur notre carte bancaire par exemple. Le social engineering repose sur la tromperie et la ruse.
Nous allons voir comment il est possible d’automatiser ce genre d’attaques et comment rendre celles-ci quasiment invisibles et furtives.
L’espace collaborateur
Imaginons que je veuille capturer des identifiants sur d’un portail d’authentification. Je vais par exemple prendre celui de l’extranet d’un site web..
Je vais faire un clone de cette page, et l’héberger sur un serveur. Dès qu’un utilisateur se connectera à cette interface, je pourrais récupérer ses identifiants.
Afin de piéger les utilisateurs, je pourrais leur envoyer un courriel avec le lien vers ma fausse page d’identification. Néanmoins cette technique a l’inconvénient que chaque utilisateur doit cliquer sur le lien ce qui pourrait lui paraître suspect. Afin d’éviter d’avoir à envoyer un lien, je vais utiliser une technique qui va me permettre de rediriger un utilisateur de manière automatique vers ma fausse page.
Principe de l’attaque
Je vais créer une fausse interface d’authentification et je souhaite rediriger les utilisateurs vers cette fausse page. Pour cela, je vais utiliser 2 attaques réseaux : le DNS spoofing ainsi que le Man In The Middle.
Le DNS spoofing
Le DNS [2]pour Domain Name System est un protocole qui permet d’établir une correspondance entre une adresse IP et un nom de domaine. Par exemple pour accéder au site google, je peux taper http://www.google.fr ou encore http://209.85.227.104/.
Une bonne introduction au protocole DNS est disponible ici.
Le DNS spoofing consiste à rediriger les utilisateurs sur le réseau vers de fausses adresses. En interceptant les requêtes d’un utilisateur, nous allons pouvoir rediriger celui-ci où nous le désirons.
Voici un schéma de la technique du DNS Spoofing :
Le client (customer) tente d’accéder au site www.mybank.com ; Le pirate intercepte sa demande et le renvoie vers le site de son choix (Fake site).
Néanmoins pour être en mesure de rediriger un utilisateur vers le site de notre choix, nous allons devoir être en mesure d’intercepter les communications émanant du client. Pour y parvenir, nous allons utiliser une technique qui s’appelle le Man In The Middle (MITM).
Le Man In The Middle
La technique du Man In The Middle consiste à intercepter les communications entre 2 stations, sans que ni l’une ni l’autre des stations ne s’en aperçoive.
Cette attaque fait intervenir trois protagonistes : le client, le serveur et l’attaquant. Le but de l’attaquant est de se faire passer pour le client auprès du serveur et se faire passer pour le serveur auprès du client. Il devient ainsi l’homme du milieu. Cela permet de surveiller tout le trafic réseau entre le client et le serveur, et de le modifier à sa guise pour l’obtention d’informations (mots de passe, accès système, etc.).[4]
Voici un schéma de cette attaque :
Bien que facile à mettre en oeuvre, cette technique n’en reste pas moins très puissante comme nous allons pouvoir le voir.
Cette attaque repose sur une vulnérabilité du protocole ARP qui gère la correspondance entre une adresse IP et une adresse MAC.
Plus d’informations sont disponibles à cette adresse.
L’architecture réseau utilisée
Pour mettre en pratique cette attaque, nous allons utiliser 3 machines.
Liste des adresses IP qui vont être utilisées :
- Machine du pirate (faux serveur web) : 192.168.126.140
- Adresse de la passerelle : 192.168.126.2
- Adresse de la machine de la victime : 192.168.126.141
Récapitulatif des actions que nous allons effectuer :
- Créer un faux site de l’entreprise visée (http://<site>/collab/index.php)
- Effectuer une attaque MITM afin d’intercepter les requêtes de la machine cible vers la passerelle
- Mettre en place une redirection vers notre faux site web chaque fois que l’utilisateur de notre machine cible demandera le site celad.com
La mise en place de l’attaque
La création du faux site web
Pour créer un faux site Celad, nous allons utiliser le logiciel Social Engineering Toolkit [5]disponible sur la distribution Backtrack[6]. Cet outil est une plateforme d’automatisation pour les attaques par Social Engineering. Les campagnes offensives, en résultant, peuvent ici prendre la forme d’envois massifs d’emails ou la mise en place de sites Web malicieux.
Nous lançons l’outil et nous utilisons l’option « Website attack Vectors ».
Puis nous utilisons l’option 3 « Credential Harvester exploit Method » (cette méthode consiste à créer une fausse interface d’authentification afin de capturer les informations saisies).
J’indique ensuite l’adresse de la page que je souhaite cloner (dans notre cas http://<site>/collab/index.php)
Mon faux serveur est prêt et en attente de connexion.
Si on ouvre notre navigateur à la page http://192.168.126.140, on arrive directement sur notre fausse interface d’authentification.
Maintenant que notre faux site est prêt, mettons en place l’attaque Man In The Middle afin d’intercepter les communications entre notre machine cible et la passerelle.
Mise en place de la redirection
Pour effectuer notre attaque, nous allons utiliser l’outil Ettercap. Ettercap est un outil permettant de mettre en place des attaques MIM sur un réseau local. Ettercap permet aussi de lancer des attaques de type DNS Spoofing. Nous allons commencer configurer Ettercap pour qu’il redirige le site Celad.com vers notre faux site. Pour cela, on ouvre le fichier de configuration d’Ettercap (/usr/share/ettercap/etter.dns)
Chaque fois que l’utilisateur demandera le site celad.com, il sera redirigé vers le 192.168.126.140 (notre faux serveur web).
Mise en place du MITM
Maintenant qu’Ettercap est configuré, on le lance, et on le configure pour qu’il effectue une attaque de Man In The Middle entre notre station cible (192.168.126.141) et la passerelle (192.168.126.2).
Pour mettre en place, une attaque de type MITM avec Ettercap, un tutorial pas à pas est disponible ici.
Notre attaque MITM est mise en place.
Nous vérifions que l’attaque fonctionne bien grâce au plugin d’Ettercap <chk_poison>.
Activer la redirection
Pour activer la redirection (la technique du DNS spoofing), il suffit d’activer le plugin Ettercap correpondant : <dns_sppof>
Ça y est, notre attaque est en place, il nous reste à la tester.
Le test
Nous allons tenter d’accéder au site de Celad avec notre ordinateur cible (192.168.126.141). On ouvre le navigateur notre machine cible et on tape l’adresse celad.com et on arrive directement sur notre faux serveur.
L’utilisateur a bien été redirigé vers notre faux site Celad. D’ailleurs Ettercap a bien effectué la redirection.
Si on effectue un ping sur le site cible depuis notre machine cible, on s’aperçoit qu’elle est bien redirigée vers notre faux serveur web.
Une fois l’utilisateur connecté sur notre fausse page, nous voyons apparaître ses identifiants sur notre console.
L’attaque a été parfaitement transparente et invisible pour l’utilisateur.
Autres scénarios possibles
Il est possible de faire beaucoup plus dangereux, quelques exemples de scénarios possibles :
- Mettre un faux site web qui demande d’accepter l’installation d’un faux applet java et qui en fait s’avère être un malware
- Mettre un faux site web qui infecte chaque visiteur avec par exemple un pack d’exploits [7] tels que Mpack, NeoSploit ou autre. Un pack d’exploit est un pack de logiciels qui exploitent les vulnérabilités d’un ordinateur afin de l’infecter.
[1] http://www.celad.com
[2] http://fr.wikipedia.org/wiki/Domain_Name_System
[3] http://www.technicaljones.com/DNS%20SPOOF_July%202010.jpg
[4] http://www.linux-france.org/prj/inetdoc/securite/tutoriel/tutoriel.securite.attaquesreseau.mitm.html
[5] http://www.social-engineer.org/framework/Computer_Based_Social_Engineering_Tools:_Social_Engineer_Toolkit_%28SET%29
[6] http://www.backtrack-linux.org/
[7] http://www.viruslist.com/fr/viruses/analysis?pubid=200676241
Views: 286