Attaque de Mitnick - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Conclusion

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.

Description de l'attaque

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 Nsyn\, est donc le numéro de séquence du dernier paquet SYN du groupe de paquet envoyé précédemment et Nack\, celui du paquet SYN/ACK correspondant, Nack + 128 000\, sera le numéro de séquence du paquet SYN/ACK en réponse à un paquet SYN de numéro de séquence Nsyn+1\, .

                                            (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 Nsyn+1\, , mais dont l'adresse source de l'en-tête IP est celle de RIMMON. Il établit ensuite la connexion en envoyant un paquet ACK dont le numéro d'acquittement est Nack+128000+1\, . Pour OSIRIS, tout se passe de manière transparente comme si c'était l'utilisateur root de RIMMON qui avait fait une demande de connexion. Mitnick vient donc de prendre le contrôle d'une session TCP censée s'établir entre OSIRIS et RIMMON. Ce dernier étant dans l'incapacité temporaire de répondre à des demandes de connexion.

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.

Page générée en 0.101 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise