bluebay2014 - Fotolia
Quand l’USB laisse filtrer les identifiants
Un nano-ordinateur, un adaptateur USB Ethernet, et voilà comment collecter l’empreinte d’un identifiant utilisateur sur un ordinateur verrouillé.
« C’est super simple et cela ne devrait pas fonctionner. Mais ça fonctionne ». C’est ainsi que Rob Fuller, ingénieur en sécurité chez R5 Industries, présente l’attaque physique qu’il a découverte et qui permet de dérober rapidement l’empreinte, le hash, de l’identifiant d’un utilisateur sur une machine verrouillée – mais session active.
L’idée consiste à s’appuyer sur l’outil Responder de Laurent Gaffie, de Trustwave. Ce dernier est un empoisonneur pour les protocoles LLMNR, NBT-NS et MDNS : il répond à certaines requêtes NetBIOS – et par défaut, uniquement à celles liées au partage de fichiers, SMB – en ayant l’air légitime, pour mieux collecter des empreintes d’identifiants, voire dans certains cas, des identifiants en clair. Ces empreintes peuvent être ensuite utilisées pour se connecter à des ressources réseau, comme le ferait la machine dont ils ont été dérobés, une attaque dite pass-the-hash.
Mais comment forcer l’ordinateur visé à communiquer avec Responder ? C’est là qu’intervient l’adaptateur USB/Ethernet. L’outil de Laurent Gaffie est déployé sur un nano-ordinateur, le Hak5 Turtle, connecté à l’adaptateur Ethernet/USB, ce dernier étant ensuite connecté à l’ordinateur visé. L’attaque ne dure qu’une poignée de dizaines de secondes.
Dans son billet, Rob Fuller explique pourquoi l’attaque fonctionne : « parce que l’USB est plug-and-play. Cela signifie que même si un système est verrouillé, le périphérique est installé ». Et les adaptateurs Ethernet/USB font partie des périphériques auxquels le système fait naturellement confiance. En outre, « la plupart des ordinateurs font confiance à leur réseau local ». Et là, il ne s’agit que d’ajouter une interface pour celui-ci. Et justement, « la préférence réseau, lorsqu’il y en a plus d’une, est basée sur des indicateurs […] et par défaut, ‘câblé’ ou ‘nouveau/plus rapide’ gagne toujours ».
Rob Fuller indique avoir testé cette attaque avec succès contre Windows 98 SE, 2000 SP4, XP SP3, 7 SP1, Windows 10, mais également OS X El Capitan et Mavericks.
Dans les commentaires, un internaute s’interroge : « si cela fonctionne sous Linux, est-ce que cela peut fonctionner sous Android ? » Responder, le composant clé de l’attaque, utilise du code Python. Ce qui laisse envisager une telle perspective – avec QPython ou Kivy, notamment. Un autre lecteur souligne la question de l’identification du périphérique USB : il serait nécessaire que le smartphone se déclare comme un adaptateur réseau et là… « beaucoup de personnes chargent leurs smartphones sur leur PC ; cela n’attirera pas l’attention ».