localhost peut-il être usurpé?

9

Est-il possible pour une machine distante d'accéder aux données d'hôte local d'une autre machine en usurpant l'IP de bouclage?

Disons que si je voulais une configuration où si je me connecte à l'extérieur de mon propre réseau, je devrai fournir des informations de connexion et mon mot de passe sera requis pour toutes les opérations sensibles. Cependant, si je me connecte depuis mon ordinateur, ces informations d'identification ne sont pas nécessaires car je dois de toute façon me connecter à mon système d'exploitation pour accéder au réseau sur cet appareil. Puis-je compter sur l'adresse de bouclage comme mesure de sécurité de cette manière? Ou est-il possible pour un attaquant de faire croire qu'il se connecte localement?

bee.catt
la source
Je ne crois pas.
SpacemanSpiff
1
Voulez-vous dire que la machine reçoive un paquet usurpé qui semble provenir de 127.0.0.1? Ou voulez-vous dire que la machine reçoive un paquet usurpé adressé à 127.0.0.1?
David Schwartz
Je veux dire, fondamentalement, quelqu'un peut-il pénétrer dans mes données localhost et faire {quoi que ce soit} avec en prétendant être localhost.
bee.catt
On ne sait pas ce que signifie "pénétrer dans mes données d'hôte local". Est-ce à dire que votre machine reçoive un paquet qui semble provenir de 127.0.0.1?
David Schwartz

Réponses:

12

Non.

Il est possible d'envoyer des données sous forme de faux 127.0.0.1, mais la réponse sortira (restera à l'intérieur) de l'interface de bouclage et sera «perdue».

S'il y a un routeur sur le chemin, il enverra le paquet via sa propre interface de bouclage, et il y sera perdu.

mulaz
la source
ok, donc si je comprends tout cela correctement, un attaquant pourrait potentiellement envoyer quelque chose IN, mais il ne pourrait rien récupérer, car la nature du bouclage est qu'il ne parle qu'à lui-même. Si cela est correct, un attaquant pourrait-il envoyer du code malveillant qui permet de se connecter à distance, ou même simplement du code qui casse généralement les choses?
bee.catt
vous avez une table de routage dans votre PC, qui indique quels paquets sortent où. (route -n sur * nix). Vous disposez d'une entrée pour 127.0.0.0/8 pour sortir via l'interface de bouclage (ne sort pas réellement, car c'est un bouclage). Donc, si l'attaquant de votre réseau local envoie un paquet à votre PC, votre PC peut l'accepter, mais le paquet de retour sera perdu, car il restera à l'intérieur de votre PC (envoyé `` hors '' du bouclage)
mulaz
1
Une idée intéressante. Cependant, l'interface de bouclage n'a pas d'adresse MAC. Vous devrez donc avoir les ordinateurs cibles (NIC cible technique) MAC en combinaison avec une IP qui n'appartient pas à ce MAC et espérer que la pile réseau de réception l'accepte. Et puis le paquet doit être accepté par quelque chose qui attend des données et probablement aussi une écoute sur la vraie IP. Pourtant, une belle pensée.
Hennes
Vous pouvez utiliser le mac à partir de la carte Ethernet (lorsque vous envoyez un paquet à, disons googles 8.8.8.8, vous l'envoyez à votre MAC de routeurs avec 8.8.8.8 comme dst. IP. La machine doit avoir le transfert ip activé bien sûr.
mulaz
qu'en est-il des attaques contre l'avion de contrôle? Avec une adresse source spécialement conçue comme 127.0.0.1, il est possible de contourner certaines ACL?
sdaffa23fdsf
6

Oui. Étonnamment, il est possible d'usurper une adresse source de bouclage. De toute évidence, vous n'obtiendrez aucune réponse, donc votre paquet usurpé doit également inclure un exploit. Il sera également arrêté sur un routeur, vous devez donc être sur le même réseau local que la victime. Le trou distant CVE-2014-9295 était exploitable de cette façon.

Il s'avère que OS X et le noyau Linux se comportent de la même manière dans ce cas. Tout paquet IP arrivant sur une interface externe et avec l'IP source 127.0.0.1 sera immédiatement supprimé. Mais si nous utilisons IPv6 à la place, nous pouvons en fait usurper :: 1 et envoyer des paquets en mode contrôle au démon (certaines distributions Linux ont des règles de pare-feu en place qui protègent contre cela, par exemple Red Hat). Ainsi, si nous sommes sur le même réseau local, nous pouvons envoyer des paquets usurpés à l'adresse link-local de la cible et contourner les restrictions IP.

http://googleprojectzero.blogspot.de/2015/01/finding-and-exploiting-ntpd.html

sourcejedi
la source
C'est la vraie réponse ...
DeepS1X
3

Les données de bouclage ne parviennent généralement jamais au réseau. Il est intercepté et, bien, bouclé avant que cela n'arrive. Puisqu'il n'atteint jamais le réseau réel, rien sur le réseau ne peut l'intercepter.

Hennes
la source
1

Non. Le bouclage est codé en dur /etc/hosts- c'est le premier endroit où le résolveur recherchera un bouclage vers la traduction IP. À moins que vous ne puissiez modifier les / etc / hosts, vous ne pouvez pas le faire.

Si vous pouvez éditer / etc / hosts, vous êtes administrateur et vous pouvez donc tout faire.

mnmnc
la source