PoisonTap : la nouvelle menace à 5$ (2016)

English

Le chercheur en sécurité, lanceur d’alerte et expert en “hacking appliqué” Sammy Kamkar a récemment dévoilé son nouveau coup de maître qui pourrait bien inquiéter plusieurs internautes et responsables des TIs. PoisonTap, un appareil basé sur un nano-ordinateur Rapberri Pi qui ne coûte que quelques dollars, permet de prendre aisément le contrôle d’un poste connecté à Internet. PoisonTap peut fonctionner aussi bien sur un PC Windows (et probablement Linux) que sur un Mac, et ce, même s’ils sont verrouillés. Voici ce qu’il faut savoir.

PoisonTap ne demande aucune grande expertise à assembler. Il s’initialise lorsqu’il est branché à un port USB et émule un périphérique Ethernet sur USB. L’ordinateur le reconnaît comme tel et envoie une requête DHCP, à laquelle PoisonTap retourne une adresse IP. Mais la “magie” (noire) de PoisonTap, c’est de formuler sa réponse DHCP de manière à ce que l’ordinateur croie que toutes les adresses IP d’Internet font partie du pseudo-réseau local de PoisonTap. Résultat : l’ordinateur envoie l’ensemble du trafic Internet à PoisonTap, plutôt que vers son interface principale. PoisonTap cherche ensuite un navigateur Web ouvert — même inactif en arrière-plan — à partir duquel il peut commencer son attaque. Il siphonne alors les cookies tout en plaçant des portes dérobées pour des milliers de sites populaires. Un ordinateur ainsi piraté peut être forcé à faire des requêtes avec les cookies de son utilisateur, permettant à l’attaquant à se faire passer à distance pour l’utilisateur. Tout ce processus se déroule en 30 secondes à peine.

Les fonctions-clés de PoisonTap

  • Ne nécessite pas que la machine soit déverrouillée.
  • Émulation d’un périphérique Ethernet sur USB (ou Thunderbolt).
  • Détournement de tout le trafic Internet de l’interface principale, en prétendant que son réseau local Ethernet contient l’espace IPv4 dans son entier (0.0.0.0 - 255.255.255.255). L’astuce est que le “trafic LAN” est prioritaire sur le “trafic Internet”.
  • À partir du navigateur Web, siphonnage et stockage de tous les cookies HTTP (de session et persistants) pour les 1 000 000 premiers sites Web du classement Alexa.
  • Installe dans le cache du navigateur une porte dérobée permanente (HTML+JavaScript) pour chacun des sites de la liste Alexa.
  • Expose le routeur connecté, le rendant potentiellement accessible à distance via WebSocket et DNS Rebinding.
  • Les portes dérobées et l’accès à distance persistent après le débranchement du port USB.
  • Permet à l’attaquant de forcer à distance la machine à faire des requêtes HTTP et des réponses (GET & POST) avec les cookies de l’utilisateur (pour le million de domaines avec porte dérobée).

Une “menace crédible”

L’expert en sécurité Rik Ferguson (Trend Micro) a affirmé à la BBC que PoisonTap constituait “une menace crédible”. “Dans des circonstances normales, un navigateur continue d’effectuer des requêtes et de communiquer même lorsqu’il n’est pas utilisé par l’internaute. Une fois que PoisonTap est branché, l’appareil peut exploiter cette communication et dérober des cookies de sessions provenant d’un million de sites Web parmi les plus populaires…” Une première requête HTTP est en effet nécessaire pour amorcer le processus de PoisonTap. Ces requêtes HTTP sont souvent effectuées si vous laissez des pages ouvertes, même si le navigateur est en arrière-plan. Car il devient bien rare qu’il n’y ait pas dans au moins l’un de vos onglets un script qui rafraîchit des données, recharge une publicité, ou envoie des informations à une plateforme d’analyses statistiques ou à tout autre outil traquant votre vie privée à des fins de marketing…

Sammy Kamkar explique très clairement le fonctionnement de son outil dans cette vidéo :

Pourquoi créer ce genre de logiciel malveillant?

Les “créations” de Kamkar cherchent à exposer au grand jour la vulnérabilité des systèmes en place. “Ma motivation première,” a-t-il expliqué, “est de montrer que même un ordinateur protégé par un mot de passe et connecté via WiFi WPA2 [c’est-à-dire le plus sûr] peut être quand même attaqué facilement et rapidement. L’information d’identification pour les sites Web non cryptés (HTTP) peut être siphonnée, et même un cookie provenant d’un site crypté (HTTPS) peut l’être si le ‘secure flag’ du cookie n’a pas été explicitement activé.

La mission de Sammy semble parfaitement remplie avec PoisonTap…

Comment se protéger?

