Don't Learn to Hack but Hack to Learn ***** Apprendre l'attaque pour mieux se défendre

dimanche 5 août 2012

0x003

1- ARP spoofing

Usurpation d’identité au niveau MAC 

ARP (Address Resolution Protocol)
ARP est un protocole effectuant la traduction d'une adresse IP en une adresse MAC (adresse physique).


Cache ARP
Le Cache ARP est un ensemble de couples adresse IP-adresse MAC contenu dans la mémoire d'un ordinateur qui utilise le protocole ARP (ce qui est le cas de tous les ordinateurs qui sont connectés à un réseau informatique).


ARP Cache Poisoning
L’empoisonnement du cache ARP (ARP cache poisoning) est une technique qui permet de rediriger tous les flux entre deux machines communiquant sur un réseau local, quelque soit le protocole encapsulé par Ethernet.

Fonctionnement du protocole ARP
Les machines qui implémentent la couche TCP/IP utilisent leurs adresses IP pour communiquer. Sur un réseau Ethernet, un adressage physique s’ajoute à cet adressage logique : c’est le rôle de la sous-couche MAC, qui permet d’identifier les machines grâce à l’adresse MAC de leur carte réseau.

Le protocole ARP permet justement d’établir dynamiquement une correspondance entre les deux types d’adresses, c’est à dire de trouver l’adresse MAC associée à une adresse IP. Lorsque une machine tente d’établir une communication, elle doit d’abord récupérer l’adresse MAC du destinataire. Une requête ARP (arp-request) est alors envoyée en broadcast (diffusion) sur le réseau local, toutes les machines reçoivent ce paquet, mais seul le destinataire répond, puisqu'il a identifié sa propre adresse IP dans l’entête ARP, Il forge alors une réponse ARP (arp-reply) adressée à l’émetteur qui, connaissant à présent l’adresse physique de son
interlocuteur, peut entamer une discussion avec lui.

- Pour afficher le contenu du cache arp d’une machine : arp -a
- Pour supprimer le contenu du cache arp d’une machine : arp -d *

La vulnérabilité de ce protocole
Dans le monde de la sécurité informatique, il existe differentes types de failles permis eux les vulnérabilités dues a la conception d’un système/protocole , c’est le cas par exemple du protocole ARP.
De ce que nous pouvons savoir que le protocole ARP ne nécessite pas d'authentification, et pour limiter l’utilisation du réseau la plupart des systèmes mettent a jour leur cache ARP a chaque fois qu’ils reçoivent une réponse, même s’ils ne l’on pas demandé : ce qui veut dire qu’un pirate peut envoyer un message ARP a l’ordinateur A disant « l’ordinateur C a mon Adresse MAC » recevra ensuite tous les messages qui devraient normalement être délivrés a cet ordinateur C.

Par exemple il ya trois ordinateurs hôtes sur un réseau local (GW represent le passerelle par défaut ici), les noms d'hôte, les adresses IP et les adresses MAC sont les suivantes ( Les adresses MAC sont simplifiés pour une meilleure lisibilité):

HostName    IP                        MAC MAC ip
GW             192.168.0.1         01-01-01-01-01-01    
PC02          192.168.0.2         02-02-02-02-02-02    
PC03          192.168.0.3         03-03-03-03-03-03    

Dans des conditions normales le flux est représenté comme il montre l'illustration ci-dessous:

Maintenant l'ordinateur PC03 de l'attaquant décide de mener une attaque par usurpation ARP.
Tout d'abord, un paquet APR est envoyé à PC02 par PC03 disant: " l'adresse ip 192.168.0.1 corespand  à l'adresse  MAC 03-03-03-03-03-03 ".
PC03 envoie aussi un paquet ARP à  GW, en disant: " l'adresse ip 192.168.0.2 corespand  à l'adresse  MAC 03-03-03-03-03-03 ".
Ainsi, le flux de données à partir de l'ordinateur PC02 et la GW(gatway) est représenté comme il montre l'illustration ci-dessous:


Maintenant toutes les communications de l’utilisateur de l'ordinateur PC02 vers la GW (ou inversement) seront routées vers PC03 (le pirate) qui pourra par exemple récupérer les login/mot de passe.

Comme je viens de le dire, il n’y a aucun système d’authentification. ARP est basé sur la confiance, il considère tous les messages reçus comme authentiques, qu’il provienne de la machine légitime ou pas et il n’intègre aucun moyen de vérification. Je pense que les concepteurs de ces protocoles ont sûrement  simplifié les communications pour que les réseaux fonctionnent de manière optimale mais il n'ont pas prend en considération les impacts de sécurité.

Cette vulnérabilité permet à un pirate plusieurs vecteurs d’attaques comme:
Denial of Service, Man in the Middle et MAC Flooding, etc.

- Denial of Service:
Comme nous l’avons vu précédemment, un pirate peut facilement associer une adresse IP a une fausse adresse MAC. Par exemple, un pirate peut envoyer une réponse ARP associant l’adresse de vôtre routeur avec une adresse MAC qui n’existe pas. Votre ordinateur pense donc connaître réellement la passerelle par défaut, mais en fait ils envoient leurs paquets a une destination qui n’existe pas. Le pirate vous a isolé du réseau.

