Andrea Beggi

For a list of all the ways technology has failed to improve the quality of life, please press "3".

Hacking de La Fonera

A T T E N Z I O N E ! Questo post ha piu' di sei mesi. Le informazioni contenute potrebbero non essere aggiornate.

FON ha rilasciato i sorgenti del firmware. Purtroppo perchè l’unità accetti un firmware, il suo formato binario compilato deve essere firmato con una chiave che solo FON ha, quindi non è possibile uploadare firmware non ufficiali.
L’interfaccia web non permette di modificare molto.
Due ragazzi tedeschi sono riusciti a far eseguire un codice al router, in modo da ottenere l’accesso SSH senza dover aprire l’unità. Tale accesso permette un controllo completo sul router, consentendo ad esempio di aprire porte TCP, cosa impossibile con la configurazione standard.
Questa è la pagina che spiega come fare.
Giorgio ed io ci abbiamo giocato un po’ e ci siamo riusciti (cioè lo ha fatto Giorgio, che io di Perl non ne so nulla).
Ecco il risultato:
Vinton:~ Andrea$ ssh 192.168.11.1 -l root
root@192.168.11.1's password:
BusyBox v1.1.3 (2006.08.17-19:56+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

Fonera Firmware (Version 0.7.0 rev 4) -------------
*
* Based on OpenWrt - http://openwrt.org
* Powered by FON - http://www.fon.com
---------------------------------------------------
root@OpenWrt:~#
root@OpenWrt:~# uname -a
Linux OpenWrt 2.4.32 #4 Thu Aug 17 21:48:03 UTC 2006 mips unknown
root@OpenWrt:~# cat /proc/cpuinfo
system type: Atheros AR531X_COBRA
processor: 0
cpu model: MIPS 4KEc V6.4
BogoMIPS: 183.50
wait instruction: yes
microsecond timers: yes
tlb_entries: 16
extra interrupt vector: yes
hardware watchpoint: no
VCED exceptions: not available
VCEI exceptions: not available
root@OpenWrt:~#
root@OpenWrt:~# df
Filesystem 1k-blocks Used Available Use% Mounted on
none 7128 44 7084 1% /tmp
/dev/mtdblock/2 5504 548 4956 10% /jffs
/ 1600 1600 0 100% /

Era da un po’ che stavo riflettendo sulle implicazioni relative alla possibilità di modificare da remoto la configurazione del router, tramite la pagine web del proprio account FON. Non ci è voluto molto perchè qualcuno trovasse una vulnerabilità.

Aggiornamento: hanno turato la falla. Se avete hackerato La Fonera, al momento siete tra i pochi che vi possono accedere via SSH. Chi c’è c’è, chi non c’è….

11 Commenti

Michael Kebe | #

> LOGIN FAILED at shellfon.pl line 30, line 2.

You have to use your registered email and your Fon password of the Fon webpage (en.fon.com).

Andrea | #

Michael, of course I did. I just did not want to publish my account data. 🙂

dema | #

a step by step guide on dema fon blog is on the way , even FON will apply a patch to this code injection very soon . It doesn’t surprise me if today this vulnerability has been already patched.
Ciao Andrea

Pietro Cristofoli | #

>It doesn’t surprise me if today this vulnerability
>has been already patched.
>Ciao Andrea

It wouldn’t suprise me either …

It seems that this new wave of Fonera’s hacking how-toes has started drawing web writer’s attention to the issue of FON security and its compliance with the current Codice delle Comunicazioni Elettroniche (Code of the Electronic Communications). Here’s the new Marco Calamari’s piece: http://punto-informatico.it/p.aspx?id=1749773&r=PI

I’ve posted a reply and recycled it for the first post of my brand-new blog 🙂

I’ve also added a link to Andrea’s blog, hope he doesn’t mind.

fpippo | #

Tested with Airport Express and FON 0.6.6

1. Connect another router as client to a FON router via WDS
If the FON router has “Automatic WDS” enabled (this is default!) this is possible without any changes to the FON router settings.

2. Give a different SSID to the client router

3. Now connect to the WDS client.

Now you have full Access to LAN and Internet. No restrictions, no FON radius login, no security, no WPA, no WEP.
No cables and no changes to the default FON settings are needed.

At least, if you use the FON router in PPPoE mode WDS on the FON router stops working when PPPoE goes offline. It will resume if you apply some wireless settings on the FON router.

Greets, Silfire

Davide | #

Ciao, innanzitutto complimenti per il sito.
Ho provato ad effettuare l’injection tramite i 2 files htm da locale, i quali intervengono il primo sul iptables del router e il secondo lancia il server ssh dropbear.
Tuttavia, provando a connettermi via ssh1 all’indirizzo ip 192.168.10.1 riscontro errore di connection refused.
La versione del mio firmware è 0.7.1 r2.
Qualche idea? resto in attesa
saluti e grazie mille!
Davide

BiGAlex | #

Ho ricevuto oggi una fonera che si è automaticamente aggiornata al firmware 0.7.1 r2; inizialmente non sono riuscito a far nulla, nè sono riuscito a downgradare il firmware facendo l’upload di uno vecchio. Il buon vecchio trucco del reset però funziona sempre…!
In pratica basta scollegare internet (spegnete il modem ad es.), tener premuto il tasto di reset della fonera per 30 secondi, staccatele la corrente e riattaccatela. Aspettate un pò (anche 5 minuti!) che tutte le lucine si siano accese (wireless wireless compresa!), dopodichè collegatevi via browser all’indirizzo 169.254.255.1, dopo aver cambiato il vostro in 169.254.255.2 (la subnet mask può essere 255.255.255.0 o 255.255.0.0, indifferentemente).
Noterete che il firmware sarà al massimo un 0.7.1-r1, per cui via col vecchio hack dei 2 files (occhio, avevo una versione buggata del primo file, aveva un solo – prima di dport… ne occorrono 2 se la fonera vi restituisce codici di errore!) e poi via col secondo.
Riattivare le porte 22 in /etc/firewall.user e commentare l’esecuzione del /tmp/.thinclient in /bin/thinclient.
Non dimenticate inoltre di cambiare /etc/init.d/dropbear in /etc/init.d/S50dropbear per avviare sempre il demone ssh all’avvio della fonera.

Piccoli tips:
– Nel caso in cui vogliate collegarvi alla schermata di configurazione della fonera via lan, basta fare copia/incolla delle 2 regole ssh del firewall in /etc/firewall.user ed aggiungerne due nuove uguali, cambiando le porte da 22 in 80.
– Se siete stanchi della data in anno 2000, potete attivare il nuovo ntpclient. Per farlo rinominate /etc/init.d/ntpclient in /etc/init.d/S50ntpclient.
– Vi consiglio vivamente di cambiare la password di default della fonera (che è admin) dalla schermata di configurazione via browser!!

Spero di esservi stato utile! ^^
Ciao a tutti,
BiGAlex

sandhi | #

A me la release 0.7.1-r2 non voleva saperne di andarsene, per quanti tentativi di reset facessi. Alla fine ho trovato la soluzione in questa pagina, intervento dell’utente frevd.
Si tratta di tentare il reset secondo quanto consigliato già da altri, cioè partendo da uno stato di normale funzionamento (cioè con la fonera accesa da alcuni minuti), premendo reset per un minutino, ma poi staccando e LASCIANDO STACCATI PER MOLTO TEMPO (io per sicurezza ho aspettato due ore) alimentazione e cavo di rete.
A quel punto ho ottenuto il firmware con cui mi era arrivata da nuova.

sandhi | #

Aggiornamento:
dopo aver pasticciato un po’, mi è ricapitata la necessità di resettare la fonera alla versione di firmware originaria, e questa volta le due ore non sono bastate: solo lasciandola staccata tutta una notte il reset ha avuto successo.

EpocK | #

hei scusate io un po di tempo fa, dp aver ricevuto la fonera le ho aggiornato il firmware, al primo tentativo tt bene solo ke poi kome un … ho riaggiornato la fonera senza alcun file.
Quindi mi sn ritrovato con un brick tra le mani…
ora ho provato a resettare e tenere staccato dalla linea elettrica la fonera per un paio di giorni ma nn so se funziona e tanto meno so con ke indirizzo entrare… please help…