Comment changer l’adresse réseau physique (MAC ADDRESS/Hardware Address) d’un Raspberry Pi (spoofing MAC address)?

Principe

Dans certains réseaux d’entreprise, la sécurité est en partie assurée par la limitation de l’accès au réseau à certaines adresses physique (MAC Address). A chaque achat d’un nouveau matériel, le réseau est configuré pour autoriser l’adresse physique de ce matériel. Si un pirate utilise son propre matériel pour se connecter à une prise ethernet, il ne pourra pas accéder au réseau…

C’est une bonne mesure de sécurité – mais elle pose un problème lorsqu’un matériel tombe en panne – il faut reconfigurer le réseau avec la nouvelle adresse physique (ce qui peut être compliqué et nécessite un certain délai d’exécution – reconfiguration de routeurs, commutateur, etc…). Si le matériel est un Raspberry Pi, il est possible de changer son adresse physique (ou plutôt de configurer le système Linux pour qu’il prétende avoir l’ancienne adresse physique).

Comment connaitre l’adresse physique du RPi?

Pour connaitre l’adresse physique du RPi, démarrer un terminal et taper la commande « ifconfig eth0 »:

$ ifconfig eth0
eth0      Link encap:Ethernet  HWaddr b8:27:eb:ab:5e:ba
          inet adr:192.168.1.205  Bcast:192.168.7.255  Masque:255.255.255.0
          adr inet6: fe80::6755:40cc:996a:dfb9/64 Scope:Lien
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3562 errors:0 dropped:346 overruns:0 frame:0
          TX packets:1130 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000
          RX bytes:2379792 (2.2 MiB)  TX bytes:141597 (138.2 KiB)

L’adresse physique est affichée en hexadécimal après le libellé HWaddr (HardWare address), soit « b8:27:eb:ab:5e:ba » dans l’exemple ci-dessus.

Configuration

Pour changer l’adresse physique du RPi, il faut ajouter « smsc95xx.macaddr=NOUVELLE_ADRESSE » à la fin de la ligne dans le fichier /boot/cmdline.txt :

sudo nano /boot/cmdline.txt
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p7 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait smsc95xx.macaddr=00:14:d1:26:8b:3a
[Ctrl-X][o][ENTREE]

(l’exemple ci-dessus provient de la ligne de commande sur un Raspberry Pi modèle 3)

Ensuite il faut redémarrer votre RPi:

sudo shutdown -r now

Vérification

Après redémarrage, lancer à nouveau un terminal et exécutez la commande ifconfig eth0 pour vérifier que l’adresse MAC a bien été changée:

$ ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:14:d1:26:8b:3a
          inet adr:192.168.1.235  Bcast:192.168.7.255  Masque:255.255.255.0
          adr inet6: fe80::6755:40cc:996a:dfb9/64 Scope:Lien
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3562 errors:0 dropped:346 overruns:0 frame:0
          TX packets:1130 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000
          RX bytes:2379792 (2.2 MiB)  TX bytes:141597 (138.2 KiB)

A noter que l’adresse IP a également été changée – si vous utiliser un serveur DHCP, ce dernier a considéré que le RPi est l’ancien matériel et lui a attribué son adresse IP (en général les serveurs DHCP tentent de redonner la même adresse IP à chaque redémarrage – ils se basent sur l’adresse physique pour « reconnaitre » un PC).

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *