Come funziona questo schema "Mass Router Infection" basato su HTML5?

24

Ho letto questo articolo affermando che puramente attraverso un sito web, "senza alcuna interazione dell'utente" l'infezione del router di massa è (/ era?) possibile. Non sono sicuro che questo problema esista ancora in quanto è stato pubblicato 3 anni fa, ma sono ancora curioso.

L'articolo afferma:

How could an attacker "own" a router? First, the victim would have to be lured into visiting a malicious website, which would then push JavaScript with instructions to the browser to tell it about all locally connected devices. Second, after learning about the network and finding a device to target, the malicious website would need to launch a brute-force attack and divine login credentials for the device. Then, after gaining access to the device, the website could then send malicious firmware, instructing the browser to install it on the targeted device.

Ricevo la parte su HTML5 che rilascia gli indirizzi IP che consentono a un hacker di vedere i dispositivi sulla rete, ma da lì non capisco come l'hacker si intrometta e controlli i dispositivi da remoto.

Non mi rendevo conto che potevo controllare anche il mio computer esclusivamente tramite la mia rete domestica, senza sfruttare un'applicazione come TeamViewer o LogMeIn. In che modo l'hacker tenta di inserire la mia password esclusivamente conoscendo il mio indirizzo IP?

Qualcuno può spiegare come funziona più chiaramente dell'articolo?

    
posta Viziionary 27.07.2015 - 14:26
fonte

2 risposte

16

Questi tipi di attacco potrebbero essere raggiunti tramite più CSRF attacchi contro gli indirizzi IP scoperti tramite lo strumento di ricognizione JavaScript.

Supponiamo che il tuo indirizzo IP locale sia 192.168.1.100 . Visitando il sito Web dannoso, viene eseguito JavaScript e trova il dispositivo 192.168.1.254 sulla rete. Ora, a seconda di quanto sia complesso il codice JavaScript, identificherà la marca e il modello del router, o tenterà semplicemente un attacco di forza bruta per sfruttare il router. Cioè, invierà ogni exploit nel suo database sul dispositivo per tentare di comprometterlo.

Supponiamo che il router BOB 2000 abbia una vulnerabilità in quanto il suo URL /config/remoteConfigSettings non implementa alcun tipo di controllo dell'autenticazione. Poiché questa pagina è accessibile solo dalla tua rete locale, normalmente non è vulnerabile agli attacchi basati su Internet.

Tuttavia, dopo che qualcuno sulla tua rete ha visitato il sito dannoso, questo potrebbe provare ogni attacco nel suo database per provare a sfruttare il router a 192.168.1.254 , incluso l'invio di una richiesta POST dal browser con il corpo del messaggio:

AllowInternetAccess=true&RequirePassword=false

a http://192.168.1.254/config/remoteConfigSettings .

Poiché questa pagina è vulnerabile, la richiesta fa sì che il lato WAN del router sia disponibile per l'amministrazione remota e disabilita l'autenticazione della password. Il sito Web dannoso può segnalare che è stato rilevato un dispositivo per l'utente malintenzionato e l'IP di Internet per consentire all'utente malintenzionato di eseguire l'accesso manualmente in un secondo momento o più probabilmente di aggiungerlo a un elenco IP per sfruttare automaticamente l'accesso remoto. Lo sfruttamento remoto potrebbe includere qualsiasi cosa, dalla modifica delle impostazioni DNS a un server controllato da un attaccante per un futuro attacco MITM, agli aggiornamenti del firmware dannoso al router stesso.

Oltre a verificare la presenza di vulnerabilità note, lo script dannoso potrebbe anche provare le normali richieste del router, ma autenticare con le credenziali predefinite o comunemente utilizzate.

Aggiornamento

Riguardo a @ Ajedi32's commentare sulla politica Same Origin: lo scanner non ha bisogno che il router sia nella stessa origine per poterlo impronta digitale. Utilizza una combinazione di IFrames e tag immagine per determinare se qualcosa e cosa è stato caricato e quindi confronta questi con gli IP predefiniti noti. Dal sito dell'autore :

The scanner accesses a IFrame to perform a generic scan of the network for known default router IP’s, once a connection has been made it then passes the IP address and performs a lookup of routers/devices based on that address. The reason I have decided to do this is because I wanted the scanner to grab as many devices as possible because it will be impossible to finger print everything.

Once a IP address has been found it passes this to the finger printing function which uses a image object to make a connection to the device to see if the finger printing graphic is there.

Tramite DNS Rebinding

Un'altra possibilità non discussa nell'articolo collegato è un attacco di Rebinding DNS . Supponiamo che il trucco IFrame rilevi che qualcosa è in esecuzione su 192.168.1.254 una volta che la vittima ha visitato evil.example.com . Lo script di rilevamento dell'attaccante esegue quindi uno script sul lato server per rebindare il DNS di evil.example.com in 192.168.1.254 . Poiché la voce DNS ha un TTL molto breve, il browser richiede la ricerca del nome e ottiene l'indirizzo del router. Poiché il router ha impostato le credenziali predefinite, la pagina dannosa può inviare richieste AJAX per leggere e modificare qualsiasi contenuto nella pagina di configurazione del router. Questo "ignora" lo stesso criterio di origine del router che ora ha la stessa origine del sito dannoso ( http://evil.example.com:80 ).

Questo attacco conterebbe sul browser che ricontrolla il DNS tempestivamente. La maggior parte dei browser ha la propria cache DNS esterna al sistema operativo e può memorizzare più a lungo la cache rispetto ai dettami TTL, ostacolando questo tipo di attacco.

    
risposta data 27.07.2015 - 14:45
fonte
6

Molti router dispongono di una console di amministrazione basata sul Web e sembra che sia questo che sfrutta questo attacco. Di frequente, la console di amministrazione è accessibile solo sulla LAN, piuttosto che consentire connessioni esterne - e questo JavaScript dannoso è ciò che viene utilizzato per il bridge dalla macchina dell'attaccante alla LAN.

Un potenziale modo in cui questo attacco potrebbe svolgersi:

  1. Carichi JavaScript dannosi nel browser della vittima. Non è necessario uscire dalla sandbox del browser, o altrimenti attaccare il PC dell'utente stesso - deve solo essere eseguito abbastanza a lungo da attaccare il router.
  2. JS esegue la scansione dei dispositivi di rete locali e determina dove si trova il router (ad esempio, 192.168.1.1 e 10.1.1.1 sono IP piuttosto comuni per un router).
  3. Il JS tenta quindi di accedere al pannello di amministrazione Web del router. Ricorda, a questo punto sei all'interno della LAN, quindi per quanto riguarda il router, questa è una connessione interna.
  4. Il pannello di amministrazione del router ti chiede un nome utente / password. C'è una buona probabilità che questo sia ancora l'impostazione predefinita per quel particolare tipo di router. Spesso sarà qualcosa come "admin: admin".
  5. Se l'utente malintenzionato è in grado di indovinare il nome utente / password corretti, ha accesso al pannello di amministrazione. Se c'è qualche possibilità di aggiornare il firmware dal pannello di amministrazione web (l'articolo dice che a volte è così), è finita - game over, l'attaccante può installare qualunque cosa vogliano.
risposta data 27.07.2015 - 14:40
fonte

Leggi altre domande sui tag