Algieri Luca

PoisonTap, una Raspberry per avvelenare la rete

Il dispositivo, a basso costo e realizzato con Raspberry Pi Zero e Node.js, è in grado di installare backdoor anche su computer protetti da password

PoisonTap, una Raspberry per avvelenare la reteRoma - Il noto hacker e ricercatore esperto in sicurezza Samy Kamkar ha pubblicato i dettagli del progetto PoisonTap, un dispositivo in grado di intercettare tutto il traffico Internet da un PC anche se protetto da password.

Kamkar aveva già in passato realizzato lo sniffer KeySweeper basato su Arduino Nano, in grado di catturare le digitazioni effettuate su una tastiera wireless, o il software OwnStar in grado di intercettare il traffico wireless trasmesso dall'app OnStar RemoteLink verso un'automobile compatibile.
PoisonTap è stato invece realizzato con una Raspberry Pi Zero, estremamente economica poiché venduta a 5 dollari, su cui è caricato un software realizzato con Node.js in grado di emulare un dispositivo Ethernet su USB venendo rilavato come tale dal PC al quale viene collegato.

Una volta collegata la Raspberry tramite cavo USB al pc da attaccare, PoisonTap emula un dispositivo Ethernet che per impostazione predefinita di Windows, OS X e Linux viene caricato come dispositivo di rete a bassa priorità inviando una richiesta DHCP anche nel caso il PC sia protetto da password.

Poiché la Raspberry è un computer in miniatura su cui gira Linux, il server DHCP permetterà a PoisonTap di rispondere alla richiesta DHCP fornendo al PC un indirizzo IP. La particolarità risiede nella risposta DHCP, programmata per indicare alla macchina che entra a far parte della rete locale di PoisonTap che questa rete è costituita dall'intero spazio IPv4 (da 0.0.0.0 a 255.255.255.255) piuttosto che da una piccola sottorete (ad esempio da 192.168.0.0 a 192.168.0.255).
Normalmente un dispositivo di priorità inferiore non verrebbe mai preferito rispetto ai dispositivi di rete esistenti e "fidati" (trusted) non sostituendo neanche il gateway che veicola il traffico verso Internet, mentre in questo caso ogni tabella di routing, priorità del gateway e ordine di servizio di sicurezza dell'interfaccia di rete viene by-passato dalla priorità del traffico locale LAN rispetto al traffico Internet.

In questo modo ogni indirizzo pubblico verrà visto come indirizzo della rete locale, veicolando quindi il normale traffico Internet verso il dispositivo PoisonTap poiché un dispositivo di rete a bassa priorità viene privilegiato rispetto al gateway che costituisce la rotta di default (default route), con la conseguenza che tutto il traffico internet verrà veicolato verso PoisonTap.

Kamkar ha spiegato ad Ars Technica che "La motivazione principale è stata quella di dimostrare che anche su un computer protetto da password e con protezione WPA2 sul WiFi, il sistema e la rete possono ancora essere attaccati rapidamente e facilmente. Credenziali esistenti dei siti web non HTTPS possono essere rubati e di fatto i cookie provenienti da siti HTTPS, che non abbiano impostato correttamente il flag "secure" sul cookie, possono anche essere dirottati".

