NAT slipstreaming, un attacco bypass dà accesso a qualsiasi servizio TCP / UDP

Samy kamkar (un famoso ricercatore di sicurezza noto per la creazione di vari sofisticati dispositivi di attacco, come un keylogger su un caricatore del telefono USB) ha introdotto una nuova tecnica di attacco chiamata "NAT slipstreaming".

L'attacco consente, all'apertura di una pagina in un browser, di stabilire una connessione dal server dell'aggressore a qualsiasi porta UDP o TCP sul sistema dell'utente che si trova dietro il traduttore di indirizzi. Attack Toolkit è pubblicato su GitHub.

Il metodo si basa sull'ingannare il meccanismo di tracciamento della connessione ALG (Application Level Gateway) nei traduttori di indirizzi o firewall, utilizzato per organizzare l'inoltro NAT di protocolli che utilizzano più porte di rete (una per i dati e una per il controllo), come SIP. H323, IRC DCC e FTP.

L'attacco è applicabile agli utenti che si connettono alla rete utilizzando indirizzi interni dall'intervallo intranet (192.168.xx, 10.xxx) e consente di inviare qualsiasi dato a qualsiasi porta (senza intestazioni HTTP).

Per eseguire un attacco, è sufficiente che la vittima esegua il codice JavaScript preparato dall'aggressoreAd esempio, aprendo una pagina sul sito Web dell'aggressore o visualizzando un annuncio dannoso su un sito Web legittimo.

In una prima fase, l'attaccante ottiene informazioni sull'indirizzo interno dell'utente, Questo può essere determinato da WebRTC o, se WebRTC è disabilitato, da attacchi di forza bruta con misurazione del tempo di risposta quando si richiede un'immagine nascosta (per gli host esistenti, un tentativo di richiedere un'immagine è più veloce rispetto a quelli inesistenti a causa di timeout prima di restituire una risposta TCP RST).

Nella seconda fase, il codice JavaScript eseguito nel browser della vittima genera una grande richiesta HTTP POST (che non si adatta a un pacchetto) al server dell'aggressore utilizzando un numero di porta di rete non standard per avviare l'ottimizzazione dei parametri di frammentazione TCP e della dimensione MTU sullo stack TCP della vittima.

In risposta, il server dell'attaccante restituisce un pacchetto TCP con l'opzione MSS (Dimensione massima del segmento), che determina la dimensione massima del pacchetto ricevuto. Nel caso di UDP, la manipolazione è simile, ma si basa sull'invio di una grande richiesta TURN WebRTC per attivare la frammentazione a livello IP.

«NAT Slipstreaming sfrutta il browser dell'utente in combinazione con il meccanismo di tracciamento della connessione Application Level Gateway (ALG) integrato in NAT, router e firewall concatenando l'estrazione IP interna tramite un attacco temporale o WebRTC, rilevamento della frammentazione di IP e MTU remoti automatizzati, massaggiamento delle dimensioni del pacchetto TCP, uso improprio dell'autenticazione TURN, controllo preciso dei limiti dei pacchetti e confusione del protocollo dovuta all'abuso del browser ", ha affermato Kamkar in un'analisi.

L'idea principale è che, conoscendo i parametri di frammentazione, può invia una richiesta HTTP di grandi dimensioni, la cui coda cadrà sul secondo pacchetto. Allo stesso tempo, la coda che entra nel secondo pacchetto viene selezionata in modo che non contenga intestazioni HTTP e viene tagliata su dati che corrispondono completamente a un altro protocollo per il quale è supportato il NAT traversal.

Nella terza fase, utilizzando la manipolazione di cui sopra, il codice JavaScript genera e invia una richiesta HTTP appositamente selezionata (o TURN per UDP) alla porta TCP 5060 del server dell'aggressore, che, dopo la frammentazione, verrà suddivisa in due pacchetti: a pacchetto con intestazioni HTTP e parte dei dati e un pacchetto SIP valido con l'IP interno della vittima.

Il sistema per il monitoraggio delle connessioni nello stack di rete considererà questo pacchetto come l'inizio di una sessione SIP e consentirà l'inoltro dei pacchetti per qualsiasi porta selezionata dall'attaccante, supponendo che questa porta venga utilizzata per la trasmissione dei dati.

L'attacco può essere effettuato indipendentemente dal browser utilizzato. Per risolvere il problema, gli sviluppatori Mozilla hanno suggerito di bloccare la possibilità di inviare richieste HTTP alle porte di rete 5060 e 5061 associate al protocollo SIP.

Anche gli sviluppatori dei motori Chromium, Blink e WebKit prevedono di implementare una misura di protezione simile.

fonte: https://samy.pl


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.