La Fonera…quel coso bianco inaccessibile!


Per molti versi questo articolo è un “qualcosa di già visto”, quindi riproporre la solita pappina è assurdo, lo so lo so, potrei parlare di tantissime altre cose, potrei insultare qualcuno pubblicamente o potrei semplicemente guardare un film in TV…ma io odio la TV, quindi sviluppatevi sto hack su LaFonera.

In primis apriamo un qualsiasi editor di testo e creiamo un paio di files html, il primo lo chiameremo “primo.html” con questo codice:

<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>

Il secondo lo chiameremo “secondo.html” e dovrà contenere questo codice:

<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>

Fatto questo, salvati i files sul nostro desktop, dovremmo passare alla configurazione dei parametri di rete sul nostro pc, che ci serviranno ad accedere al nostro apparato LaFonera.
Dobbiamo configurare la eth0 su questi parametri:

IP: 169.254.255.2

Subnet Mask: 255.255.255.0

Gateway: 169.254.255.1

DNS: 169.254.255.1

Colleghiamo il cavo ethernet alla Fonerina e clickiamo sul file primo.html creato in precedenza, accediamo all’apparato inserendo “admin” come username e “admin” come password. Questo file ci da la possibilità di “aprire” il firewall della Fonerina, quindi la porta 22 dello stesso sarà finalmente accessibile. Detto ciò, dalla porta 22 cosa ci si potrebbe aspettare?… un bel demone ssh, che attiveremo clickando sul file secondo.html. Fatto ciò possiamo effettivamente tentare l’accesso, apriamo un terminale e digitiamo:

black-hat:~# ssh -l root 192.254.255.1

In effetti la risposta ce la da, chiedendoci anche un password d’accesso, e noi forniremo quella data in precedenza: admin.

In moltissime guide trovate sul web si consiglia di digitare una serie di comandi che permettono l’avvio del demone ssh ad ogni avvio della Fonera, quindi mi sembra ovvio che la scriverò anche io…

La stringa da digitare per “tenere aperta” la ssh della fonera è questa:

# mv /etc/init.d/dropbear /etc/init.d/S50dropbear

Fatto questo dobbiamo editare il file di configurazione del firewall per impostare delle regole che ci permettano di accedere alla Fonera:

# 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

Una piccola particolarità della Fonera è quella che si “autoaggiorna”, scaricando il nuovo firmware direttamente dal proprio sito di riferimento, quindi dobbiamo evitare questo. Editiamo quindi attraverso il nostro editor:

# vi /bin/thinclient

decommentiamo la riga:

# . /tmp/.thinclient.sh

e inseriamo la stringa:

# cp /tmp/.thinclient.sh /tmp/thinclient-$(date ‘+%Y%m%d-%H%M’)

Questo serve a salvare una copia di eventuali aggiornamenti che scaricherà. Fatto ciò la nostra ssh dovrebbe essere aperta anche dopo eventuali riavvii dell’apparato.

Fatto questo possiamo passare all’installazione di “qualcosa di diverso”…

La scelta cade su Kamikaze, e per poter inserire un bel Kamikaze sulla nostra Fonerina dobbiamo accedere a “RedBoot”.

RedBoot è paragonabile al Grub o al Lilo, quindi è configurabile, quindi una volta aver ottenuto l’accesso via ssh all’apparato possiamo fare un “cat” e vedere cosa ci risponde:

root@OpenWrt:~# cat /proc/mtd
dev: size erasesize name
mtd0: 00030000 00010000 “RedBoot”
mtd1: 006f0000 00010000 “rootfs”
mtd2: 00570000 00010000 “rootfs1″
mtd3: 00010000 00010000 “config”
mtd4: 000b0000 00010000 “vmlinux.bin.l7″
mtd5: 0000f000 00010000 “FIS directory”
mtd6: 00001000 00010000 “RedBoot config”
mtd7: 00010000 00010000 “board_config”

Per configurare il bootloader dobbiamo utilizzare un firmware che permetta la scrittura nella partizione che contiene la configurazione di RedBoot, per poi collegarci via telnet sempre a RedBoot e ottenere una shell. Ovviamente possiamo cercare i files sul web, ma per una maggior facilità possiamo scaricarli direttamente dal CLAN nella pagina di download.

Dopo aver scaricato e scompattato i files (ad esempio sul desktop), possiamo passare all’azione, apriamo il nostro fido terminale e scriviamo:

# scp openwrt-ar531x-2.4-vmlinux-CAMICIA.lzma root@169.254.255.1:/tmp/

