diff --git a/Makefile b/Makefile index f28f1d636070c2e04e7abaf389e035648a839f45..47f89ab11551ead047866c63352d6fcb8c22a348 100644 --- a/Makefile +++ b/Makefile @@ -22,17 +22,18 @@ debug: $(TEX) $(TARGET): $(MD) $(METADATA) pandoc -s $^ -o $@ $(OPTIONS) $(PDFOPTIONS) - labo1_saroukhanian_iliya.pdf: content/01_labo1_macflooding.md $(METADATA) pandoc -s $^ -o $@ $(OPTIONS) $(PDFOPTIONS) labo2_saroukhanian_iliya.pdf: content/02_labo_stp.md $(METADATA) pandoc -s $^ -o $@ $(OPTIONS) $(PDFOPTIONS) - labo3_saroukhanian_iliya.pdf: content/03_vlan_hopping.md $(METADATA) pandoc -s $^ -o $@ $(OPTIONS) $(PDFOPTIONS) +labo4_saroukhanian_iliya.pdf: content/04_dhcp.md $(METADATA) + pandoc -s $^ -o $@ $(OPTIONS) $(PDFOPTIONS) + $(TEX): $(MD) pandoc -s $^ -o $@ $(OPTIONS) $(PDFOPTIONS) diff --git a/content/04_dhcp.md b/content/04_dhcp.md new file mode 100644 index 0000000000000000000000000000000000000000..f97ddbd53cfa4b738cfb25cda25737d801b1a580 --- /dev/null +++ b/content/04_dhcp.md @@ -0,0 +1,101 @@ +\newpage + +# Attaque de DHCP par déni de service + +## Partie 1 + +### Capture de paquets DHCP + +1. Lancer une sonde wireshark entre S1 et H1, installer un filtre pour +n’afficher que les paquets DHCP qui circulent sur ce lien. + +2. Sur H1, vérifier que la connectivité Internet n’est pas encore assurée avec +la commande suivante : + + ```bash + ip route get 1.1.1.1 + ``` + +3. Que veut dire exactement le message affiché suite à cette commande ? + - Message affiché : + ```bash + RTNETLINK answers: Network is unreachable + ``` + + - Ce message signifie qu'aucune passerelle n'a été mise en place / + l'inteface `eth0` est down / l'hòte n'a pas d'adresse IP + +4. Récupérer une IP depuis H1 en utilisant dhclient en mode verbeux + ```bash + sudo dhclient -v eth0 + ``` + +5. Que veulent dire les messages affichés sur la console après cette commande ? + - Output : + ```bash + Internet Systems Consortium DHCP Client 4.4.1 + Copyright 2004-2018 Internet Systems Consortium. + All rights reserved. + For info, please visit https://www.isc.org/software/dhcp/ + + Listening on LPF/eth0/0c:fa:5a:25:00:00 + Sending on LPF/eth0/0c:fa:5a:25:00:00 + Sending on Socket/fallback + DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 5 + [ 496.932665] e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX + [ 496.933404] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready + DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 12 + DHCPOFFER of 10.9.8.13 from 10.9.8.1 + DHCPREQUEST for 10.9.8.13 on eth0 to 255.255.255.255 port 67 + DHCPACK of 10.9.8.13 from 10.9.8.1 + bound to 10.9.8.13 -- renewal in 140 seconds. + ``` + + - Messages DHCP : + - `DHCPDISCOVER` : Le client essaye de découvrir les serveurs DHCP + disponibles. + + - `DHCPOFFER` : Le serveur DHCP répond au client avec une offre d'adresse + IP au client. + + - `DHCPREQUEST` : Le client notifie le serveur DHCP de son choix. + + - `DHCPACK` : Le serveur confirme (prend en compte) le choix du client. + +6. Est-ce que la transaction DHCP a réussi ? Expliquer. + - Oui, la transaction a réussi suite au fait que le serveur a répondu au + client avec un message `DHCPACK` ce qui implique le fait que le serveur + a désormais connaissance de l'adresse IP sélectionnée par le client. + +7. Donner un moyen de vérifier que H1 a bien obtenu une connectivité vers +Internet. + - Afin de vérifier que H1 est désormais connecté à Internet, on peut + essayer de "pinger" un site (e.g. google.com) et voir s'il réussi. En + l'occurrence on arrive à "pinger" notre destination. + +  + +8. En vous aidant de wireshark, donner les informations suivantes présentes +dans la transaction DHCP : + - Durée du bail obtenu : + - 5 minutes. + + - Hostname du client : + - `debian` + + - Options demandées par le client : + -  + + - Serveur DNS indiqué par le serveur : + - 1.1.1.1 : Serveur DNS de Cloudflare + - 8.8.8.8 : Serveur DNS de Google + -  + + - Passerelle indiquée par le serveur : + - L'adresse IP de la passerelle est : 10.9.8.1 + -  + +### Attaque par épuisement du pool DHCP + +1. Installer une sonde wireshark entre S1 et DHCPGateway-1, toujours avec un +filtre dhcp. diff --git a/figs/dns_list.png b/figs/dns_list.png new file mode 100644 index 0000000000000000000000000000000000000000..fe0639337aa3b4f5baba3ed4c1cd025201ba33e1 Binary files /dev/null and b/figs/dns_list.png differ diff --git a/figs/h1_connected_internet.png b/figs/h1_connected_internet.png new file mode 100644 index 0000000000000000000000000000000000000000..a6f79aae0e6e7d805e1bc4bfe5dffcc6171bb0b2 Binary files /dev/null and b/figs/h1_connected_internet.png differ diff --git a/figs/h1_request_item.png b/figs/h1_request_item.png new file mode 100644 index 0000000000000000000000000000000000000000..b030ff46c407cf2b6416585afca53d99f0c058a1 Binary files /dev/null and b/figs/h1_request_item.png differ diff --git a/figs/router_ip.png b/figs/router_ip.png new file mode 100644 index 0000000000000000000000000000000000000000..13ff86336412813be59018d1e950c0943ffcd14b Binary files /dev/null and b/figs/router_ip.png differ