Cette attaque consiste a detourner une connexion TCP qui etait etablie entre deux machines vers une
tierce personne (le pirate). Cette attaque utilise une faiblesse du protocole TCP, en desynchronisant une connections TCP pour la reprendre a son profit. La contrainte est que l’une des machines doit se trouver sur le même reseau de telle manière a pouvoir sniffer le trafic et observer les numeros de sequences utilises.
Pour desynchroniser une connexion TCP, il faudra que le pirate envoye un segment TCP a l’une des deux machine avec le bon numero de séquence et une valeur de ACK correcte en utilissant l’adresse IP de la seconde machine. De ce fait, lorsque la seconde machine enverra son segment ayant le meme numero de segment et la meme valeur de ACK que celui envoye par le pirate, son correspondant ignorera le message. La synchronisation est ainsi brisee. Ceci est donc valable pour une transmission client-serveur ou serveur-client.
En cas normal, lors d’envoi de paquets TCP, les numeros de sequence evoluent selon la taille de la cargaison de la trame TCP
Pour pouvoir effectuer cette attaque, il faut attendre par exemple que la victime se connecte sur un service demandant une authentification. Il sera ensuite possible de desynchroniser la connection TCP et d’utiliser la connexion et le compte de la victime.
Nous remarquons que le cracker envoie une trame au serveur de telle maniere a desynchroniser la connection entre la victime et le serveur. Nous remarquons bien que maintenant le serveur demande le segment X+90 alors que le client va vouloir maintenant lui envoyer le X+80. Lorsque le serveur recevra une nouvelle trame de la victime (apres celle du cracker) le serveur n’acceptera pas la trame puisque le numero de séquence ne sera plus celui attendu, il enverra alors un ACK en specifiant le numero de sequence attendu (X+90 dans notre cas). Lorsque la victime recevra ce ACK, elle generera aussi un ACK puisque le numero de séquence du ACK du serveur n’est pas celui attendu. Nous nous retrouvons donc dans une situation de ”Ack Storm” (multitude de ACK genere). Pour pallier ce probleme, le cracker pourrait empoisonner le cache ARP du serveur en specifiant que l’adresse IP de la victime se trouve sur son adresse MAC, ainsi la victime ne recevra pas de ACK.
Maintenant si le cracker desire se connecter sur le serveur en utilisant l’identite du client, il pourrait le faire sans meme tenter de recuperer la connexion TCP de la victime, puisque etant sur le mˆeme reseau que celle-ci, il pourrait casser la connexion TCP de la victime de maniere a ce que celle-ci se reconnecte et que le cracker puisse prendre son login et mot de passe (en sniffant le reseau). Pour se premunir de cette attaque il suffira d’utiliser SSH et un serveur FTP s´ecurise, cryptant ainsi le payload des segment TCP.