D’après le sujet (chapitre IV ) :
a) Une VM Linux b) Kernel > 3.14 c) Testé sur Debian (idéalement)
-
2 machines virtuelles sur le même réseau
- VM1 : attaquant (ft_malcolm)
- VM2 : cible
-
Réseau : Bridge ou Host-only
- ❌ NAT seul (souvent pas de broadcast ARP visible)
ip aExemple :
eth0: 10.12.10.22
MAC : 10:dd:b1:aa:bb:cc
Puis :
arp -n➡️ Note l’IP qui sera spoofée (source IP)
ip aExemple :
eth0: 10.12.255.255
MAC : ff:bb:ff:ff:ee:ff
Sujet – chapitre V :
./ft_malcolm source_ip source_mac target_ip target_mac
sudo ./ft_malcolm \
10.12.255.255 ff:bb:ff:ff:ee:ff \
10.12.10.22 10:dd:b1:aa:bb:ccTu dois voir :
Found available interface: eth0
Waiting for ARP request...
👉 À ce stade rien n’est encore envoyé (important à dire en défense).
Sur la VM cible :
ping 10.12.255.255Pourquoi ? Parce que :
- la cible ne connaît pas la MAC associée
- elle envoie une ARP Request en broadcast
Sur l’attaquant :
ARP request detected. Sending spoofed reply...
Sent ARP reply. Exiting.
➡️ Le programme :
- a détecté la bonne requête
- a envoyé UNE réponse
- s’est terminé proprement
Sur la cible :
arp -nRésultat attendu :
10.12.255.255 ether ff:bb:ff:ff:ee:ff C eth0
🎯 Objectif du projet atteint :
- l’IP spoofée est associée à la fausse MAC
- sans MITM permanent
- sans flood
- sans daemon
Le correcteur va essayer ça.
./ft_malcolm 10.11.11.1111 aa:bb:cc:dd:ee:ff ...Sortie attendue :
ft_malcolm: unknown host or invalid IP address
./ft_malcolm ... aaa:bb:cc:dd:ee:ffSortie attendue :
ft_malcolm: invalid mac address
Pendant l’écoute :
Ctrl + C
Pour vérifier que l'attaque à fonctionner :
ip neigh flush all (cible)
./ft_malcolm (attaquant)
ping (cible)
ip neigh (cible)