VLAN hopping : comment un port atteint tous les VLAN

4 094. C'est le nombre de VLAN qu'un trunk Cisco autorise par défaut. Et sur plusieurs familles de commutateurs, un port d'accès ordinaire acceptera de devenir un trunk si l'équipement qui y est branché le demande.

Le format court, en anglais, sous-titres incrustés. Le voir sur YouTube

Un câble, et la cloison entre vos VLAN disparaît. Pas de mot de passe, pas d'exploit, juste des valeurs par défaut laissées en place.

La technique

La technique prend deux formes. Le switch spoofing : l'équipement de l'attaquant négocie un trunk avec le commutateur, via DTP chez Cisco, ou son équivalent chez Huawei, LNP. Les ports des Catalyst 9000 sont par défaut en dynamic auto, ceux des Catalyst 6500 en dynamic desirable, et plusieurs gammes Huawei négocient aussi par défaut.

Le double tagging : une trame porte deux étiquettes VLAN, le commutateur retire l'étiquette externe sur le VLAN natif, et transmet la trame dans un VLAN dont l'attaquant n'a jamais fait partie.

À quel point est-ce facile ?

Un port sur le LAN suffit : une salle de réunion, le port d'une imprimante, un bureau. Aucun compte. Le commutateur fait le reste, parce que ses valeurs par défaut le permettent.

Le principe de fonctionnement

Le trafic normal reste dans sa voie. Le port de l'attaquant se trouve dans le VLAN natif du trunk, et sa trame porte deux étiquettes.

Le commutateur retire la première, voit la seconde et envoie la trame dans le VLAN d'administration. Deux étiquettes à l'entrée, une retirée : la trame atterrit là où elle n'aurait jamais dû se trouver.

L'impact

Chaque VLAN du trunk est à portée, y compris celui d'administration. Un port invité ou utilisateur peut atteindre vos serveurs.

Et la segmentation sur laquelle vous vous appuyiez pour un audit ne tient plus.

Comment fermer la porte

Passez chaque port utilisateur en mode access, et chez Cisco, bloquez la négociation avec switchport nonegotiate. Chez Huawei, désactivez LNP et définissez explicitement les types de lien.

Sortez le VLAN natif du VLAN 1, vers un VLAN que personne n'utilise, et étiquetez-le sur les trunks lorsque la plateforme le permet, comme c'est le cas chez Cisco et Aruba. N'autorisez sur chaque trunk que les VLAN dont il a besoin.

Les trunks Juniper rejettent déjà par défaut les trames non étiquetées.

Ce que NacTrack montre

NacTrack recherche, dans les configurations des commutateurs Cisco, les ports qui peuvent encore négocier un trunk et les trunks laissés sur le VLAN natif 1.

Sources

Sources : guides Cisco Catalyst 9000 et 9300, guides Huawei LNP et VLAN, Aruba AOS-CX 10.14, Juniper EX, NSA NISG, ANSSI.

Formation défensive : l'attaque est montrée dans son principe seulement, sans étape d'exploitation, outil ni charge utile. Les sorties de commande et les configurations sont des exemples ; vérifiez votre plateforme et votre version dans la documentation du constructeur.

Savoir où votre réseau est exposé

NacTrack relève les versions et les configurations sur vos équipements, et les confronte aux avis publiés.