- L’homme du milieu (Man in the Middle):
L’attaque MiM (man in the Middle) est une redirection complète d’une connexion entre deux machines. Chacun des deux interlocuteurs croit dialoguer directement avec l’autre, mais en réalité il adresse ses trames à une troisième machine qui joue le rôle d’un routeur et renvoie les paquets vers le véritable destinataire.
- etc.

ARP spoofing tools
- Arpspoof (linux) :
redirige les paquets à partir d'un hôte cible destinée à un autre hôte sur le LAN (Réseau local) par forgeage réponses ARP, il est le moyen efficace de sniffer le trafic sur un commutateur:
arpspoof [- i interface] [-t target] host
voir video

- Ettercap (Linux, windows) voir video
- Cain an abel (windows) voir video
- etc.

pour plus de détail  voir:  http://www.oxid.it/downloads/apr-intro.swf


2- DNS spoofing

DNS Poisoning techniques
Empoisonnement du DNS est le technique pour tromper un serveur DNS en lui faisant croire qu'il a reçu des vrai informations, mais en réalité non.

Type de DNS Poisoning
Intranet DNS Spoofing (dans un réseau local): 
Pour cette technique, vous devez être connecté au réseau local (LAN) et être capable de sniffer les paquets, et capable de faire l'empoisonnement ARP du routeur.

1 - Le pirate lance arpspoof/dnsspoof pour lancer le DNS Poisoning (voir le shapitre: ARP Spofong) et transferer tout le trafic à sa machine ou son serveur (faux site).
2 - La victime envoi la requette DNS demande l'@ip du site qu'il veut visiter(vrai site: 44.1.2.3 par exemple).
3 - la victime reçio une repense DNS, le vrai site que vous voullez visiter son @ip est 10.1.2.3 par exemple (le faux site web).
4 - Le navigateur de la victime se connecte au faux site web (la machine de pirate ou son serveur).
5 - Le faux site de pirate sniffe les informations d'identification et redirige la demande sur le site réel.

Internet DNS Spoofing : un peu dificile à réaliser.
Le pirate envoie un cheval de Troie sur la machine victime et change son adresse IP de DNS

1- Le pirate infecte la machine victime  en changeant son adresse IP DNS en 200.0.0.2 par exemple (DNS de pirate).
2- La demande DNS de victime va à 200.0.0.2 (il va au DNS de pirate plutôt que d'aller au DNS reel de la victime) disant quel est l'adresse ip de "vraisite.com" par exemple.(sachant que La vraie adresse de "vraisite.com" est par exemple 88.10.11.12).
3- Le DNS de pirate il va lui donner une fausse adresse ip (41.1.2.3) disasant: le "vraisite.com" est situé à l'adresse 41.1.2.3 plutôt que de lui donner l'adresse réel de "vraisite.com ( 88.10.11.12).
4- Le navigateur de la victime se connecter doc au faux site web.
5- Le faux site de pirate sniffe les informations d'identification et redirige la demande sur le site réel.

Pour rediriger tout les requête DNS vers le serveur DNS de pirate:


1 -Mettre en place un faux site Web sur votre ordinateur ou votre serveur.
2 -Installer treewalk et modifier le fichier mentionné dans le fichier readme.txt à votre adresse IP, treewalk vous fera le serveur DNS.
3 -Modifier le fichier de dns-spoofing.bat et remplacer l'adresse IP par votre adresse IP.
4 -Trojanize le fichier dns-spoofing.bat et l'envoyer à la victime
5 -Lorsque l'hôte clique sur le fichier des chevaux de Troie, il remplacera l'entrée DNS de la victime dans ses propriétés TCP / IP avec celle de le votre (DNS de pirate).
6 -Vous devenir le serveur DNS pour la victime et ses requêtes DNS passera par vous.
7 -Lorsque la victime se connecte à "vraisite.com", elle se redirige vers le "fauxsite.com", vous pouvez donc sniffer son mot de passe et la rediriger la victime vers le site réel ("vraisite.com").

Serveur proxy DNS Poisoning:
c'est la meme principe avec internet DNS Spoofing sauf que le pirate envoie un cheval de Troie sur la machine victime et change  son paramètres du serveur proxy dans son navigateur (Internet Explorer, FIrefox, etc) par l'adresse IP de l'attaquant.




DNS Cache Poisoning
Pour effectuer une attaque par empoisonnement de cache, le pirate exploite une faille dans le  serveur DNS qui peut faire accepter des informations incorrectes. le serveur ne valide pas correctement les réponses DNS afin de s'assurer qu'ils sont venus d'une source autorisée, le serveur finira par la mise en cache les entrées incorrectes localement et de les servir aux utilisateurs qui font la même demande. 
* Par exemple, un attaquant poisons l'entrée d’adresse IP DNS  pour un site cible sur un serveur DNS donné, en les remplaçant par l'adresse ip d'un serveur qu'il contrôle 
* Il crée ensuite des faux  entrées pour les fichiers sur le serveur DNS qu'il contrôle avec des noms correspondant à

Cette technique nécéssite l'attaque L'homme du milieu (Man in the Middle) et ARP spoofing.

Voir cette vidéo: DNS Cache Poisoning
Voir cette vidéo: Dns spoofing

Outils
Dnsspoof: 
dnsspoof [-i interface] [-f fichier hostsfile] [expression]

Aucun commentaire:

Enregistrer un commentaire