Pour les ordinateurs potentiellement cibles, bloquer complètement les ports USB (et Thunderbolt) des utilisateurs n’est pas à exclure d’emblée. Kamkar (blagueur, mais pas que…) suggère d’utiliser de la colle à cette fin. Il est aussi proposé de fermer son (ses) navigateur(s) Web avant de quitter son poste, ce qui semble une solution impraticable pour bien des utilisateurs.

Ci-dessus, un nouveau venu dans l’arsenal sécuritaire des responsables TI.

Pour les serveurs Web, il est chaudement recommandé de n’utiliser que le mode HTTPS, ainsi que de sécuriser les cookies émis avec le flag approprié.

Mais retenons que l’attaque de PoisonTap est toujours physique dans un premier temps, le dispositif devant d’abord se brancher au port USB pour pouvoir contrôler le trafic Web de l’utilisateur. Il est donc très important de considérer la vulnérabilité accrue des utilisateurs d’ordinateurs portables, en déplacement ou se servant de leur appareil dans des endroits publics. Il convient de les informer en particulier et qu’ils comprennent bien la nature du risque. Une minute d’inattention, et il sera trop tard.


PoisonTap: the new $5 threat

Sammy Kamkar, security researcher, whistleblower and expert in “applied hacking”, recently revealed his latest masterstroke, which should worry Web users and IT security managers alike. PoisonTap, a device running on an inexpensive Raspberry Pi nano-computer, can easily take control of any computer connected to the Internet. PoisonTap works on both Windows PCs (and probably Linux) and Macs, even when locked. Here’s how.

PoisonTap requires no advanced skills to operate. It boots up when connected to a USB port, posing as an Ethernet-over-USB device. The computer recognizes it as such and sends it a DHCP request, to which PoisonTap returns an IP address. But PoisonTap’s (black) “magic” is to send its DHCP response in such a way as to make the computer believe that all IP addresses on the Internet are part of PoisonTap’s pseudo-local network. The result is that the computer sends all Internet traffic to PoisonTap rather than to its main interface. PoisonTap then searches for an open Web browser – even an inactive one in the background will do – from which it launches its attack, siphoning cookies while installing back doors for thousands of popular sites. Hacked computers are then forced to make requests using its user’s cookies, allowing the hacker to pose as the user remotely. All in less than 30 seconds.

PoisonTap’s Key Features

  • Does not require the computer to be unlocked.
  • Emulates an Ethernet peripheral on USB (or Thunderbolt).
  • Diverts all Internet traffic from the main interface, acting as if its local Ethernet network contained the entire IPv4 space (0.0.0.0 - 255.255.255.255). The trick is that LAN traffic has priority over Internet traffic.
  • From the Web browser, siphons and stores all HTTP cookies (session and persistent) for the top 1,000,000 Alexa Web sites.
  • Installs a permanent back door in the browser’s cache (HTML+JavaScript) for each Alexa-listed Web site..
  • Exposes connected routers, making them accessible remotely through WebSocket and DNS Rebinding.
  • Back doors and remote access remain enabled even after the USB device is removed.
  • Allows the hacker to remotely force the machine to make HTTP requests and responses (GET & POST) using the user’s cookies for the top one million domains with a back door.

A “plausible” threat

Security expert Rik Ferguson, of Trend Micro, told the BBC the device was a plausible threat. "[In normal circumstances] Even when you are not using a web browser it is still making requests and communicating - due to updates or ads. Once the device is plugged in it exploits that communication and steals session cookies from the top one million websites," said Mr Ferguson.

An initial HTTP request is necessary to initiate the process for PoisonTap. Such HTTP requests are usually made by pages left open, even when the browser is in the background. Indeed, it would be unusual for this not to work, since at any given time, at least one page is going to be refreshing data, reloading an ad, or sending data to an analytics platform or any other usage-tracking tool for marketing purposes…

Sammy Kamkar explains how his tool works in this video:

Why would anyone even create such malware?

Kamkar’s “creations” seek to expose system vulnerabilities for all to see. “The primary motivation is to demonstrate that even on a password-protected computer running off of a WPA2 Wi-Fi, your system and network can still be attacked quickly and easily. Existing non-HTTPS website credentials can be stolen, and, in fact, cookies from HTTPS sites that did not properly set the ‘secure flag’ on the cookie can also be siphoned,” said Sammy.

Sammy’s mission seems to have been accomplished with PoisonTap…

How to protect yourself

For computers that make an easy target, you may have to physically plug up your USB ports (and Thunderbolt). Kamkar only half jokingly suggests using cement. Another suggestion is to close all of your Web browsers before leaving your machine unattended for any amount of time, which is not terribly practical for many users.

Above: the latest addition to the IT security manager’s tool box.

Just remember that to launch an attack, PoisonTap needs physical access first, requiring the plugging of hardware into a USB port to control the user’s Web traffic. Hence the importance of considering the enhanced vulnerability of laptop users who work on the road and in public places. Such users need to be aware of the risk; one moment’s inattention is all it takes