Attaques/Reseau/IP-spoofing

From aldeid
Jump to navigation Jump to search

IP spoofing

Définition

L'IP spoofing consiste à usurper une adresse IP afin de masquer son adresse IP initiale. Cette méthode est utilisée par les pirates dans le but :

  • de masquer leur adresse IP dans les fichiers logs de la cible
  • de passer à travers les mécanismes de filtrage (firewall, authentification) qui ne s'appuieraient que sur l'IP source comme critère de filtrage.

L'IP spoofing se complexifie dès lors que le pirate souhaite établir une connexion. En effet, dans les étapes du 3-way-handshake (SYN - SYN/ACK - ACK), la cible enverra le SYN/ACK à l'hôte possédant l'adresse IP usurpée, comme le montre le schéma qui suit :

Néanmoins, l'attaquant pourra sniffer le trafic, à condition d'être sur le même réseau que la cible.

Techniques et outils

Modifier l'adresse IP

Sur de nombreux réseaux, le protocole DHCP assure l'attribution dynamique des adresses IP des hôtes connectés au réseau. Il est cependant aisé de modifier manuellement son adresse IP.

  • Sous Linux :
# ifconfig eth0 192.168.1.43
  • Sous Windows :
  1. Accéder au panneau de contrôle de l'interface réseau (Démarrer > Paramètres > Configuration réseau)
  2. A partir du menu contextuel (clic droit sur l'interface), sélectionner Propriétés
  3. Sur l'onglet Général, cliquer sur Propriétés TCP/IP puis sur Modifier
  4. Dans la nouvelle fenêtre, modifier l'adresse IP

Forger des paquets

De nombreux outils (Scapy, hping, Nemesis, etc.) permettent de forger manuellement des paquets. Il est ainsi possible d'intervenir sur tout ou partie des valeurs de ceux-ci. Ainsi, il est possible d'attribuer une adresse IP source arbitraire.

La commande suivante nous montre l'adresse IP 192.168.1.11 :

# ifconfig eth0
eth0     Link encap:Ethernet  HWaddr 00:50:56:00:c0:01  
         inet adr:192.168.1.11  Bcast:192.168.1.255  Masque:255.255.255.0
         adr inet6: fe80::280:560f:fec0:1/64 Scope:Lien
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:0 errors:0 dropped:0 overruns:0 frame:0
         TX packets:57 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 lg file transmission:1000 
         RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

Avec Scapy, nous allons envoyer un paquet de données à destination de 192.168.1.1 :

# scapy
>>> send(IP(src="192.168.1.14", dst="192.168.1.1")/('a'*10))

Les logs du 192.168.1.1 ont enregistré les traces suivantes :

Idle scan

L'idlescan est une technique qui consiste à exploiter les numéros de séquence d'une machine tierce (hôte zombie), afin de déterminer l'état d'un port sur un serveur distant, sans que l'adresse IP de l'attaquant n'apparaisse dans les fichiers logs de l'hôte scanné.

Scan decoy

Le scan decoy consiste à dissimuler son adresse IP parmi une multitude d'autres adresses IP fictives lors d'un scan de ports.

L'adresse IP de l'attaquant peut ne pas être détectée par un IDS en utilisant l'option ME (fournit la position de son adresse IP parmi la liste des fausses adresses IP) dans Nmap. Néanmoins, ceci n'est pas systématique, et pour cette raison, la technique peut ne pas être considérée comme une technique fiable d'IP spoofing.

Protections contre l'IP spoofing

  • Eviter les mécanismes d'authentification basés sur les adresses IP. Il existe d'autres systèmes plus fiables, tels que l'authentification par mot de passe par exemple.
  • Mettre en place des filtres antispoof.