Mostra tutti

PoisonTap – Come hackerare un computer via USB con Raspberry Pi Zero e codice Node.js

PoisonTap – Come hackerare un computer via USB con Raspberry Pi Zero e codice Node.js

PoisonTap, un exploit basato su Raspberry Pi Zero e codice Node.js che permette di aggirare la schermata di blocco di Pc e Mac e di installare una backdoor persistente. In questo modo l’hacker può leggere tutto il traffico web non Https.

Raspberry Pi Zero, PoisonTap, Hacking, Node.js,

Un computer hackerato con una Raspberry Pi Zero e una spesa complessiva di cinque dollari? Da oggi è possibile. Il metodo l’ha illustrato Samy Kamkar, ingegnere noto alla comunità di pirati informatici “buoni” per avere in passato escogitato altri diabolici trucchetti low cost. Il nuovo exploit, ribattezzato PoisonTap, si basa sulla piccola scheda e su software open source scritto in Node.js e pubblicato dallo stesso Kamkar. Una volta collegata al Pc o al Mac via Usb, la Raspberry “alterata” può far guadagnare l’accesso al sistema anche se protetto con password, bypassando letteralmente la schermata di blocco. E non solo. PoisonTap installa una backdoor permanente nella cache Http, la quale rimane anche dopo aver rimosso la scheda dal computer vittima.

Il punto forte dell’exploit è che nemmeno una password effettivamente ben congegnata può bloccarlo. Perché PoisonTap non cerca di forzare la chiave d’accesso, ma la aggira completamente simulando una connessione Ethernet tramite il dispositivo Usb connesso alla porta. In questo modo il computer inizia a inviare traffico web non crittografato al controller (cookie e sessioni dei browser), che lo può così leggere.

Ed eventuali impostazioni di sicurezza della rete wireless a nulla potranno contro PoisonTap, perché il marchingegno messo a punto da Kamkar è progettato per dare priorità alla scheda Raspberry, “declassando” così il network WiFi a cui il Pc/Mac era connesso in precedenza. “Il primo obiettivo (del progetto, ndr) è stato dimostrare che anche computer protetti da password e connessi a reti con Wpa2 possono essere attaccati velocemente e facilmente”, ha spiegato l’hacker ad Arstechnica.

“Possono essere rubate tutte le credenziali non Https memorizzate, così come tutti i cookie derivanti da siti Https che però non riportano un marcatore ‘sicuro’ al loro interno (secure flag, ndr). Ma la minaccia di PoisonTap non si limita al singolo computer a cui viene collegata la Raspberry, perché il malware è in grado di rendere visibile il router domestico o aziendale all’esterno, facendolo diventare così accessibile da remoto.

Cosa fà PoisonTap (Raspberry Pi Zero & Node.js) appena inserito in un computer:

  • emula un dispositivo Ethernet su USB (o Thunderbolt)
  • dirotta tutto il traffico Internet dalla macchina (pur essendo un’interfaccia sconosciuta di rete a bassa priorità)
  • negozia HTTP cookie e le sessioni del browser web
  • espone il router interno all’attacco degli Hacker, rendendolo accessibile da remoto via WebSocket  e rebinding DNS
  • installa una backdoor web-based persistente nella cache HTTP per centinaia di migliaia di domini e  Javascript CDN URL, tutte con accesso ai cookie dell’utente tramite cache poisoning
  • permette all’attaccante di forzare in remoto l’utente e di effettuare richieste HTTP (GET e POST)  qualsiasi dominio backdoored
  • backdoor e accesso remoto persistono anche dopo che il dispositivo è stato rimosso
  • Network Hijacking
  • Cookie Siphoning
  • Remotely Accessible Web-Based Backdoors
  • Internal Router Backdoor & Remote Access
  • Recap of the DNS server
  • Additional Remotely Accessible Web-Based Backdoors

La tecnica utilizzata da Kamkar ricorda molto quella impiegata da Rob Fuller, principal security engineer di R5 Industries, che a settembre aveva mostrato come bypassare la schermata di blocco di un computer sfruttando un mini Pc connesso via Usb al dispositivo vittima. In quel caso la spesa da sostenere era maggiore (dai 50 ai 155 dollari) e il danno era inferiore, in quanto il malware non installava alcuna backdoor persistente.

# Instructions adjusted from https://gist.github.com/gbaman/50b6cca61dd1c3f88f41
sudo bash

# If Raspbian BEFORE 2016-05-10, then run next line:
BRANCH=next rpi-update

echo -e "\nauto usb0\nallow-hotplug usb0\niface usb0 inet static\n\taddress 1.0.0.1\n\tnetmask 0.0.0.0" >> /etc/network/interfaces
echo "dtoverlay=dwc2" >> /boot/config.txt
echo -e "dwc2\ng_ether" >> /etc/modules
sudo sed --in-place "/exit 0/d" /etc/rc.local
echo "/bin/sh /home/pi/poisontap/pi_startup.sh" >> /etc/rc.local
mkdir /home/pi/poisontap
chown -R pi /home/pi/poisontap
apt-get update && apt-get upgrade
apt-get -y install isc-dhcp-server dsniff screen nodejs

PoisonTap – La lista dei files in the repo:

  • backdoor.html
  • backend_server.js
  • pi_poisontap.js
  • pi_startup.sh
  • target_backdoor.js
  • target_injected_xhtmljs.html
  • poisontap.cookies.log

PoisonTap evades the following security mechanisms:

  • Password Protected Lock Screens
  • Routing Table priority and network interface Service Order
  • Same-Origin Policy
  • X-Frame-Options
  • HttpOnly Cookies
  • SameSite cookie attribute
  • Two-Factor/Multi-Factor Authentication (2FA/MFA)
  • DNS Pinning
  • Cross-Origin Resource Sharing (CORS)
  • HTTPS cookie protection when Secure cookie flag & HSTS not enabled

Termini di Ricerca correlati: poisontap github – install poisontap – poisontap raspberry pi 3 – samy kamkar – buy raspberry pi zero – raspberry pi zero italia – node js 

 

libro vita da hacker