Luca Algieri
Notizie collegate
24 Commenti alla Notizia PoisonTap, una Raspberry per avvelenare la rete
Ordina
  • Il primo punto del manuale della buona sicurezza dice che, se manca la sicurezza fisica, manca tutto il resto.
    non+autenticato
  • magari c'è in tutte le tastiere vendute e non lo sappiamo
    non+autenticato
  • Se ho ben o mal capito....l'accrocchio è un server dhcp ?
    E' anche server dns?
    E' anche device ethernet?
    E' anche router?
    Quindi quando lo collego ad una porta usb di un pc, diventa la route principale?
    Quindi è anche un proxy?
    Quindi fa da tcpdump?
    Il tutto imboscabile in un box-hdd-usb?
    ...figo......!!!
    non+autenticato
  • - Scritto da: azz
    > Se ho ben o mal capito....l'accrocchio è un
    > server dhcp
    > ?
    > E' anche server dns?
    > E' anche device ethernet?
    > E' anche router?
    > Quindi quando lo collego ad una porta usb di un
    > pc, diventa la route
    > principale?
    > Quindi è anche un proxy?
    > Quindi fa da tcpdump?
    > Il tutto imboscabile in un box-hdd-usb?
    > ...figo......!!!


    Leggi bene l'articolo. E' tutto riassunto nelle prime righe.

    Un hardware da 5 dollari in cui gira linux.
    Quindi dicendo che ci gira linux, ci girano tutti quei servizi e anche di piu'.
  • - Scritto da: azz
    > Se ho ben o mal capito....l'accrocchio è un
    > server dhcp
    > ?

    SI

    > E' anche server dns?

    Probabilmente NO

    > E' anche device ethernet?

    NO

    > E' anche router?

    SI e NO

    > Quindi quando lo collego ad una porta usb di un
    > pc, diventa la route
    > principale?

    SI

    > Quindi è anche un proxy?

    NO

    > Quindi fa da tcpdump?

    NO

    > Il tutto imboscabile in un box-hdd-usb?
    > ...figo......!!!

    SI.


    Se ho capito come funziona è una idea interessante.

    L'oggetto ha un DHCP server e uno script in javascript.

    Lo attacchi su una porta USB e tramite una OTG si spaccia per un device di rete, senza usare ethernet.

    Quando il PC si accorge del device ethernet gli chiede l'indirizzo IP e la subnet e lui gli fornisce il mondo trasformandolo nel default gateway, poi probabilmente redispone un secondo gateway specifico per un indirizzo remoto XXX.YYY.WWW.ZZZ, sulla reale rete del PC.

    Il resto dei giochetti lo fa con le iptables, reinstradando ogni pacchetto in ingresso verso il server XXX.YYY.WWW.ZZZ questo torna alla macchina principale che questa volta lo fa uscire dalla porta principale.

    Ed ecco che tutto il traffico della tua rete è inviato ad un server remoto, il resto è storia.
    non+autenticato
  • - Scritto da: Cracker Salato
    >
    > Ed ecco che tutto il traffico della tua rete è
    > inviato ad un server remoto, il resto è
    > storia.

    E come fa a spare quale gateway della rete locale utilizzare per arrivare al server remoto?
    non+autenticato
  • Che andava notte tempo a spaccar vetrine.
    non+autenticato
  • MA non mi sembra una gran novita'.... del resto tutto quel crapware "autodiscovery/autoconfig/in broadcast-multicast" che M$ e apple (e altri) si sono inventati negli anni, servira' pure a qualcosa no?SorrideCon la lingua fuori
    Mi riferisco a WPAD, LLMNR, NBT-NS, multicastDNS e Bonjour... + ovviamente il buon vecchio dhcp.
    non+autenticato
  • - Scritto da: bubba
    > MA non mi sembra una gran novita'.... del resto
    > tutto quel crapware "autodiscovery/autoconfig/in
    > broadcast-multicast" che M$ e apple (e altri) si
    > sono inventati negli anni, servira' pure a
    > qualcosa no?Sorride
    >Con la lingua fuori
    > Mi riferisco a WPAD, LLMNR, NBT-NS, multicastDNS
    > e Bonjour... + ovviamente il buon vecchio
    > dhcp.
    (si, mi autoquoto)
    no, ok samy e' un creativo... ma il gingillo doveva esser chiamato WebPoison o roba simile...
    - perche come network (l2/3) fa ben poca cosa (simpatico il trick del netblock grosso.. ma niente de che). E l'usb-faked-as-eth l'abbiamo fatto anche su android anni fa...
    - La parte di webpoison invece e' piu' complessa e interessante... penso pero' sia "rumorosa". E ovviamente per funzionare appieno (cfr websocket) serve ANCHE un remote server controllato dall'attaccante dove, presumo, metter nodejs

    Forse mi e' sfuggito all'occhiata (non l'ho nemmeno scaricato ancora..), ma il pkg non mi pare completissimo. Ok, niente .conf del dhcp (e quindi o prende i default o presuppone che l'utente se lo scriva)...
    ..ma sopratutto, per l'azione remota... DEVE fare del dns mangling... il server dell'attaccante DEVE avere un dns (lui nel suo sw ha hardcoded samy.pl ovviamente)... ma questa parte di cfg dov'e'? O ho capito male ?Con la lingua fuori
    non+autenticato
  • - Scritto da: bubba
    > - Scritto da: bubba
    > > MA non mi sembra una gran novita'.... del resto
    > > tutto quel crapware "autodiscovery/autoconfig/in
    > > broadcast-multicast" che M$ e apple (e altri) si
    > > sono inventati negli anni, servira' pure a
    > > qualcosa no?Sorride
    > >Con la lingua fuori
    > > Mi riferisco a WPAD, LLMNR, NBT-NS, multicastDNS
    > > e Bonjour... + ovviamente il buon vecchio
    > > dhcp.
    > (si, mi autoquoto)
    > no, ok samy e' un creativo... ma il gingillo
    > doveva esser chiamato WebPoison o roba
    > simile...
    > - perche come network (l2/3) fa ben poca cosa
    > (simpatico il trick del netblock grosso.. ma
    > niente de che). E l'usb-faked-as-eth l'abbiamo
    > fatto anche su android anni
    > fa...
    > - La parte di webpoison invece e' piu' complessa
    > e interessante... penso pero' sia "rumorosa". E
    > ovviamente per funzionare appieno (cfr websocket)
    > serve ANCHE un remote server controllato
    > dall'attaccante dove, presumo, metter
    > nodejs
    >
    > Forse mi e' sfuggito all'occhiata (non l'ho
    > nemmeno scaricato ancora
    ..), ma il pkg non mi
    > pare
    completissimo. Ok, niente .conf del dhcp (e
    > quindi o prende i default o presuppone che
    > l'utente se lo scriva)...
    >
    > ..ma sopratutto, per l'azione remota... DEVE fare
    > del dns mangling... il server dell'attaccante
    > DEVE avere un dns (lui nel suo sw ha hardcoded
    > samy.pl ovviamente)... ma questa parte di cfg
    > dov'e'? O ho capito male ?

    >Con la lingua fuori

    Rileggiti le parti che ho evidenziato.

    Se ti interessa tanto documentati e alla prossima risparmiaci il mare di puttanate.
    non+autenticato
CONTINUA A LEGGERE I COMMENTI
Successiva
(pagina 1/2 - 7 discussioni)