PoisonTap - siphonne les cookies, expose le routeur interne et installe une porte dérobée web sur les ordinateurs verrouillés
Créé par @SamyKamkar || https://samy.pl
Lorsque PoisonTap (Raspberry Pi Zero et Node.js) est branché sur un ordinateur verrouillé/protégé par mot de passe, il :
- émule un périphérique Ethernet via USB (ou Thunderbolt)
- détourne tout le trafic Internet de la machine (malgré le fait d'être une interface réseau de faible priorité/inconnue)
- siphonne et stocke les cookies HTTP et les sessions du navigateur web pour les 1 000 000 premiers sites Alexa
- expose le routeur interne à l'attaquant, le rendant accessible à distance via WebSocket sortant et DNS rebinding (merci Matt Austin pour l'idée du rebinding !)
- installe une porte dérobée web persistante dans le cache HTTP pour des centaines de milliers de domaines et d'URL Javascript CDN courantes, le tout avec accès aux cookies de l'utilisateur via l'empoisonnement du cache
- permet à l'attaquant de forcer à distance l'utilisateur à faire des requêtes HTTP et à renvoyer les réponses (GET & POST) avec les cookies de l'utilisateur sur tout domaine piégé
- ne requiert pas que la machine soit déverrouillée
- les portes dérobées et l'accès à distance persistent même après le retrait du dispositif et le départ de l'attaquant

(incroyable animation HTML5 canvas par Ara)
PoisonTap contourne les mécanismes de sécurité suivants :
Démo
PoisonTap est conçu pour le Raspberry Pi Zero à 5 $ sans aucun composant supplémentaire autre qu'un câble micro-USB et une carte microSD, ou peut fonctionner sur n'importe quel Raspberry Pi (1/2/3) avec un dongle Ethernet-vers-USB/Thunderbolt, ou peut fonctionner sur d'autres appareils capables d'émuler des gadgets USB tels que USB Armory et LAN Turtle.
Démonstration en direct et plus de détails disponibles dans la vidéo :

Point de contact : @SamyKamkar // https://samy.pl
Sortie : 16 novembre 2016
Code source et téléchargement : https://github.com/samyk/poisontap
PoisonTap produit un effet en cascade en exploitant la confiance existante dans divers mécanismes d'une machine et d'un réseau, notamment USB/Thunderbolt, DHCP, DNS et HTTP, pour produire un effet boule de neige d'exfiltration d'informations, d'accès au réseau et d'installation de portes dérobées semi-permanentes.

En résumé, PoisonTap effectue les opérations suivantes :
Détournement de réseau
- L'attaquant branche PoisonTap (comme un Raspberry Pi Zero « armé ») sur un ordinateur verrouillé (même si l'ordinateur est protégé par mot de passe)
- PoisonTap émule un périphérique Ethernet (par exemple, Ethernet sur USB/Thunderbolt) -- par défaut, Windows, OS X et Linux reconnaissent un périphérique Ethernet, le chargent automatiquement comme périphérique réseau de faible priorité et effectuent une requête DHCP à travers lui, même lorsque la machine est verrouillée ou protégée par mot de passe
- PoisonTap répond à la requête DHCP et fournit à la machine une adresse IP, mais la réponse DHCP est conçue pour dire à la machine que tout l'espace IPv4 (0.0.0.0 - 255.255.255.255) fait partie du réseau local de PoisonTap, plutôt qu'un petit sous-réseau (par exemple 192.168.0.0 - 192.168.0.255)
- Normalement, il serait sans importance qu'un périphérique réseau secondaire se connecte à une machine, car il recevrait une priorité inférieure à celle du périphérique réseau existant (de confiance) et ne supplanterait pas la passerelle pour le trafic Internet, mais...
- Toute sécurité de table de routage / priorité de passerelle / ordre de service des interfaces réseau est contournée en raison de la priorité du « trafic LAN » sur le « trafic Internet »
- PoisonTap exploite cet accès réseau, même en tant que périphérique réseau de faible priorité, car le sous-réseau d'un périphérique réseau de faible priorité reçoit une priorité supérieure à celle de la passerelle (route par défaut) du périphérique réseau de plus haute priorité
- Cela signifie que si le trafic est destiné à 1.2.3.4, alors que normalement ce trafic atteindrait la route/passerelle par défaut du périphérique réseau principal (non-PoisonTap), PoisonTap reçoit en réalité le trafic parce que le sous-réseau/réseau « local » de PoisonTap contient prétendument 1.2.3.4, et toutes les autres adresses IP existantes ;)
- Pour cette raison, tout le trafic Internet passe par PoisonTap, même si la machine est connectée à un autre périphérique réseau de priorité supérieure avec une passerelle appropriée (le vrai wifi, ethernet, etc.)
