Dépassement de la capacité de la table MAC (MAC OVERFLOW)

🖥️ Sécurité des réseaux informatiques

Attaques informatiques

📋 Attaque 1 : Dépassement de la capacité de la table MAC (MAC OVERFLOW)

🎯 Objectif

  • Réaliser une attaque MAC OVERFLOW (MACof)
  • Réaliser une solution pour l’attaque MAC OVERFLOW (MACof)

📋 Prérequis

  • Une machine KALI LINUX : « Kali »
  • Un commutateur Cisco : « SW1 »
  • Le travail est réalisé en utilisant le simulateur GNS3

🔄 Tâche 1 : Préparation de l’environnement de travail

1

Nous allons utiliser le schéma suivant dans le simulateur GNS3.

Le pirate utilise la machine « Kali » pour réaliser l’attaque. Elle a comme adresse 192.168.0.100.

Schéma de l’environnement GNS3
2

On clique sur le petit triangle qui se trouve dans le coin en haut à droite.

Cliquer sur le triangle
3

On clique par la suite sur « Filaire connecté ».

Filaire connecté
4

On clique sur « Filaire » puis sur le petit bouton dans le coin en bas à droite de la fenêtre qui s’affiche pour configurer l’adresse IP (Dans notre cas, l’adresse est déjà configurée « 192.168.3.100 ». Nous allons la modifier à « 192.168.0.100 »).

Configuration IP - bouton
5

On clique sur « IPv4 » puis on choisit la configuration manuelle de l’adresse IP.

Choix IPv4 manuel
6

On configure l’adresse IP « 192.168.0.100 », le masque « 255.255.255.0 » et la passerelle par défaut « 192.168.0.1 ».

Configuration IP statique
7

Pour afficher la configuration sur un terminal, on clique sur le terminal et tape la commande « ifconfig ». L’adresse IP est correctement configurée.

Vérification ifconfig

🔄 Tâche 2 : Réalisation de l’attaque « Dépassement de la capacité de la table MAC » (MAC OVERFLOW)

1

Vérifier l’état de la table MAC au niveau du commutateur avant de réaliser l’attaque MAC OVERFLOW. Pour se faire, on utilise la commande « Show mac address-table ».

La commande affiche une adresse MAC « 0050.56C0.0003 » mappée au port Et0/0.

Show mac address-table avant attaque
2

Au niveau de la machine « Kali », on utilise l’outil « macof ». On affiche tout d’abord l’aide de cet outil et par la suite on lance l’attaque en utilisant la commande « macof –i eth0 » (eth0 est le nom de l’interface « Kali » affiché par la commande « ifconfig »).

Aide de macof
3

Voici l’état du terminal après l’exécution de la commande.

Terminal pendant macof
4

On arrête l’attaque MAC OVERFLOW en cliquant sur les touches « Contrôle » et « C ».

On se déplace vers la console du commutateur et on tape de nouveau la commande « Show mac address-table ».

Arrêt de macof
Show mac address-table après attaque
5

On peut afficher le nombre d’adresses MAC enregistrées dans la table MAC en utilisant la commande « Show mac address-table count » (ici 8192).

Comme vous le constatez, la table MAC est bombardée par des adresses MAC qui sont toutes associées au port Et0/0. Ainsi, le commutateur va fonctionner en tant que concentrateur et toutes les trames reçues au niveau d’un port seront redirigées vers tous les autres ports y compris Et0/0.

D’où, le pirate « Kali » peut recevoir tout le trafic réseau qui passe par ce commutateur.

Show mac address-table count

💡 Remarque

L’attaque MAC OVERFLOW peut causer le plantage du commutateur lorsqu’elle est en cours d’exécution.

🔄 Tâche 3 : Implémentation de la solution contre l’attaque MAC OVERFLOW

La solution contre l’attaque MAC OVERFLOW est la configuration de la sécurité des ports.

1

Entrez dans le mode de la configuration d’interface Eth0/0 et configurer le port comme port d’accès.

sw1(config)#int e0/0
sw1(config-if)#switchport Mode access
2

Activer la sécurité du port Eth0/0.

sw1(config-if)#switchport port-security
3

Configurer l’apprentissage dynamique des adresses MAC pour le port Et0/0.

Apprentissage dynamique MAC
4

Configurer le maximum d’adresses MAC à apprendre sur 2.

sw1(config-if)#switchport port-security maximum 2
5

Configurer le mode de violation sur « Protect ».

Violation mode Protect
6

Afficher la configuration de la sécurité du port Et0/0.

show port-security interface
7

On lance l’attaque de nouveau et on arrête l’exécution de la commande. On affiche après la configuration de la sécurité du port Et0/0.

Comme vous le constatez, le nombre total d’adresses MAC apprises est 2.

Après attaque - 2 MAC addresses
8

On affiche l’état du compteur de violation (Il est toujours sur 0). Le mode « Protect » n’incrémente pas le compteur de violation.

Violation count = 0
9

On modifie le mode de violation en « Restrict ».

Violation mode Restrict
10

On lance l’attaque de nouveau et on l’arrête. Puis on affiche les informations de la sécurité du port Et0/0 y compris l’état du compteur de violation.

La valeur du compteur de violation est 768. C’est-à-dire 768 fois que nous n’avons pas respecté la sécurité du port Et0/0.

Violation count = 768
11

On modifie le mode de violation en « Shutdown ».

Violation mode Shutdown
12

On lance l’attaque et on l’arrête. Puis on constate ce qui se passe au niveau du commutateur.

Le port est en état « DOWN » après avoir dépassé 2 adresses MAC.

Le compteur de violation est sur la valeur 769. C’est-à-dire que nous avons dépassé largement le maximum d’adresses MAC autorisées sur ce port. C’est pour cette raison qu’il est en état « DOWN ».

Port down après attaque
Violation count = 769
13

Si on affiche l’état du port, on trouve qu’il est en état « ERR-DISABLED ».

Port ERR-DISABLED
14

Pour que le port devienne actif manuellement, on utilise la commande « Shutdown » puis « No shutdown ».

sw1(config)#int e0/0
sw1(config-if)#shutdown
sw1(config-if)#no shutdown
15

On peut configurer que le port passe à l’état actif après une durée définie par nous même en tant qu’administrateur réseau.

  • On affiche tout d’abord l’état de cette propriété. On constate qu’elle est désactivée. On constate aussi que la durée est configurée par défaut sur 300 secondes.
  • On active cette propriété pour « Psecure-violation » avec une durée de 30 secondes.
  • On lance de nouveau l’attaque et on l’arrête. Puis on revient au niveau du commutateur pour observer ce qui se passe.

Le port Et0/0 est en état « ERR-DISABLED » depuis 11:54:15.

Le port est activé automatiquement après 30 secondes.

errdisable recovery inspect
Configuration errdisable recovery 30s
ERR-DISABLED avec timestamp
Port réactivé après 30s

💡 Remarque

On peut configurer d’autres paramètres au niveau de la sécurité des ports comme le minuteur de vieillissement « Aging time ».

  • Aging Time : La durée de vieillissement d’une adresse MAC sécurisée.
  • Aging type : permet de choisir le type de vieillissement. Si on utilise « Absolute », les adresses MAC sécurisées sont supprimées au bout d’un délai d’expiration spécifique appelé « Durée de vieillissement ». Si on utilise « Inactivity », les adresses MAC sécurisées sont supprimées uniquement si l’adresse MAC sécurisée est inactive pendant la période de vieillissement.
Configuration aging time

Comments

No comments yet. Why don’t you start the discussion?

Laisser un commentaire

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