I nostri computer, cellulari, stampanti e sempre più spesso televisori o altri dispositivi sono connessi simultaneamente ai router domestici, i quali ci permettono di connetterci alla rete esterna e navigare in internet. Purtroppo (o per fortuna) anche questi sono vulnerabili ad attacchi esterni o interni e devono essere protetti sempre al massimo, in modo che nessuno possa prendere il controllo dei nostri dispositivi passando da essi.
I passi da effettuare per entrare in un router sono:
- Identificare lo stesso (indirizzo IP, marca, modello);
- Scansionare le porte attive;
- Entrare nel router;
- Craccare la password;
- Analizzarlo dall’interno, ossia:
- controllare gli utenti;
- analizzare le informazioni;
- monitorare il traffico;
- inserire una backdoor;
- e molto altro.
Nel seguente articolo eseguirò ogni passo in modo da poter analizzare il proprio router (ricordo che l’accesso abusivo a dispositivi elettronici senza avere il permesso è perseguibile penalmente) e renderlo sicuro da possibili attacchi.
Identificare il router
Il primo passo è il più semplice, bisogna scoprire l’indirizzo IP interno del router a cui siamo connessi. La maggior parte delle reti permette di effettuare un traceroute ed osservare i passi che compiono i pacchetti inviati dal nostro dispositivo ad un sito visitato. Su Linux basta digitare (per chi avesse Windows il comando è tracert):
root@kali:~# traceroute google.it //*ho scelto un sito casuale*// traceroute to google.it (216.58.198.35), 30 hops max, 60 byte packets 1 gateway (192.168.1.1) 1.619 ms 4.508 ms 4.452 ms 2 * * * . . . . 9 108.170.233.97 (108.170.233.97) 58.401 ms 71.136 ms 60.370 ms 10 mil04s04-in-f35.1e100.net (216.58.198.35) 62.630 ms 76.799 ms 45.007 ms
Come potete vedere il primo passaggio che compie è quello di passare per il router, e ora conosco l’indirizzo IP locale. Nel caso (potrebbe succedere) la rete non permetta un traceroute è possibile scoprirlo anche digitando ifconfig e deducendo l’indirizzo dall’output ricevuto (nel mio caso, dopo inet).
Scansione delle porte
Ormai è una tecnica su cui ci siamo esercitati in motli articoli, per chi fosse nuovo consiglio Scan di una rete. Tramite Nmap scansiono in maniera molto semplice tutte le porte del router per veder quale possibilità abbiamo per entrare e quali modi sono più semplici.
root@kali:~# nmap -sT 192.168.1.1 Starting Nmap 7.25BETA1 ( https://nmap.org ) at 2016-08-19 22:57 CEST Nmap scan report for 192.168.1.1 Host is up (0.017s latency). Not shown: 993 closed ports PORT STATE SERVICE 21/tcp open ftp 23/tcp open telnet 80/tcp open http 139/tcp open netbios-ssn 445/tcp open microsoft-ds 1900/tcp open upnp 20005/tcp open btx MAC Address: E8:[..]:F9 (Tp-link Technologies) Nmap done: 1 IP address (1 host up) scanned in 13.45 seconds
Entrare nel router
Per prima cosa noto la porta 80 aperta, per cui provo, digitanto l’indirizzo IP nel browser, a vedere se ha qualche tipo di protezione
Purtroppo, anche provando diverse combinazioni non riesco a trovare il nome utente e la password (ma si potrebbe utilizzare Burpsuite per un attacco di forza bruta o cercare la password di default tramite uno di questi tre siti). Sono comunque riuscito a trovare il modello, e questo potrebbe servire a trovare una password di default. È un bene che l’interfaccia di accesso sia protetta con credenziali forti e non con quelle di default. Se andate su un sito come questo, copiate il vostro indirizzo pubblico e lo incollate nella barra degli indirizzi del browser, scoprirete che la stessa interfaccia è disponibile al pubblico! Quindi visto chiunque incappi nel vostro indirizzo IP, potrebbe provare ad entrare nel vostro router, è meglio difendersi al meglio.
Cambio porta e provo ad utilizzare il servizio ftp attivo sulla 21
root@kali:~# ftp 192.168.1.1 Connected to 192.168.1.1. 220 Welcome to TP-LINK FTP server Name (192.168.1.1:root): admin 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files.
Ho inserito come nome utente admin e lo stesso per la password e sono dentro al router. Non le ho cambiate io, ma sono quelle di default. Solitamente tengo chiuso l’accesso FTP perchè non mi serve, ma quando l’ho installato era attivo e chiunque sarebbe potuto entrare molto facilmente (per chiudere la porta basta andare in impostazioni e disattivare l’accesso FTP).
Visto che sono dentro, provo a vedere cosa c’è dentro
ftp> ls 200 PORT command successful. Consider using PASV. 150 Here comes the directory listing. drwxrwxrwx 1 0 0 8192 Aug 01 09:43 volume drwxrwxrwx 1 0 0 8192 Aug 01 09:43 volume(SuperUser) 226 Directory send OK. ftp> cd volume 250 Directory successfully changed.
Cerco nel volume files che potrebbero interessarmi e trovandoli, effettuo i seguenti passi per trasferirlo sul mio dispositivo:
ftp> binary 200 Switching to Binary mode. ftp> get eserciziario1.pdf local: eserciziario1.pdf remote: eserciziario1.pdf 200 PORT command successful. Consider using PASV. 150 Opening BINARY mode data connection for eserciziario1.pdf (863758 bytes). 226 Transfer complete. 863758 bytes received in 0.13 secs (6.2773 MB/s)
Ora il file eserciziario.pdf è stato copiato nel mio computer e posso con tutta calma sfogliarlo. Per chi volesse altri comandi utili, li può consultare qui. Purtroppo questo modello di router non permette un accesso FTP a più alto livello (quindi all’interno del sistema) e con questo servizio mi fermo a questo punto. Se utilizzate questa funzione e avete un hard disk collegato al router, vi consiglio di modificare la password, in modo da evitare queste spiacevoli conseguenze. Dal terminale è possibile cancellare tutto ciò che è presente sul disco collegato, quindi meglio proteggerlo adeguatamente!
Analizzarlo dall’interno
Visto che FTP non mi permette di accedere ad altri file provo a connettermi con telnet.
root@kali:~# telnet 192.168.1.1 Trying 192.168.1.1... Connected to 192.168.1.1. Escape character is '^]'. username:admin password:
Come prima, provo un pò di credenziali e bingo, sono dentro! (in questo caso le password del mio modello di router erano numeri casuali e difficilmente con un attacco a forza bruta si sarebbero trovate. Le ho modificate appositamente per l’esempio pratico; ciò non toglie che si possano trovare con altri modelli, specie quelli più vecchi).
Dopo aver girovagato un pò per le varie configurazioni (potrei modificare praticamente tutto da questa interfaccia), riesco a trovare la password del Wi-Fi che è in chiaro e in bella vista.
Conclusioni
Purtroppo questo modello di router non permette (da quanto ho visto) di visualizzare gli utenti connessi o informazioni in merito al traffico dalla connessione via telnet, ma solo di impostare e configurare il router e le diverse modalità di connessione. C’è da dire che:
- nel caso di una chiavetta USB collegata ad esso, abbiamo potuto copiare e visualizzare tutti i file al suo interno sul nostro dispositivo;
- ci siamo collegati via telnet e abbiamo trovato la password del Wi-Fi;
- avremmo potuto modificare i DNS e dirigere tutto il traffico verso siti prescelti da noi.
Sono convinto che se i produttori di router impostassero password di default diverse o non aprissero porte che all’utente comune non servono minimamente, ci sarebbero molti meno problemi nell’ambito della sicurezza informatica. Se qualcuno volesse leggere articoli di approfondimento, consiglio vivamente TestRouter (un sito che permette di testare in maniere diverse il proprio router) e Reverse Engineer router firmware.
Se ti è piaciuto l'articolo condividi, dona, spargi il verbo! HackTips