SMURF

 

 

Présentation :

Le "Smurf" est une technique D.O.S. (Denial Of Service) très ancienne qui nous vient du monde UNIX. IL contient 3 ingrédients qui ensemble forment une attaque puissante encore utilisée aujourd'hui. Ces ingrédients sont : "ICMP-PING", "IP-SPOOFING" et "ICMP-BROADCASTING". On dit que cette attaque est organisée du fait qu'elle utilise une liste de serveurs broadcast récupérée à l'avance par un scanner prévu à cet effet.


Explication :

On sait que l'ICMP-PING permet d'envoyer une requête contenant des données à une machine en prévision d'un retour ICMP-PONG contenant ces même données pour calculer un temps de transfert en millisecondes. On sait aussi que l'IP-SPOOFING est le fait de falcifier son adresse IP dans l'émission d'un packet à travers un réseau TCP/IP (tel l'Internet). On sait enfin qu'un BROADCAST SERVER (serveur de diffusion) est capable de rerouter un packet à toutes les machines de son réseau en le duplicant autant de fois qu'il y a de machines. De ce fait, si une machine A PING un serveur broadcast, ce dernier va en théorie retransmettre ce packet PING à tout son réseau et donc chaque machine traitera en répondant d'un PONG à la machine A. On aura ainsi 50 PONG renvoyés pour 1 seul PING si le serveur broadcast reroute les packets vers 50 machines.
 

Et bien le Smurf utilise ces 3 connaissances de la maniere suivante :

  * Une machine A désire attaquer une machine B.
  
* Cette machine A envoi un PING à un serveur broadcast en falcifiant son adresse IP (Spoof).
  * L'adresse IP falcifiée est celle de la machine B (la victime).
  * Le serveur broadcast adressera le PING à son réseau et autant de PONG qu'il y a de machines seront renvoyés à la machine B (le packet provenant donc "faussement" de la machine B).

Ici bien entendu, c'est l'étape principale du Smurf, or il faut savoir que cette attaque ne se sert pas uniquement d'un seul serveur broadcast mais d'une liste complete ayant pour but de contenir les meilleurs serveurs broadcast : Les plus rapides et surtout ceux qui reroutent vers le plus de machines possibles. Si on imagine 1 PING de 1Ko de données envoyé à un serveur broadcast reroutant vers 50 machines, cela donnerait donc 50Ko de données reçus par la victime. Si on utilise 10 serveurs broadcast qui chacun reroutent vers 50 machines, cela fera 500Ko de données reçus très rapidement par la victime pour 10 PING de 1Ko (10Ko). Si le Smurf utilise une liste de serveurs broadcast, c'est pour bien évidement ne pas toujours envoyer les PING au même serveur broadcast, ce qui réduirait la vitesse des réponses PONG. Aussi, on parle de serveurs broadcast reroutant vers non pas 50, mais plutôt 1000 machines voir plus !

Les Kilo-Octets se transforment vite en Mega-Octets tous se précipitant vers la victime à une grande vitesse, ce qui ralentira tellement sa connection, qu'elle finira par déconnecter.

Le Smurf est donc finalement une attaque destiner à Flooder (innonder de packets) une machine et il reste encore très dangereux