Vous êtes sur la page 1sur 18

ATTAQUE DE SWITCH ETHERNET

1 –Introduction à l’attaque de switch Ethernet

Voici une documentation d’attaque pragmatique expliquant comment il est


possible d’attaquer un Switch Ethernet. Vous découvrirez qu’il est simple
d’affecter le management et intéressant d’écouter les autres ports en basculant
le commutateur en mode HUB.
L’objectif étant de faire prendre conscience aux entreprises de la vulnérabilité
d’un LAN et que la sécurité interne est primordiale pour obtenir une stabilité de
l’exploitation. Pour cela, vous découvrirez aussi dans cette documentation, la
manière de se protéger.

2 –Rappel des terminologies

2.1 –Le Switch (commutateur)

Cet équipement agît au niveau 2 du modèle OSI. Identiquement à un HUB, sa


fonction est d’interconnecter plusieurs cartes d’interfaces Ethernet ensembles.
Cependant, lorsqu’il réceptionne une trame, il compare l’adresse MAC de
destination avec sa table de correspondance. Ainsi, il ne diffuse cette trame
uniquement sur le port physique concerné.
Dans le cadre d’un Switch 100Mbps, on obtient un débit dédié de 100Mbps par
équipement Ethernet raccordé. les caractéristiques principales à vérifier lors de
la sélection d’un Switch sont :
•Le nombre d’adresses MAC maximum qui peuvent mise en mémoire
•Le nombre de paquets par seconde (PPS) que la matrice de fond de
panier peut commuter

https://astuces-top.blogspot.com
2.2 – Le protocole ARP
Le protocole ARP, signifiant Address Resolution Protocol, fonctionne en couche
Internet du modèle TCP/IP correspondant à la couche 3 du modèle Osi.
L’objectif de ARP est de permettre la résolution d’une adresse physique par
l’intermédiaire de l’adresse IP correspondante d’un host distant. Le protocole
ARP apporte un mécanisme de « translation » pour résoudre ce besoin.
Voici la composition de l’entête :

https://astuces-top.blogspot.com
Vous remarquerez qu’il existe deux principaux modes définit par le champ
« Operation » qui sont la demande (request) et la réponse (reply). Vous
trouverez tous les détails du protocole ARP dans la documentation de l’entête
ARP du site FrameIP.

2.3 – L’outil ArpFlood


L’utilitaire ArpFlood permet l’envoi massif de demandes ou de réponses ARP
permettant ainsi de facilement tester les différentes attaques de Switch.

2.4 – La norme 802.1X


Définie par l’IEEE, la norme 802.1X concerne l’authentification au niveau 2 du
modèle OSI. Cela permet la mise en place d’authentification des équipements
réseaux grâce au protocole EAP définit par le protocole EAPOL (Extensible
Authentication Protocol Over LAN).

802.1X peut se reposer sur plusieurs type de protocole d’authentification tel


que Radius, Tacacs+, voir même aucun et attaquer une base locale.
Cependant, dans la réalité du marché de l’entreprise, Radius s’impose très
fortement.

https://astuces-top.blogspot.com
3 – L’attaque
3.1 – Le contexte
La première attaque consiste à saturer la mémoire du Switch qui contient la
table d’adresses MAC. Cela peut être un Pirate, un utilisateur mal intentionné
et voir même un Virus ou SpyWare. Pour réaliser cette attaque, je positionne le
contexte suivant :

1 – La Xbox lit un film présent sur le serveur real vidéo.


2 – Le pirate envoi un flood de datagrammes avec une d’adresse MAC source
aléatoire.
3 – Le Switch insert les adresses MAC dans sa table en les associant au port
physique du port du pirate.

https://astuces-top.blogspot.com
3.2 – La réalisation

Pour réaliser cette attaque, j’utilise la commande « arpflood.exe -interface 3


-loops 0 -view 0 » qui permet l’envoi massif de requête ARP avec des adresses
MAC aléatoire comme on peut le voir dans l’analyse de trame suivante. Pour
cette attaque, j’utilise les arguments « -loops 0 » pour définir de ne pas
s’arrêter et « -view 0 » pour ne pas afficher les résultats à l’écran afin de
gagner en performance.

Voici l’analyse de trame Arpflood.

https://astuces-top.blogspot.com
3.3 – La réaction

La réaction du Switch à cette attaque est sans surprise : la table d’adresses


MAC se remplie instantanément et sature très rapidement la mémoire. En fait,
le Switch 2950 Cisco est limité à 8000 adresses MAC maximum. La commande
« show mac-address-table » permet de voir la table des correspondances MAC.
Voici le contenu à l’étape 1 :

https://astuces-top.blogspot.com
Et après l’étape 2 (après l’exécution de Arpflood), on peut remarquer qu’il ne
reste plus aucune place dans la table de correspondance :

