Les attaques par usurpation d’identité

Lors d’une attaque par usurpation d’identité (spoofing), le hacker « se fait passer » pour une autre machine en falsifiant son adresse IP.

L’opération est assez complexe et demande une bonne maîtrise du protocole TCP/IP.

Tout d’abord, le hacker choisit le serveur (ou la machine) qu’il veut attaquer. Il faut ensuite obtenir le maximum de détails sur ce serveur pour savoir quelles machines sont autorisées à se connecter (celles qui ont des droits autres que la simple lecture). Cette étape peut être longue. Si aucune machine n’est autorisée à se connecter en root sur ce serveur, l’attaque s’arrête là.
La machine trouvée s’appelle « machine de confiance » car elle a une « relation de confiance » avec le serveur. Le hacker doit la rendre inopérante pour qu’elle ne réponde pas à sa place. Il peut utiliser un DoS par exemple. L’objectif est de la rendre totalement muette.

Le hacker essaie ensuite de prévoir le numéro de séquence des trames en envoyant plusieurs trames et en regardant l’incrémentation de ce numéro. Lorsqu’il pense pouvoir prédire le numéro suivant, le moment de falsifier son adresse IP est venu.

Le hacker falsifie son adresse IP en la remplaçant par celle de la machine invalidée. Il envoie alors une demande de connexion au serveur. Le serveur envoie une trame SYN/ACK à la machine qu’il pense être émettrice de la demande. Celle-ci ne peut répondre et le hacker doit acquitter cette connexion (par une trame ACK) avec le numéro de séquence prévu, incrémenté de 1. Si le numéro est le bon, la connexion est établie et la machine spoofée peut commence à envoyer des données sur le serveur en toute impunité. En pratique, le pirate travaille en aveugle. En effet, ayant spoofé son adresse IP, il ne reçoit pas les réponses du serveur. Cette opération demande donc une bonne connaissance des protocoles, mais aussi une précision d’horloger. Un exemple de mise en oeuvre de cette attaque est proposé par Kévin Mitnick.

En général, le hacker laisse une backdoor avant de partir de manière à pouvoir se reconnecter plus simplement une prochaine fois.

Le spoofing se déroule donc en 5 étapes :

  1. Récupération de données pour deviner les numéros de séquence et trouver une machine de confiance.
  2. Mise hors d’état de la machine de confiance.
  3. Demande de connexion avec une adresse spoofée.
  4. Envoi de la trame SYN/ACK à la machine de confiance.
  5. Réponse de la machine spoofée qui a alors ouvert la connexion.

Il existe des variantes de cette technique, comme le spoofing d’adresses e-mail (plus simple que le spoofing d’IP), de serveurs DNS (assez difficile à réaliser) ou de serveurs NFS, etc.

Spoofing d’adresses e-mail

Les courriers électroniques, sans l’ajout d’une signature, ne sont pas fiables car toutes les commandes sont écrites en code ASCII. Il est donc facile de les saisir à la main à l’aide d’un telnet sur le port 25 d’un
serveur de courrier.

VN:F [1.9.22_1171]
Votes: 0.0/5 (0 votes)