Apro una piccola parentesi, sto effettuando il passaggio del file con un tool chiamato SCP (Secure Copy) e serve a trasferire in modo sicuro files attraverso ssh. Chiusa parentesi.

Il secondo passo è quello di accedere alla Fonerina attraverso ssh e dare questi comandi:

# cd /tmp

# mtd -e vmlinux.bin.l7 write openwrt-ar531x-2.4-vmlinux-CAMICIA.lzma vmlinux.bin.l7 (installazione del nuovo kernel)

# reboot

Fatto ciò passiamo al passaggio del file out.hex presente sul nostro desktop(sempre se avete scompattato il file rar sul desktop ovviamente):

# scp out.hex root@169.254.255.1:/tmp/

Fatto questo passaggio con scp passiamo come prima al terminale:

# cd /tmp

# mtd -e “RedBoot config” write out.hex “RedBoot config”

# reboot

Ok siamo al punto clue, perchè a questo punto al riavvio dell’apparato, RedBoot si metterà in ascolto all’indirizzo 192.168.1.254 sulla porta 9000 per avere quindi una shell via telnet.

Fatto questo dobbiamo “risettare” la nostra ethernet su altri parametri:

IP: 192.168.1.166

Facciamo partire il nostro server tftp e diamogli come directory obbiettivo quella dove abbiamo scaricato i files, riavviamo la Fonerina scollegando e ricollegando il cavo di alimentazione, facciamo un telnet sull’indirizzo 192.168.1.254 porta 9000.

La risposta sarà:

RedBoot> fis list
Name      FLASH  addr      Mem  addr       Length       Entry point
RedBoot>

Adesso reinizializziamo le partizioni formattando la flash con “fis init”.

Fatto questo passiamo all’installazione e compilazione di OpenWrt. Innanzitutto scarichiamo l’immagine di OpenWrt, ovviamente possiamo scaricarla direttamente dal sito di riferimento, oppure come sempre, dal CLAN nell’apposita pagina dei download.

Diamo il comando per passare i files presi e scompattati:

RedBoot> ip_addr -h 192.168.1.166 -l 192.168.1.254/24

carichiamo quindi l’immagine nell’apparato:

RedBoot> load -r -v -b 0×80040450 openwrt-atheros-2.6-root.jffs2-64k

scriviamo quindi all’interno della flash l’immagine caricata:

RedBoot> fis create -b 0×80040450 -f 0xA8030000 -l 0×00700000 -e 0×00000000 rootfs

Questo comando richiede un tempo lunghissimo per la sua esecuzione, ovvimente è in fase di scrittur, quindi partiamo dal presupposto che se va via l’elettricità sono cavoli amari, così se stacchiamo qualcosa in fase…pertanto…NON TOCCATE NULLAci vorranno una ventina di minuti.

Fatto questo possiamo quindi cariacare il kernel Kamikaze:

RedBoot> load -r -b %{FREEMEMLO} openwrt-atheros-2.6-vmlinux.lzma

creiamo la partizione per il kernel:

RedBoot> fis create -r 0×80041000 -e 0×80041000 vmlinux.bin.l7

Ovviamente quando si parla di “scrittura” i tempi possono essere più o meno lunghi, quindi anche in questo caso potrebbe metterci del tempo, quindi come sopra NON TOCCATE NULLA FINCHE’ NON HA FINITO!

Adesso possiamo caricare ed eseguire il nuovo kernel:

RedBoot> fis load -l vmlinux.bin.l7

RedBoot> exec

Fine dei giochi.

Ora possiamo riavviare l’apparato e aprire il nostro browser dandogli l’indirizzo 192.168.1.1, trovare l’interfaccia web e iniziare le configurazioni del caso.

Ovviamente alcuni file, come precedentemente specificato, sono downloadabili dal CLAN nell’apposita pagina, il cui collegamento è anche a nella colonna di sinistra nella sezione download.

Tutti i test effettuati sono per puro e semplice motivo didattico.

About U-Black

Sono fatto della stessa materia della Bestemmia Pesante.
Questo articolo è stato pubblicato in Informatica, Linux, manuali, sicurezza ed etichettato con , , , , , , . Includi tra i preferiti il permalink.

Una risposta a La Fonera…quel coso bianco inaccessibile!

  1. Pingback: My mobile fonera, testing new software

Pensa prima di commentare

Please log in using one of these methods to post your comment:

Logo WordPress.com

You are commenting using your WordPress.com account. Log Out / Modifica )

Foto Twitter

You are commenting using your Twitter account. Log Out / Modifica )

Foto di Facebook

You are commenting using your Facebook account. Log Out / Modifica )

Connecting to %s