PoisonTap - sottrae cookie, espone il router interno e installa backdoor web su computer bloccati
Creato da @SamyKamkar || https://samy.pl
Quando PoisonTap (Raspberry Pi Zero e Node.js) viene collegato a un computer bloccato/protetto da password, esso:
- emula un dispositivo Ethernet tramite USB (o Thunderbolt)
- dirotta tutto il traffico Internet della macchina (nonostante sia un'interfaccia di rete a bassa priorità/sconosciuta)
- sottrae e memorizza cookie e sessioni HTTP dal browser web per i primi 1.000.000 di siti web Alexa
- espone il router interno all'attaccante, rendendolo accessibile da remoto tramite WebSocket in uscita e DNS rebinding (grazie a Matt Austin per l'idea del rebinding!)
- installa una backdoor web persistente nella cache HTTP per centinaia di migliaia di domini e URL Javascript CDN comuni, tutti con accesso ai cookie dell'utente tramite cache poisoning
- consente all'attaccante di forzare da remoto l'utente a effettuare richieste HTTP e a inoltrare indietro le risposte (GET e POST) con i cookie dell'utente su qualsiasi dominio backdoorato
- non richiede che la macchina venga sbloccata
- le backdoor e l'accesso remoto persistono anche dopo la rimozione del dispositivo e dopo che l'attaccante se ne va

(incredibile animazione HTML5 canvas di Ara)
PoisonTap elude i seguenti meccanismi di sicurezza:
Demo
PoisonTap è progettato per il Raspberry Pi Zero da $5 senza componenti aggiuntivi oltre a un cavo micro-USB e una scheda microSD, oppure può funzionare su qualsiasi Raspberry Pi (1/2/3) con un adattatore Ethernet-to-USB/Thunderbolt, oppure su altri dispositivi in grado di emulare gadget USB come USB Armory e LAN Turtle.
Dimostrazione dal vivo e maggiori dettagli disponibili nel video:

Punto di contatto: @SamyKamkar // https://samy.pl
Rilasciato: 16 novembre 2016
Codice sorgente e download: https://github.com/samyk/poisontap
Come funziona PoisonTap
PoisonTap produce un effetto a cascata sfruttando la fiducia esistente in vari meccanismi di una macchina e di una rete, tra cui USB/Thunderbolt, DHCP, DNS e HTTP, per generare un effetto valanga di esfiltrazione di informazioni, accesso alla rete e installazione di backdoor semi-permanenti.

In poche parole, PoisonTap esegue le seguenti operazioni:
Dirottamento della rete
- L'attaccante collega PoisonTap (ad esempio un Raspberry Pi Zero "armato") a un computer bloccato (anche se protetto da password)
- PoisonTap emula un dispositivo Ethernet (ad es., Ethernet over USB/Thunderbolt) -- di default, Windows, OS X e Linux riconoscono un dispositivo ethernet, caricandolo automaticamente come dispositivo di rete a bassa priorità ed eseguendo una richiesta DHCP su di esso, anche quando la macchina è bloccata o protetta da password
- PoisonTap risponde alla richiesta DHCP e fornisce alla macchina un indirizzo IP, tuttavia la risposta DHCP è costruita per comunicare alla macchina che l'intero spazio IPv4 (0.0.0.0 - 255.255.255.255) fa parte della rete locale di PoisonTap, anziché una piccola sottorete (ad es. 192.168.0.0 - 192.168.0.255)
- Normalmente sarebbe irrilevante se un dispositivo di rete secondario si connettesse a una macchina, poiché gli verrebbe data una priorità inferiore rispetto al dispositivo di rete esistente (attendibile) e non sostituirebbe il gateway per il traffico Internet, ma...
- Qualsiasi sicurezza basata su tabella di routing / priorità del gateway / ordine di servizio delle interfacce di rete viene bypassata a causa della priorità del "traffico LAN" rispetto al "traffico Internet"
- PoisonTap sfrutta questo accesso alla rete, anche come dispositivo di rete a bassa priorità, perché la sottorete di un dispositivo di rete a bassa priorità riceve priorità più alta rispetto al gateway (rotta predefinita) del dispositivo di rete a priorità più alta
- Ciò significa che se il traffico è destinato a 1.2.3.4, mentre normalmente questo traffico colpirebbe la rotta predefinita/gateway del dispositivo di rete primario (non-PoisonTap), in realtà PoisonTap riceve il traffico perché la rete/sottorete "locale" di PoisonTap presumibilmente contiene 1.2.3.4 e ogni altro indirizzo IP esistente ;)
- Per questo motivo, tutto il traffico Internet passa attraverso PoisonTap, anche se la macchina è connessa a un altro dispositivo di rete con priorità più alta e gateway corretto (il vero wifi, ethernet, ecc.)
