Attaques/Reseau/IP-spoofing
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 :
- Accéder au panneau de contrôle de l'interface réseau (Démarrer > Paramètres > Configuration réseau)
- A partir du menu contextuel (clic droit sur l'interface), sélectionner Propriétés
- Sur l'onglet Général, cliquer sur Propriétés TCP/IP puis sur Modifier
- 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.