3.4 – Les conséquences

Il y a principalement deux conséquences visibles à cette attaque qui sont la


perte de l’administration et le passage en mode HUB.

https://astuces-top.blogspot.com
3.4.1 – Perte de l’administration

Dès les premières secondes de l’exécution du flooding ARP, le Switch répond


très mal au management Telnet. L’affichage devient très lent et le temps de
réponse à une commande est long. Cependant, le process de Throughput étant
prioritaire, le Switch ne drop aucune trame à commuter, ce qui est une très
bonne réaction.
Cette première conséquence impact uniquement le management du Switch,
mais aucunement sa fonction principale « la commutation ».

3.4.2 – Passage en mode HUB


Par la suite, ne possédant plus de place pour stocker les correspondances des
adresses MAC de la XBOX et du Serveur, le Switch est obligé de basculer en
mode HUB. Ainsi, le Pirate Z peux alors écouter le flux real vidéo comme le
montre la capture suivante :

https://astuces-top.blogspot.com
En tant que pirate Z, mon PC portable reçoit donc l’ensemble du trafic échangé
entre la XBOX 192.168.101.3 et le serveur 192.168.101.4. Remarques, En fait,
le passage en mode HUB du Switch peut intervenir de deux manières
différentes :
La première est le cas où le serveur et la XBOX ne discutent pas encore
ensemble avant l’attaque. Le Switch ne connaît donc pas leurs adresses MAC.
Ainsi, lorsque ArpFlood sature la table de correspondance, le Switch ne peut
plus apprendre aucunes nouvelles adresses MAC. Dès que la XBOX et le
serveur se mettent à discuter ensemble, le Switch renverra chacune des
trames sur tous les ports du fait qu’il n’a pas placé leurs adresses MAC dans sa
table de correspondance.
La seconde manière est le cas où le serveur et la XBOX discutent ensemble
avant l’attaque. Le Switch connaît donc leurs adresses MAC, même après
l’exécution de ArpFlood. Le Switch commutera correctement le flux d’échange
entre la XBOX et le serveur sur les ports concernés. A ce moment, l’écoute ne
fonctionne pas. Il faut alors attendre 5 minutes, ce qui représente la durée de
vie d’une entrée dans la table de correspondance, pour que le Switch commute
le flux sur tous les ports. Car, au bout des 5 minutes, les correspondances MAC
et Ports de la XBOX et du Serveur sont effacées et le Switch ne peut pas les
réapprendre du fait que sa table est saturée.
Pour info, par défaut, le Switch 2950 garde 5 minutes une correspondance
d’adresse MAC/Port.

Cela peut être redéfinit grâce à la commande « mac-address-table aging-


time » commande dans l’exemple suivant où l’on positionne la durée de vie de
l’entrée à 10 secondes :

https://astuces-top.blogspot.com
3.4.3 – Saturation réseau
La conséquence suivante est que suite au passage en mode HUB, toutes les
trames vont être multipliées sur tous les ports. Ainsi, si par exemple une
sauvegarde au giga à lieu entre deux ports, le débit va se répliquer sur tous les
autres ports en les saturants. L’incidence impacte alors chaque port du
commutateur et donc les utilisateurs finaux.

De plus, un Switch possède un taux de commutation de fond de panier


maximum. Par exemple, pour le Cisco Catalyst 2950T-24, la bande passante
maximum de commutation globale est de 8,8 Gbps (8.8Gbps maximum
forwarding bandwidth). Ainsi, avec la réplication des ports et grâce au contexte
multi commutateurs exposé dans le chapitre suivant, on peut rapidement
saturer la commutation globale du Switch. Le débit global est alors supérieur
aux possibilités réelles du fond de panier.

https://astuces-top.blogspot.com
3.5 – Cas d’une entreprise
Dans le cas concret d’une entreprise, le schéma LAN habituel se divise en 3
niveaux en étoiles représentés par les commutateurs de Coeur, de Distribution
et de Terminaison. Voici le contexte utilisé pour représenter un échantillon des
cas réels.

1 – Le téléphone passe une communication via son IPBX.


2 – Le pirate envoi un flood de datagramme avec une d’adresse MAC source
aléatoire.
3 – Le Switch C insert les adresses MAC dans sa table en les associant au port
physique du port du pirate.
4 – Le Switch D insert les adresses MAC reçues dans sa table en les associant
au port physique du port d’interconnexion avec le commutateur C.
5 – Le Switch E insert les adresses MAC reçues dans sa table en les associant
au port physique du port d’interconnexion avec le commutateur D.

https://astuces-top.blogspot.com
On peut ainsi rapidement conclure du fait qu’il y ai un Switchs ou plusieurs,
cela ne change rien au potentiel de l’attaque. C’est clair que le pirate, sur un
LAN d’entreprise, pourra rapidement écouter les conversations du téléphone B
se trouvant à l’autre bout du bâtiment.
Juste une remarque, c’est que cela dépend de la limitation de chaque Switch.
Par exemple, prenons le cas où les commutateurs C et E sont des 2950 limités
à 8000 @MAC et le Switch D est un 6509 donc limité à 64000 @MAC. Dans ce
cas, le pirate va saturer les 8000 adresses MAC des Switchs C et E, puis dans
la foulée, les 64000 du Switch D. Et même si le premier commutateur est
saturé, le flood de requête ARP va continuer à se propager et le Switch de
coeur continuera à apprendre la provenance jusqu’à saturation.
Nous pouvons en conclure que l’impact dans une entreprise est global, même
dans le cas d’architecture standard sur 3 niveaux au coeur de 6500.

4 – Les protections non efficaces


4.1 – Augmenter la durée de vie des correspondances
L’une des possibilités est de diminuer la durée de vie des entrées de la table de
correspondance. Dans le contexte IOS de Cisco, cela peut être réalisé grâce à
la commande « mac-address-table aging-time ».

conf t
mac-address-table aging-time 10

Cependant, cela ne permet pas de résoudre le problème, car si le pirate laisse


tourner son flood, alors à peine libéré, le Switch apprendra de nouveau des
adresses MAC spoofées.

4.2 – Acheter des commutateurs Ethernet plus performants


Etant donnée que le Switch 2950 est limité à 8000 adresses MAC, l’idée étant
d’acheter des commutateurs de gamme supérieure apportant donc de plus
grandes de performances. Voici un tableau relatant les limites des différentes
gammes Cisco :
•Cisco Catalyst 2924 XL : 2000 adresse MAC maximum
•Cisco Catalyst 2924 XL : 2000 adresse MAC maximum
•Cisco Catalyst 2948 G-GE-TX : 16000 adresse MAC maximum
•Cisco Catalyst 2950 Series : 8000 adresse MAC maximum
•Cisco Catalyst 2955 Series : 8000 adresse MAC maximum
•Cisco Catalyst 2960 Series : 8000 adresse MAC maximum
•Cisco Catalyst 2970 Series : 8000 adresse MAC maximum

https://astuces-top.blogspot.com
•Cisco Catalyst 3550-12G : 12000 adresse MAC maximum
•Cisco Catalyst 3550-12T : 12000 adresse MAC maximum
•Cisco Catalyst 3550-24 : 8000 adresse MAC maximum
•Cisco Catalyst 3550-24-DC : 8000 adresse MAC maximum
•Cisco Catalyst 3550-24 PWR : 8000 adresse MAC maximum
•Cisco Catalyst 3550-24-FX : 8000 adresse MAC maximum
•Cisco Catalyst 3550-48 : 8000 adresse MAC maximum
•Cisco Catalyst 3560 Series : 12000 adresse MAC maximum
•Cisco Catalyst 3750G-24TS : 12000 adresse MAC maximum
•Cisco Catalyst 3750G-24WS : 12000 adresse MAC maximum
•Cisco Catalyst 3750G-24T : 12000 adresse MAC maximum
•Cisco Catalyst 3750G-12S : 12000 adresse MAC maximum
•Cisco Catalyst 3750-24TS : 12000 adresse MAC maximum
•Cisco Catalyst 3750-24FS : 12000 adresse MAC maximum
•Cisco Catalyst 3750-24PS : 12000 adresse MAC maximum
•Cisco Catalyst 3750-48TS : 12000 adresse MAC maximum
•Cisco Catalyst 3750-48PS : 12000 adresse MAC maximum
•Cisco Catalyst 3750G-24TS-1U : 12000 adresse MAC maximum
•Cisco Catalyst 3750G-24PS : 12000 adresse MAC maximum
•Cisco Catalyst 3750G-48TS : 12000 adresse MAC maximum
•Cisco Catalyst 3750G-48PS : 12000 adresse MAC maximum
•Cisco Catalyst 3750G-16TD : 12000 adresse MAC maximum
•Cisco Catalyst 6500 Series : 64000 adresse MAC maximum
On remarquera que chaque Switch possède de nouveau une limitation dans le
nombre de correspondances. On peut donc prendre conscience que
l’augmentation de la catégorie du Switch ne solutionne pas ce risque. Car on
peut augmenter le nombre maximum de correspondances, cela ne change pas
le fait que le hackeur va très rapidement saturer la mémoire de la table.

4.3 – Segmenter le commutateur par des VLAN


Même s’il est fortement recommandé d’utiliser les VLAN pour segmenter son
réseau pour sécuriser son LAN, dans notre cas, cela n’apportera pas la
protection nécessaire à la saturation de la table de correspondance.

