Une fois la mise en œuvre pratique de cette technique exposée au grand public, elle a connu une large diffusion. D'autres hackers malveillants se sont alors chargés de coder des outils permettant d'automatiser l'attaque. L'utilisation de la technique s'est alors intensifiée. Seulement de nos jours, pour « inonder » le fil de connexions d'un serveur, il faut envoyer beaucoup plus de paquets SYN
. De plus, le serveur peut bloquer le trafic provenant d'un hôte qui effectue de multiples demandes de connexion dans un laps de temps très court. Et enfin, un système de détection d'intrusion peut détecter de multiples demandes de sessions provenant d'un hôte qui renvoie systématiquement un RESET
et avertir l'administrateur système sur le fait que quelqu'un essaie sûrement de deviner le comportement du générateur de numéro de séquence d'un site. Par ailleurs, le service, fingerd, sur lequel se base une partie de la recherche d'informations, a presque disparu à l'heure actuelle ; les rares distributions l'intégrant toujours ne l'activent pas.
La date de l'attaque choisie par Mitnick à savoir le jour de Noël 1994 n'est pas anodine. Il peut ainsi être à peu près sûr que personne ne sera connecté au réseau cible lui donnant plus de latitude dans sa tentative d'intrusion. Il va d'abord se livrer à une collecte d'informations sur le réseau sur lequel il cherche à s'introduire. Il commence par sonder la machine ARIEL à l'aide de la commande UNIX finger
à partir du site toad.com :
14:09:32 toad.com# finger -l @ARIEL
La commande finger
permet de savoir qui est connecté au système, l'instant de connexion de la personne, l'instant de sa précédente connexion, l'endroit d'où elle se connecte, le temps durant lequel elle a été au repos, si la personne a un courrier. Il découvre alors qu'ARIEL est actuellement connecté à ASTARTE, RIMMON et OSIRIS.
Il sonde alors à son tour RIMMON et se renseigne en particulier sur le super-utilisateur root du système :
14:10:21 toad.com# finger -l @RIMMON
14:10:50 toad.com# finger -l root@RIMMON
Il inspecte enfin OSIRIS qui est la station de travail de Tsutomu Shimomura :
14:11:07 toad.com# finger -l @OSIRIS
14:11:38 toad.com# showmount -e OSIRIS
14:11:49 toad.com# rpcinfo -p OSIRIS
14:12:05 toad.com# finger -l root@OSIRIS
La commande showmount -e
permet de savoir les systèmes de fichiers exportés avec Network File System sur le site. Les crackers s'intéressent surtout à ceux qui peuvent être lus et écrits par tout le monde. Tandis que la commande rpcinfo
renseigne sur les services d'appel de procédures à distance (RPC) disponibles sur le système. Mitnick découvre en particulier qu'OSIRIS autorise la commande rsh
. En se renseignant enfin avec finger
, sur le super-utilisateur root, il découvre une connexion en provenance de RIMMON. Il suppose donc l' existence d'une liaison de confiance entre OSIRIS et RIMMON pour l'utilisateur root.
Mitnick va maintenant essayer de connaître le comportement du générateur de numéros de séquence TCP dOSIRIS. Pour cela il va lui envoyer vingt tentatives de connexion à partir du site apollo.it.luc.edu
. Les numéros de séquence initiaux (Initial Sequence Number) étant incrémentés à chaque tentative de connexion. Afin de ne pas saturer le fil de connexions dOSIRIS, ce qui le mettrait hors service, un paquet RESET
est envoyé en réponse à chaque paquet SYN/ACK
envoyé par ce dernier. Il découvre ainsi que pour deux tentatives de connexion successives, la différence entre les numéros de séquence des paquets SYN/ACK
envoyés par OSIRIS est de 128 000. Si
SYN
du groupe de paquet envoyé précédemment et
SYN/ACK
correspondant,
SYN/ACK
en réponse à un paquet SYN
de numéro de séquence
(hors service) ____________ (Nack+128 000) ____________ | | SYN/ACK | | | OSIRIS |========>>=========| RIMMON | |____________| |____________| | || || || | || || || | inondation de SYN | || || || | ||____||____|| | (Nsyn+1) | | | SYN | APOLLO | \------------<<------------| (Mitnick) | |____________|
Tous les ingrédients sont maintenant mis en place pour mettre en œuvre une attaque par spoofing. Mitnick commence par inonder de SYN
le fil de connexions de RIMMON 14 secondes avant l'attaque principale mettant la machine dans l'incapacité de traiter d'autres connexions. À 14:18:36, il envoie ensuite à OSIRIS un paquet SYN
de demande de connexion de numéro de séquence
ACK
dont le numéro d'acquittement est
Il ne reste plus alors à l'attaquant qu'à ouvrir une brèche sur OSIRIS lui permettant de l'explorer ultérieurement. Mitnick lui envoie alors la commande suivante :
14:18:37 [root@apollo /tmp]#rsh OSIRIS "echo + + >>/.rhosts"
Cette commande rajoute la ligne + +
dans le fichier /.rhosts
d'OSIRIS. Il en résulte que dorénavant OSIRIS accepte n'importe qui à se connecter en tant que root sur le système. Le système est maintenant compromis. Mitnick met alors fin à la connexion, car désormais il peut inspecter à sa guise la machine de Shimomura. Il libère enfin le fil de connexions de RIMMON en envoyant des paquets RESET
pour ne pas éveiller le soupçon de quelqu'un qui essaierait de se connecter et qui ne pourrait pas.