Skip navigation

Di guide sull’hacking del SamKnows whitebox ce ne sono anche altre in rete ma la mia ha due pregi: essere in italiano e spiegare passo passo come fare.

Partiamo dal dispositivo- Si tratta di un tp-link wr741nd distribuito con il progetto europeo di misurazione internet SamKnows che serve a misurare le effettive prestazioni delle connessioni ADSL sul territorio europeo e precaricato con un firmware appositamente creato per inoltrare ai server di Samknows misurazioni sull’efficienza della rete.

Dopo aver partecipato personalmente al progetto, l’ho consigliato ad un amico ed a lui è arrivato questo dispositivo che però non funzionava. Comunicato il tutto alla SamKnows, hanno provveduto ad inviarne un’altro funzionante e lasciando quello rotto al mio amico che lo ha tenuto inscatolato in un armadio.

Per puro caso mi sono imbattuto in un forum riguardante il tplink wr741nd e parlavano di installarvi un firmware custom gargoyle.

A questo punto ho chiesto al mio amico di prestarmi il dispositivo per fare qualche prova e lui, ben volentieri, me lo ha addirittura regalato.

Appena venuto in possesso del dispositivo mi sono messo in azione approntando tutto il necessario.

  • In primo luogo ho scaricato questo firmware (ho preferito la ver. 1.4.5);
  • poi ho installato le funzionalità aggiuntive di Windows 7 di client telnet, server  telnet e client ftpd. Per installare questi componenti, andate in “pannello di controllo>programmi>programmi e funzionalità>attivazione e disattivazione delle funzionalità windows” e qui ho spuntato quello che serve
  • mi sono munito di un cavo lan
  • ho scaricato ed installato l’app “Filezilla Server”

Per prima cosa, creiamo una cartella “share” nella radice di windows (su c:) e copiamoci il file del firmware scaricato prima e rinominiamolo in tplink.bin.

Una parte essenziale è l’installazione di Filezilla server. Ho installato lasciando le impostazioni di default ed anche quando, partito, chiedeva di dare l’indirizzo per l’amministrazione del server, ho lasciato tutto come da default.

Una volta aperta la gui di Filezilla, procedere così:

  • cliccare su “edit>settings” e nel campo “listen on these port” sostituire “21” con “1024” (le porte al di sotto di 1024 sono solo per uso amministrativo e quindi non funzionerebbero con telnet). Lasciate tutto il resto invariato e salvate cliccando su “ok”
  • cliccare su “edit>groups” e sulla destra click su “add” e nominare il gruppo “anonymous”. In alto a sinistra selezioniamo “Shared Folder” sulla finestra appena a destra clicchiamo su “add” e selezioniamo la cartella creata in precedenza dove abbiamo posizionato il firmware (share). Fatto questo cliccare su “ok” in basso ad sx.
  • cliccare su “edit>users” e sulla destra click su “add” e nominare l’utente “anonymous” ed attribuirgli l’appartenenza al gruppo “anonymous” precedentemente creato selezionandolo tramite il menù a tendina. Poi in alto a sinistra selezioniamo “Shared Folder” sulla finestra appena a destra clicchiamo su “add” e selezioniamo la cartella creata in precedenza dove abbiamo posizionato il firmware (share). Fatto questo cliccare su “ok” in basso ad sx. A questo punto Filezilla è pronto.

Passiamo ora alla parte hardware. Per prima cosa assegnamo alla nostra scheda di rete l’indirizzo statico 192.168.1.2 e come subnet mask 255.255.255.0 – tutto il resto non occorre quindi salviamo.

Colleghiamo un cavo lan tra il nostro computer e la prima porta sul router (la prima dopo quella in blu). Accendiamo il router e premiamo ripetutamente il tastino nero presente sull’altra estremità del dispositivo rispetto al tasto di accensione (vicino al foro di reset) e continuiamo a premerlo finche il 2° led sull’apparato non comincierà a lampeggiare all’impazzata. Bene ora che il led è “impazzito”, il router è in modalità service e potremmo accedervi tramite telnet.

Apriamo un terminale dos e digitiamo in sequenza:

telnet 192.168.1.1 (per entrare nel router)

mount_root (per elevare i privilegi)

cd /tmp (per posizionarci nella cartella tmp)

ora useremo il comando “wget” per copiare il file del firmware dal nostro pc al router. digitiamo:

wget ftp://192.168.1.2:1024/tplink.bin

il processo di copia inizierà e trasferirà il file nel nostro router. Una volta completato il trasferimento, passiamo all’installazione del firmware digitando:

mtd -r write /tmp/tplink.bin firmware

