PoisonTap - saugt Cookies ab, legt den internen Router offen und installiert Web-Backdoors auf gesperrten Computern
Erstellt von @SamyKamkar || https://samy.pl
Wenn PoisonTap (Raspberry Pi Zero & Node.js) in einen gesperrten/kennwortgeschützten Computer eingesteckt wird, dann:
- emuliert es ein Ethernet-Gerät über USB (oder Thunderbolt)
- übernimmt es den gesamten Internetverkehr der Maschine (obwohl es sich um eine niedrig priorisierte/unbekannte Netzwerkschnittstelle handelt)
- saugt HTTP-Cookies und Sitzungen aus dem Webbrowser ab und speichert sie für die Alexa-Top-1.000.000-Websites
- legt den internen Router für den Angreifer offen und macht ihn remote über ausgehende WebSocket- und DNS-Rebinding erreichbar (Dank an Matt Austin für die Rebinding-Idee!)
- installiert eine persistente webbasierte Backdoor im HTTP-Cache für Hunderttausende von Domains und gängigen Javascript-CDN-URLs – alle mit Zugriff auf die Cookies des Benutzers durch Cache-Poisoning
- erlaubt dem Angreifer, den Benutzer remote zu zwingen, HTTP-Anfragen zu stellen und Antworten (GET & POSTs) mit den Benutzer-Cookies auf jeder mit Backdoor versehenen Domain zurückzuproxen
- erfordert nicht, dass die Maschine entsperrt ist
- Backdoor und Remote-Zugriff bleiben bestehen, selbst nachdem das Gerät entfernt wurde und der Angreifer davonschlendert

(unglaubliche HTML5-Canvas-Animation von Ara)
PoisonTap umgeht die folgenden Sicherheitsmechanismen:
Demo
PoisonTap ist für die 5-Dollar-Raspberry Pi Zero gebaut, ohne weitere Komponenten außer einem Micro-USB-Kabel und einer microSD-Karte. Es kann auch auf jeder Raspberry Pi (1/2/3) mit einem Ethernet-zu-USB/Thunderbolt-Adapter arbeiten oder auf anderen Geräten, die USB-Gadgets emulieren können, wie USB Armory und LAN Turtle.
Live-Demonstration und weitere Details im Video verfügbar:

Ansprechpartner: @SamyKamkar // https://samy.pl
Veröffentlicht: 16. November 2016
Quellcode und Download: https://github.com/samyk/poisontap
Wie PoisonTap funktioniert
PoisonTap erzeugt einen kaskadenartigen Effekt, indem es das bestehende Vertrauen in verschiedene Mechanismen einer Maschine und eines Netzwerks ausnutzt, einschließlich USB/Thunderbolt, DHCP, DNS und HTTP, um einen Schneeballeffekt aus Informationsabfluss, Netzwerkzugriff und der Installation semi-permanenter Backdoors zu erzeugen.

Kurz gesagt führt PoisonTap Folgendes aus:
Netzwerk-Hijacking
- Der Angreifer steckt PoisonTap (z. B. eine präparierte Raspberry Pi Zero) in einen gesperrten Computer (auch wenn der Computer kennwortgeschützt ist)
- PoisonTap emuliert ein Ethernet-Gerät (z. B. Ethernet über USB/Thunderbolt) -- standardmäßig erkennen Windows, OS X und Linux ein Ethernet-Gerät, laden es automatisch als Netzwerkgerät mit niedriger Priorität und führen eine DHCP-Anfrage darüber aus, selbst wenn die Maschine gesperrt oder kennwortgeschützt ist
- PoisonTap antwortet auf die DHCP-Anfrage und versorgt die Maschine mit einer IP-Adresse. Die DHCP-Antwort ist jedoch so gestaltet, dass sie der Maschine mitteilt, der gesamte IPv4-Adressraum (0.0.0.0 - 255.255.255.255) sei Teil des lokalen Netzwerks von PoisonTap und nicht nur ein kleines Subnetz (z. B. 192.168.0.0 - 192.168.0.255)
- Normalerweise wäre es irrelevant, wenn sich ein sekundäres Netzwerkgerät mit einer Maschine verbindet, da es eine geringere Priorität als das vorhandene (vertrauenswürdige) Netzwerkgerät erhält und das Gateway für den Internetverkehr nicht ersetzt, aber...
- Jegliche Sicherheitsmechanismen für Routing-Tabellen / Gateway-Priorität / Dienstreihenfolge von Netzwerkschnittstellen werden durch die Priorität von „LAN-Verkehr“ gegenüber „Internetverkehr“ umgangen
- PoisonTap nutzt diesen Netzwerkzugriff aus, selbst als Netzwerkgerät mit niedriger Priorität, weil das Subnetz eines niedrig priorisierten Netzwerkgeräts eine höhere Priorität erhält als das Gateway (Standardroute) des höchst priorisierten Netzwerkgeräts
- Das bedeutet: Wenn Datenverkehr für 1.2.3.4 bestimmt ist, würde dieser normalerweise die Standardroute/das Gateway des primären (Nicht-PoisonTap-)Netzwerkgeräts treffen, aber PoisonTap erhält den Verkehr tatsächlich, weil das „lokale“ Netzwerk/Subnetz von PoisonTap angeblich 1.2.3.4 enthält – und jede andere existierende IP-Adresse ;)
- Aus diesem Grund läuft der gesamte Internetverkehr über PoisonTap, obwohl die Maschine mit einem anderen Netzwerkgerät mit höherer Priorität und ordnungsgemäßem Gateway (dem echten WLAN, Ethernet usw.) verbunden ist
