Académique Documents
Professionnel Documents
Culture Documents
Fa0/1
Fa0/3
Fa0/2
Le serveur DHCP sera simulé par une borne Linksys. Pensez à réinitialiser la borne en maintenant le
bouton reset à la mise sous tension pendant quelques secondes (le bouton doit être déjà pressé
AVANT de brancher l'alim).
Les connections au switch se font par la première interface des machines physiques.
Commencer par installer la bibliothèque scapy sur PC Hacker si ce n'a pas été fait à la séance
précédente.
#sudo apt-get install scapy
1. Fonctionnement du DHCP
A l'aide de Wireshark, capturez les paquets émis et reçus par PC Client.
Si votre machine Client a déjà une IP fournie par le DHCP, relâchez le bail avec la commande :
sudo dhclient -r moninterface
Sur Wireshark, observez la capture. Notez ici les échanges entre client et serveur :
- STP
- DHCP
- ICMP
- DNS
Combien d'échanges ?
4 échanges
Un serveur DHCP n’ayant aucune possibilité de vérifier la légitimité des messages de type
DHCPDISCOVER, il est contraint d’accepter toutes les demandes. Un utilisateur mal intentionné
pourrait donc simuler des demandes d’attributions d’adresse IP à partir d’une seule machine en
modifiant uniquement l’adresse MAC. Ainsi, un utilisateur qui souhaiterait par exemple se connecter
à une borne wifi dans un restaurant ou un aéroport, n’obtiendrait aucune adresse IP et ne pourrait
donc pas bénéficier des services apportés par cette borne (accès Internet, menu,
promotions,…).
Côté client, l’utilisateur serait alors tenté de se connecter à une autre borne wifi qui semblerait avoir
le même SSID. L’utilisateur mal intentionné pourrait alors récupérer des données concernant
l’utilisateur piégé, une fois la connexion établie.
Le service DHCP écoutant sur le port 67, il est possible d’observer les échanges entre le client et le
serveur avec la commande :
Voici le script Scapy dhcp_dos.py qui va être utilisé pour la création des demandes d’attribution
d’adresses IP :
Conclusion ?
Nous avons désactivé le vrai DHCP, le bail est trop long car nous avons envoyés beaucoup de
trames.
Exemple de configuration :
# Sample /etc/dhcpd.conf
# (add your comments here)
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.254;
option domain-name-servers 192.168.1.1, 192.168.1.2;
option domain-name "ubuntu-fr.lan";
option ntp-servers 192.168.1.254;
Modifiez cet exemple pour affecter une adresse de votre choix différente du réseau 192.168.1.0/24
Utilisez le script de la partie 1 pour désactiver le DHCP du réseau et utilisez les instructions
précédentes pour prendre la place du DHCP avec le PC Hacker.
En conclusion, en ayant mis en place un faux serveur DHCP sur notre réseau et en exploitant
une attaque de type Man-in-the-Middle, nous avons réussi à contrôler la passerelle (gateway) et à
écouter le trafic réseau. Cette configuration nous permet d'intercepter et de manipuler les
communications entre les clients légitimes et les serveurs, ouvrant ainsi la porte à diverses formes
d'espionnage, de collecte de données sensibles et éventuellement d'attaques plus avancées.
Par exemple, les interfaces qui se connectent aux clients ne doivent jamais être autorisées à envoyer
un message du type « DHCP offer ».
On peut donc les taguer comme étant « non-fiables » (untrusted), ce qui aura pour effet de bloquer
ce type de message.
Seule une interface configurer avec un | tags «fiable » (trusted) sera autorisée à transférer les
messages « DHCP offer ».
Il est même possible de limiter le débit de ses interfaces, pour que l’attaquant n’envoie pas un
nombre illimité de messages « DHCP Discover », dans le but d'épuiser le pool DHCP.
Avec ce type de procédé, lorsqu'un commutateur Cisco reçoit un « DHCP Discover », il le transmettra
uniquement sur les interfaces autorisées. Ce qui empêche donc, les faux DHCP, de recevoir ce type
de demande en premier.
L'interface FastEthernet 0/2 est connectée au client qui souhaite obtenir une adresse IP du serveur
DHCP connecté lui, sur l'interface 0/3.
Pour commencer il faut d’abord activer en globalité, la surveillance du DHCP, avec la | commande «
ip dhcp snooping »
FOUKA Anisse 20/03/2024
BERRADA Mehdi Cyber2A
Alors par défaut, le commutateur ajoute « l'option 82 » au « DHCP Discover » avant de le transmettre
au serveur DHCP.
C’est pourquoi, si le client n'obtient plus d'adresse IP, après avoir activé globalement le « DHCP
Snooping », et bien il faut utiliser | la commande « no ip dhcp snooping information option » :
Pour continuer, on va sélectionner les vlan’s pour lesquels on souhaite utiliser la surveillance du
DHCP, avec la | commande « ip dhcp snooping » + le numéro du vlan. Dans l’exemple il s’agit du
VLAN 1.
Une fois que la surveillance est activée, toutes les interfaces par défaut ne sont plus fiables, et ne
laisse donc plus passer les messages de type DHCP. C’est pourquoi il faut ouvrir les interfaces qui
mènent vers le vrai DHCP.
Dans l’exemple, on va donc se connecter sur l’interface 0/3 et lui fait faire un « ip dhcp snooping
trust »
L’interface 0/3, qui mène droit au serveur DHCP, sera donc vue, comme une interface fiable pour
laisser passer les messages DHCP.
Il est possible aussi de limiter le nombre de paquets DHCP, que l'interface pourra recevoir.
La commande « show ip dhcp snooping binding » permet d’assurer le suivi de la liaison des mac-
adresse avec les IP’s.
Configurez le switch avec le DHCP Snooping, relancez le serveur DHCP Linksys ainsi que celui du PC
Hacker et retentez l'attaque.
FOUKA Anisse 20/03/2024
BERRADA Mehdi Cyber2A
Conclusion ?
En conclusion, le DHCP Snooping s'avère être une mesure de sécurité indispensable pour
contrer les attaques DHCP malveillantes en surveillant et filtrant le trafic DHCP. En contrôlant le
cheminement des messages DHCP à travers les interfaces marquées comme fiables ou non-fiables, il
assure l'intégrité des communications sur le réseau. En limitant également le débit des paquets DHCP
et en effectuant une surveillance régulière de la configuration, les administrateurs peuvent maintenir
un niveau élevé de sécurité.