Home » Comment ça marche, Internet

Comment prendre l’IP de quelqu’un

30 août 2010 4 commentaires
tags : ,
Download PDF

On entends beaucoup de bêtises, y compris dans l’hémicycle, ces temps-ci, à propos des adresses IP qui seraient de petites choses très faciles à usurper. Ou est le vrai, ou est le faux ?

Peut-on utiliser l’IP de quelqu’un d’autre ? La réponse est oui, mais pas sans conditions et certainement pas à l’aide d’un sabre et d’un perroquet.

Il existe sur internet trois grande familles de protocoles servant à faire voyager des données sur internet (il y en a en réalité beaucoup plus, mais ces trois la représentent la majorité des applications)

  • ICMP, qui sert principalement aux machines elles-mêmes pour s’échanger des informations sur l’état du réseau et des autres machines (telle machine ne répond pas, tel portion du réseau réclame des paquets plus petits, …) et accessoirement permet de s’assurer qu’une machine répond un minimum.
  • UDP, qui sert principalement aux applications dites « temps réel » (la téléphonie, quelques applications de vidéo, …) et dont la particularité est de ne pas effectuer de contrôle d’intégrité de la transmission. En français, avec ce protocole, la machine qui reçoit un paquet n’a aucun moyen de savoir si un autre paquet aurai du être reçu avant et s’est perdu en route.
  • TCP, qui représente l’immense majorité des usages (c’est la dessus que voyagent le web, le mail, le FTP, les newsgroup, les vidéos Youtube, etc ..) qui, lui, dispose en interne d’un mécanisme de contrôle s’assurant que tous les paquets émis sont bien reçus et peuvent être remis dans le bon ordre à l’arrivée.

Un ordinateur peut envoyer sur le réseau un paquet avec n’importe quelle adresse IP comme source (de la même façon que n’importe qui peut envoyer un email venant  de nicolas.sarkozy@elysee.fr).

Personne, en tout cas pas derrière une connexion ADSL, ne peut en revanche recevoir des données envoyées à une IP qui n’est pas la sienne (de la même façon que vous ne pouvez pas recevoir de réponse à votre mail envoyé depuis nicolas.sarkozy@elysee.fr)

Partant de la, ICMP et UDP n’ayant aucune notion de contrôle d’intégrité, on peut envoyer à peu près n’importe quoi à n’importe qui, mais les conséquences sont généralement minimes. Sauf envoi massif pour saturer la connexion de l’ordinateur cible, le seul dégât que vous pourriez peut-être causer, c’est de rompre une communication en cours qui se relancerait d’elle même quelques instant plus tard.

Avec TCP, par contre, pour établir une connexion avec une machine distante (par exemple avec le serveur de mail de votre fournisseur) vous devez envoyer une demande de connexion (SYN) qui contiendra un numéro de séquence à respecter et à laquelle, pour simplifier, l’autre va répondre (SYN/ACK) avec un autre numéro de séquence que vous allez devoir reprendre (ACK) pour pouvoir commencer la discussion et la poursuivre. Sans avoir le numéro de séquence envoyé par le serveur (puisque vous ne pouvez pas recevoir les paquets à destination de la fausse IP que vous voulez prendre), il est strictement impossible de maintenir une connexion TCP ouverte.

Il est éventuellement imaginable d’arriver par chance à deviner ce numéro de séquence (c’était plus facile il y a quelques années quand les système choisissaient des numéros de séquence avec un algorithme plus que douteux quant à sa faculté à générer du hasard) et donc de pouvoir envoyer des données, mais c’est sans compter sur la destination réelle des réponses de la cible de votre attaque qui se rebiffera rapidement en disant que « non, je n’ai jamais demandé à établir cette connexion, ferme la ! ». Tout ceci se jouant en quelques secondes, on peut valablement dire que « non, on ne peut pas prendre une IP au hasard », qui plus est pour télécharger un film sur un réseau P2P, chose qui, d’une part, prends généralement quelques heures au bas mot, et d’autre part nécessite de pouvoir recevoir des données.

Ce qu’il est par contre possible de faire, c’est d’utiliser l’ordinateur de quelqu’un d’autre à son insu pour y faire passer ses propres données et, de fait, utiliser son IP. Pour cela, il faut l’avoir piraté d’une manière ou d’une autre (avec un virus envoyé par email que l’internaute à ouvert volontairement, pensant trouver des photos de sa femme, en exploitant une faille de sécurité, ou tout simplement en ayant l’occasion de s’assoir devant pour y installer discrètement un logiciel de prise en main à distance)

De même, avec un réseau wifi, on utilise l’IP du propriétaire de la connexion qui est au bout (exception faite du service Freewifi qui distribue une IP publique différente de celle de l’abonné dont on utilise la box).

Autre méthode, fortement conditionnée par le fait d’être sur un réseau de type réseau local d’entreprise, il n’est pas rare que les switchs reliant tous les ordinateurs ne soient pas configurés pour empêcher les postes de changer d’IP. Vous pouvez donc théoriquement, dans ce cas, utiliser n’importe quelle IP voisine de la votre (celle du collègue parti en vacances et qui a éteint son PC, deux machines avec la même adresse ne pouvant cohabiter). Même chose pour beaucoup de réseaux wifi publics couvrant les zones blanches ADSL.

Enfin, tous les services de VPN permettent, contre une obole mensuelle de l’ordre de 5 euro, de bénéficier d’une adresse IP complètement indépendante de son FAI mais vous ne la volez à personne puisqu’elle est la pour ça. Ceci dit, c’est au détriment de la vitesse et du débit de la connexion, toutes les données devant transiter par la plateforme VPN généralement située très loin et pratiquant le surbooking à outrance niveau bande passante pour être rentable.

4 Comments »

  • Fab said:

    Très bon article, comme d’hab’ :) .

    Astuce : du même acabit que les VPN (payants), il existe des services de tunnel IPv6-over-IPv4 (gratuits) tels que http://gogonet.gogo6.com/ .

  • ZeB said:

    Concernant les services VPN payants, il est tout de même un peu réducteur de dire que ces derniers n’offrent pas tous un service de qualité…
    Perso je tourne avec le service Anonine, et je n’ai aucun souci de bande passante (du moins la limite de bande passante n’est en aucun cas handicapante) et ce pour environ 4€ par mois.

  • Bruno (author) said:

    C’est vrai, j’aurais du reformuler et préciser « certains services » et aussi « en fonction des usages ». Je suis sur que c’est quand même moins facile de fragguer comme un gros porc quand on rebondi a san francisco ou en ouzbekistan avant de revenir sur un serveur de jeu :)

  • Bruno (author) said:

    Suite à une reprise du présent article sur owni.fr, pmauduit se demandait comment il était possible d’envoyer des paquets avec une IP source n’étant pas une IP du FAI concerné et pourquoi les FAI ne bloquaient pas.

    La réponse apportée :
    Pas si trivial. Si en plus de devoir vérifier ou envoyer le paquet, le routeur doit regarder si la source est légitime, ça lui fait autant de temps en moins passé à router.

    Accessoirement aussi, ça oblige à tenir à jour dans le routeur la liste de tous les préfixes qui peuvent passer par tel lien (ceux qui viennent de dedans et qui vont dehors) avec telles sources et, tant qu’a faire, avec telles destinations (ceux qui viennent de dehors et vont dedans).

    Je ne sais en réalité pas si ça fonctionne encore chez les FAI connus, ça fait un moment que j’ai pas eu besoin d’essayer.

    Autre commentaire, de sid http://sid.rstack.org/blog/, que je trouve particulièrement pertinent :
    Pour la vérification des IPs en sortie par les FAIs, certains le font pourtant…

    Par contre, sur le fait que deux machines avec la même adresse ne peuvent pas cohabiter, dit comme ça, c’est vrai : on ne peut pas configurer deux machines sur le même LAN avec la même IP.
    Par contre, on sait usurper depuis une machine A l’adresse IP d’une machine B elle aussi active si ces deux sont sur le même LAN:

    http://sid.rstack.org/static/articles/j/o/u/Jouer_avec_le_protocole_ARP_dadb.html

    Ça marche aussi sur les réseaux Wi-Fi ouverts, sauf que là, on sait même usurper l’adresse MAC en même temps. Ça laisse rêveur quand on pense aux Hotspots ou aux accès genre FreeWiFi justement…

    http://sid.rstack.org/pres/0602_ESW_CaptiveBypass.pdf

    Vous pouvez lire tous les commentaires de cet article ici :
    http://owni.fr/2010/08/31/comment-prendre-l%e2%80%99ip-de-quelqu%e2%80%99un/#comments

Leave your response!

Add your comment below, or trackback from your own site. You can also subscribe to these comments via RSS.

Be nice. Keep it clean. Stay on topic. No spam.

You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

This is a Gravatar-enabled weblog. To get your own globally-recognized-avatar, please register at Gravatar.


neuf − = 2