Il faut également noter que si le flooding d’un commutateur permet effectivement de saturer sa table CAM et de récupérer ensuite des informations en profitant du comportement déviant créé (bascule en mode hub pour les adresses non connues), l’utilisation d’adresses MAC virtuelles est également nécessaire pour réaliser une attaque de type épuisement de pool DHCP. Attaque simplement réalisable au travers d’outils librement accessible comme Yersinia ou encore netwag.
Or, ces différents outils synchronisent les entêtes de niveau 2 avec le niveau applicatif. Pour être clair, il garde l’adresse MAC virtuelle dans l’entête réseau comme dans le niveau applicatif. Dans ces conditions, le port-security est assez efficace et la plupart des paquets sont supprimés.
passons à l'action
Néanmoins, il est assez facile de contourner cette sécurité en développant un petit script avec du perl ou du python pour gérer différemment les entêtes. Il sera ainsi possible d’avoir des paquets avec un entête de niveau 2 gardant l’adresse MAC de la carte ethernet et une adresse MAC virtuelle au niveau applicatif.
La mise en œuvre est réalisée dans le script suivant : bypassportsecurity.pl
La preuve en image :
La vidéo ne s'affiche pas ? Visionnez-la ici (ou même sur YouTube)
Les adresses MAC sont rentrées de façon figée dans la configuration du commutateur ? Impossible de connecter un PC inconnu ? Prenez le téléphone IP et regardez au dos, son adresse MAC doit être inscrite. Il ne reste plus qu’à faire une peu d’address spoofing sur votre machine.
un complément
Alors quelle solution ? Activez le DHCP Snooping. Celui-ci inspecte en effet la cohérence entre le niveau 2 et le niveau applicatif. Cela ne permettra pas de bloquer toutes attaques, mais au moins le service DHCP sera protégé.
Cedric