https://astuces-top.blogspot.com
En fait, dans le cas où j’ai deux VLAN (ou plus), la table de correspondance
peux être lue indépendamment comme cela :

Cependant, si je flood de nouvelles adresses MAC dans un seul VLAN comme le


99, on remarque que la table de correspondance chute pour tous les VLAN.
Cela montre bien que le nombre d’adresses MAC maximum par Switch est
indépendante des VLAN.
Ainsi, la segmentation par VLAN ne résout pas le problème

5 – La protection efficace
5.1 – Nombre d’adresses MAC maximum par port
La limitation d’un nombre maximal d’adresses MAC par port physique est une
solution efficace. Elle permet ainsi de positionner le hacker dans un contexte
isolé où il ne peut pas déborder sur la mémoire globale du Switch. Par
exemple, si nous limitons chaque port à 100 adresses MAC maximum, cela
permettra d’empêcher que le flood sature la mémoire globale du Switch. 100
paraît être une bonne valeur pour sécuriser les accès sans contraindre
l’exploitation réseau de l’entreprise. Pour réaliser cette protection, il faut :
Placer le port en mode Access :
conf t
interface fastEthernet 0/4
switchport mode access

Activer la sécurité associée au port avec la commande :

conf t
interface fastEthernet 0/4
switchport port-security

https://astuces-top.blogspot.com
Puis définir le nombre d’adresses MAC maximum :
conf t
interface fastEthernet 0/4
switchport port-security maximum 100

Et enfin, définir l’action en cas de violation de la règle précédente. Plusieurs


possibilités nous sont offertes tel que « protect » qui permet de bloquer toues
les trames non connues. « Shutdown » permet lui de fermer le port en cas de
violation, cette seconde action est radicale, mais pose des impacts
d’exploitations non négligeables.
conf t
interface fastEthernet 0/4
switchport port-security violation protect

Voici un exemple concret avec une limite à 5 adresses MAC maximum. On peut
remarquer, que malgré l’attaque de flooding MAC en continu, la table de
correspondance du Switch ne sature pas. Le port 4 est bien limité aux 5
premières adresses MAC et n’apprend plus les suivantes.

https://astuces-top.blogspot.com
5.2 – Authentification 802.1X
L’activation 802.1X sur les ports, en plus d’apporter une bonne sécurité de
votre LAN, vous permettra d’empêcher la saturation de la table de
correspondance par un Hackeur ou un virus. Pour l’activer sur le port 4 par
exemple, vous devez :
Indiquer que l’authentification doit se réaliser via un serveur Radius (ou autre
si vous préférez) :
conf t
aaa new-model
aaa authentication dot1x default group radius

Préciser les informations de votre serveur Radius :


conf t
radius-server host 192.168.101.4 auth-port 1812 acct 1813
radius-server key MaCleSecret

Activer 802.1X sur le Switch :


conf t
dot1x system-auth-control

Configurer l’interface sur laquelle vous désirez mettre en place


l’authentification 802.1X :
conf t
interface FastEthernet0/4
switchport mode access
dot1x port-control auto
dot1x host-mode multi-host

On remarquera que la dernière commande permet de spécifier que plusieurs


hôtes simultanées peuvent se connecter simultanément. Ainsi, cela ne
corrigera pas le soucis et votre commutateur sera toujours exposé à une
saturation de la table de correspondance.
Cependant, si vous exploitez 802.1X avec la commande « dot1x host-mode
single-host » permettant la possibilité de connecter un seul hôte réseau
simultanément, alors votre commutateur refusera toutes les nouvelles
adresses MAC supplémentaires protégeant ainsi sa table de correspondance.
Cela reste un très bon moyen de protection en limitant à 1 @MAC par port tout
en gardant une exploitation centralisée et donc simple.

https://astuces-top.blogspot.com
6 – Commandes équivalentes 3COM
La commande « show mac-address-table » permet de voir la table des
correspondances MAC. L’équivalent 3COM est « display mac-address » :

La commande « show mac-address-table count » permet de voir les


statistiques de la table des correspondances MAC. L’équivalent 3COM est
« display mac-address count ». Par défaut, le Switch 3COM 3CR17152 5500-SI
possède une mémoire permettant de gérer jusqu’à 16384 entrée :

Et après l’étape 2 (après l’exécution de Arpflood), on peut remarquer qu’il ne


reste plus aucune place dans la table de correspondance :

https://astuces-top.blogspot.com
La commande « show mac-address-table aging-time » permet de voir la durée
de vie des correspondances MAC. L’équivalent 3COM est « display mac-address
aging-time ». Pour info, par défaut, le Switch 3COM 3CR17152 5500-SI garde
5 minutes une correspondance d’adresse MAC/Port :

https://astuces-top.blogspot.com

Vous aimerez peut-être aussi