la scrittura del nuovo firmware inizierà e se tutto sarà andato a buon fine, il router ripartirà.

A questo punto il router sarà gestibile dall’interfaccia web all’indirizzo 192.168.1.1 inserendo la password “password” che poi potrete cambiare.

Configuriamo ora il nostro router come ripetitore wifi. Entriamo nell’interfaccia di gestione del router all’indirizzo 192.168.1.1.

in “device configuration” selezioniamo “gateway”

in “internet/WAN” selezioniamo “DHCP (Wireless) e alla voce “Wan ethernet port” selezioniamo “Bridge to LAN”

in “local Network /LAN” attribuiamo un indirizzo nuovo per il nostro router che dovrà avere una subnet diversa dal router wireless di accesso ad internet di cui vogliamo estendere la portata. Nello specifico, il mio router Alice ha l’indirizzo 192.168.1.1 quindi come “Router IP” inserirò l’indirizzo “192.168.2.254″ e come “Subnet mask” 255.255.255.0.

Ora, nella sezione “Wireless” configuriamo così:

“Wireless Mode” > “Client + AP”

“Operation Mode” > “N+G+B”

“Channel Width” > “40MHz (2nd chan above)”

“Wireless mac filter” > “disabled”

“SSID to Join” clicchiamo su “Scan” e facciamo rilevare la nostra rete che comparirà nel relativo campo. (la mia rete è aperta quindi in “encryption” è selezionato “none”. Voi regolatela secondo le vostre necessità.

in “Access point SSID”  io ho dato il nome “Gargoyle”, “wireless channel”>2, “Broadcast SSID” > “enabled” ed ho salvato il tutto.

Una volta riavviato, il router era collegato alla mia rete wireless Alice e ne propagava il segnale in altri punti della casa che prima non erano coperti. “Il mio amico Giulio …LoL … ci è rimasto male ;-,”

ATT.ne: se vi dovete connettere all’interfaccia web del router con il cavo lan, dovrete prima cambiare l’indirizzo ip della vostra scheda di rete confluendo nella stessa subnet. Nello specifico cambiate l’ip della vostra scheda in qualcosa tipo 192.168.2.5 e accedete via web all’indirizzo 192.168.2.254 che è il nuovo indirizzo del vostro router/repeater.

Have fun …always!

Annunci

17 Comments

  1. Ciao, un informazione. Ma in questo modo la whitebox non funziona piu’ per gli scopi per i quali ce l’hanno spedita?
    Mi spiego, fatto l’hack abbiamo un nuovo router funzionante da solo senza bisogno di collegarlo a quello che abbiamo?

    • Ciao. Stiamo parlando di un router e non di un modem-router quindi dovrá sempre essere attaccato ad altro. Si può farlo wired o wireless. Nel caso che discuto io, il collegamento é wireless ed in modalità repeater

  2. Grazie, ma quello che non ho capito e’ se in questo modo smette di funzionare per lo scopo per il quale me lo hanno inviato

  3. Ciao, ho eseguito la tua guida alla lettera, ma quando vado a scrivere il firmware, si blocca dandomi come errore: “Failed to erase block”
    cosa ho potuto sbagliare?
    Grazie

  4. grazie alla guida ho buttato il modem…….dopo che lo spento, anche a me ha dato il messaggio di errore Failed to erase block.

    • Mi spiace. Non so cosa dirvi. A me ha funzionato e funziona tuttora. Tenete solo presente che il mio post é riferito ad un dispositivo del maggio 2012 e che potrebbe avere Fw o addirittura hw diversi. Provate a cercare sulla home site di Gargoyle o OpenWRT per trovare info su un eventuale procedura di de-bricking

  5. Seguendo la procedura sono incappato anch’io nel messaggio “”Failed to erase block”.
    Ma non mi sono arreso e soprattutto non ho spento il router, nè mi sono sconnesso dalla sessione telnet.
    Ho scaricato dal sito gargoyle-router.com l’ultima versione del firmware (ad oggi la 1.6.1) scegliendo nello specifico modello e versione del mio apparato (ovvero TL-WR741ND v2.4), selezionando quello “factory” anzichè “sysupgrade” (ovvero quello del link in questa guida).
    Precisamente ho scaricato il file: gargoyle_1.6.1-ar71xx-generic-tl-wr741nd-v2-squashfs-factory.bin.

    Ho quindi eliminato (in telnet) dalla cartella /tmp il file tplink.bin (rm -i tplink.bin), ho sostituito nella cartella c:\share il file presente con quello scaricato da me. Quindi da telnet ho rieseguito i comandi di copia (wget http://ftp..) ed installazione (mnt -r …) del firmware.
    Ho atteso la scrittura e dopo pochi secondi è apparso il ben augurante “Rebooting …”.
    Il router si è riavviato e collegandomi all’indirizzo 192.168.1.1 con il mio browser, è apparsa l’interfaccia Gargoyle.

    Spero questa informazione sia d’aiuto a chi incappasse in questo problema. Non ho idea se è possibile “rianimare” i router spenti dopo il messaggio “Failed to erase block”, perchè leggendo distrattamente in giro, pare che collegandosi via telnet dopo averlo riavviato, compaia un messaggio tipo “Bus error” e sostanzialmente il router sia bloccato.
    Ma ripeto, non ho letto con attenzione. In ogni caso, direi che valga la pena provare.
    Altrimenti, date un’occhiata qui: http://wiki.openwrt.org/toh/tp-link/tl-wr741nd#failsafe.mode

  6. Una domanda invece a d@done: se volessi rimettere il firmware originale TPLINK, anzichè quello Gargoyle, è sufficiente andare sul sito TPLINK e scaricare il firmware della mia versione (V2) e quindi eseguire i medesimi passaggi della tua guida?
    Secondo te, posso anche usare l’opzione “Firmware Upgrade” nella webinterface di Gargoyle per pubblicare il file .bin originale TPLINK?

    • Ciao Andrea, non ho provato ma credo che ripristinare il fw tplink originale seguendo la guida dovrebbe funzionare. Dubito invece che possa funzionare la soluzione da interfaccia web.

      • Grazie d@done. Eventualmente proverò.
        Una domanda: sai perchè il mio primo commento dell’altra sera non compare?

  7. Prima del commento sopra, avevo inviato un altro commento con alcune informazioni su come sono uscito dalla situazione, occorsa anche ad altri, ovvero il “Failed to erase block”, ma vedo che non è apparsa tra i commenti pubblicati. Forse l’aver messo alcuni link nel commento, ha comportato il blocco del messaggio (per approvazione). Chiedo a d@done di verificare, perchè credo il mio messaggio possa essere d’utilità a chi dovvess incapare in questo problema.

  8. ah.. ultimissima cosa: qualcuno sa se si possono scaricare i .bin con il firmware SamKnows per i router TPLINK?

  9. [LEGGERE se vi compare il messaggio “Failed to erase block”]

    Seguendo la procedura sono incappato anch’io nel messaggio “Failed to erase block”.
    Ma non mi sono arreso e soprattutto non ho spento il router, nè mi sono sconnesso dalla sessione telnet.
    Ho scaricato dal sito gargoyle-router[dot]com l’ultima versione del firmware (ad oggi la 1.6.1) scegliendo nello specifico modello e versione del mio apparato (ovvero TL-WR741ND v2.4), selezionando quello “factory” anzichè “sysupgrade” (com’era quello del link in questa guida).
    Precisamente ho scaricato il file: gargoyle_1.6.1-ar71xx-generic-tl-wr741nd-v2-squashfs-factory.bin.

    Ho quindi eliminato (in telnet) dalla cartella /tmp il file tplink.bin (rm -i tplink.bin), ho sostituito nella cartella c:\share il file presente con quello scaricato da me. Quindi da telnet ho rieseguito i comandi di copia (wget ftp …) ed installazione (mnt -r …) del firmware.
    Ho atteso la scrittura e dopo pochi secondi è apparso il ben augurante “Rebooting …”.
    Il router si è riavviato e collegandomi all’indirizzo 192.168.1.1 con il mio browser, è apparsa l’interfaccia Gargoyle.

    Spero questa informazione sia d’aiuto a chi incappasse in questo problema. Non ho idea se è possibile “rianimare” i router spenti dopo il messaggio “Failed to erase block”, perchè leggendo distrattamente in giro, pare che collegandosi via telnet dopo averlo riavviato, compaia un messaggio tipo “Bus error” e sostanzialmente il router sia bloccato.
    Ma ripeto, non ho letto con attenzione. In ogni caso, direi che valga la pena provare.

    PS: mi scuso per il post doppio, se verrà pubblicato. Ho rimosso il link presente, che forse era la causa del blocco.

  10. Salve.
    ho provato a seguire la guida, ma quando tento di caricare il file .bin mi risponde dopo qualche minuto “wget: can’t connect to remote host (192.168.1.2): connection timer out”.
    Qualcuno potrebbe aiutarmi. Grazie

    • Leonardo, mi spiace ma non ho piú quel router. La guida é stata testata personalmente ed ha funzionato. Riprova a seguirla passo passo dall’inizio.


Rispondi

Effettua il login con uno di questi metodi per inviare il tuo commento:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...