title: Attaque par redirection ICMP
text: # Attaque par redirection ICMP
  
  L’attaque par redirection ICMP est une technique utilisée pour attaquer un réseau local en utilisant le protocole ICMP. Cette technique peut permettre à l'attaquant de détourner des flux de communications transitant entre une machine cible et une passerelle, par exemple un routeur ou une box internet. L'attaquant peut ensuite capturer, modifier, voire bloquer les paquets réseaux.
  
  L’attaque se base sur la fonctionnalité de redirection du protocole ICMP. Elle permet à un routeur d’informer une machine lui envoyant des paquets, que sa route pour atteindre sa destination n’est pas optimale. Le routeur lui indique donc l’adresse IP du prochain routeur (Gateway) sur son chemin, ce qui modifie en conséquence la table de routage de la machine.
  
  L’attaque consiste donc à forger un paquet ICMP de type redirection avec une adresse IP choisie par l’attaquant qui peut être la sienne ou une celle d’une autre machine du réseau, et de l’envoyer à la machine cible. Ceci a pour effet de modifier et compromettre la table de routage de la machine cible. Son trafic est donc redirigé vers l’adresse IP de destination choisie par l’attaquant et permet la mise en place d’attaque de type Man-in-the-middle ou Denial of service.
  
  ## Illustration du propos
  
  Définition du contexte :
  
  Réseau local :
  
  Table de routage de la machine cible avant l'attaque:
  
  L'attaquant va forger puis envoyer un paquet ''ICMP''.
  
  Paquet ''ICMP":
  
  Le type 5 correspond au type redirection et le code 1 à une redirection pour un hôte.
  
  Table de routage de la machine cible après l'attaque:
  
  ## Contre-Mesure
  
  Une solution efficace pour empêcher ce type d’attaque est de désactiver la redirection ICMP sur les machines.
  
  Sous linux on modifie la valeur de :/proc/sys/net/ipv4/conf/*/accept_redirects à 0 pour désactiver l’ICMP redirect.
  
  Sous Windows dans HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters’ on modifie 'EnableICMPRedirect' à 0.
  
  