Si può sbloccare il fastgate?
Dark-Vex se hai la mano ferma (e/o se siete in due) puoi tenere il cavetto sopra le piazzole direttamente (se poi sei fortunato da trovare un foro passante non stagnato un qualsiasi cavetto di rame curvato per fargli fare da molla fa contatto quello che basta)
volendo puoi sacrificare una gomma da cancellare per infilarci i cavetti e avere un supporto antiscivolo
- Modificato
[cancellato] Ecco.
Grande premessa, questa guida non è stata realizzata da me. Ho semplicemente preso quello che c'era nella bibbia (https://hack-technicolor.readthedocs.io), l'ho scritta in italiano, aggiunto qualche immagine, provata sulla mia pelle e l'ho postata qui.
Altra grande premessa: leggi tutti i passaggi non opzionali! Questo post è già semplificato di suo!
L'ordine di questa guida (con relative fonti):
- Controllo versione Firmware
- Ottieni l'accesso root nei firmware di tipo 2 con strategia #C
- Bank Planning, accesso SSH permanente e cambio password
- Metti al riparo l'accesso root
- Opzionale Installazione GUI Ansuel 1, 2
- Opzionale Installazione repository pacchetti Ansuel, Macoers, ecc..
Controllo versione Firmware
Premi per mostrare Premi per nascondere
Cerca sul retro del router il codice modello (es. DGA4131FWB).
Entra nell'interfaccia web del router (default FASTGate 192.168.1.254
) e nella sezione informazioni prenditi nota della versione firmware, è la stringa che finisce con _FW_XXX
Recati alla pagina https://hack-technicolor.readthedocs.io/en/stable/Repository/ e trova il router e relativo firmware nella tabella, prenditi nota se il fimware è di tipo 2 e quale strategia è necessaria per ottenere l'accesso con privilegi di root.
Se il firmware non è presente contatta su Github gli sviluppatori affinchè aggiungano il firmware e ne determinino le caratteristiche.
Per il resto della guida assumeremo che il firmware sia di tipo 2 e la strategia necessaria al root sia #C
Root di tipo 2 con strategia #C
Preparativi
Premi per mostrare Premi per nascondere
Scarica sul PC o assicurati di aver a disposizione:
- tch-exploit per ottenere accesso alla shell con permessi di root, è necessario che estrai dall'archivio il programma e lo sposti in una directory conosciuta
- PuTTY o altro client SSH
- WinSCP (opzionale) client per navigare graficamente lo spazio di archiviazione del router
Resetta il router premendo il tasto di reset del modem per almeno 10 secondi. Lascia che il router si riavii.
Connetti un cavo ethernet dal PC alla porta WAN (porta LAN 4 del DGA4131)
Imposta il computer affinché si connetta con indirizzo IPv4 58.162.0.1
, Subnet Mask: 255.255.255.0
Gateway predefinito\Router: 58.162.0.1
. Procedura passo-passo qui sotto:
Premi per mostrare Premi per nascondere
Vai su Pannello di Controllo > Rete e Internet > Centro connessioni di rete e condivisione e seleziona l'interfaccia Ethernet.
Seleziona "Proprietà" (1), seleziona "Protocollo Internet versione 4 (TCP/IPv4)" (2) e successivamente "Proprietà" (3).
Sulla nuova schermata premi "Utilizza il seguente indirizzo IP:" e imposta gli indirizzi precedentemente scritti
Chiudi le tre finestre dell'interfaccia Ethernet premendo OK/Chiudi.
Procedura di root con tch-exploit
Premi per mostrare Premi per nascondere
Apri un prompt dei comandi con privilegi d'amministratore premendo i tasti Windows + X e premi A (Windows PowerShell - amministratore), è indifferente se si usa Powershell o il prompt dei comandi di base.
Sul prompt naviga nella cartella dov'è presente l'eseguibile tch-exploit.exe (quello che hai scaricato prima) scrivendo cd <percorso tch-exploit>
, esegui tch-exploit.exe
.
Ora dovrebbero succedere alcune cose, con tempistiche variabili dovrebbero comparire sullo schermo scritte bianche e poi verdi.
Infine comparirà la scritta PRESS AND HOLD THE WPS BUTTON [...]
, momento in cui devi tenere premuto il pulsante WPS (sul DGA4131 è il pulsante "+", il più basso nel frontale del router).
A questo punto comparirà la scritta All done, [...] ssh root@192.168.0.1
che indica il successo della procedura.
Quindi torna nelle impostazioni dell'interfaccia Ethernet e reimposta il DHCP ("Ottieni automaticamente l'indirizzo IP"), chiudi tutte le finestre e sposta il capo del cavo ethernet dalla porta WAN/LAN 4 a una normale porta LAN del router.
Aspetta che si instauri la connessione PC-Router, entra nel client SSH (PuTTY o altro) e connettiti a host 192.168.1.254
, porta 22
. Se non va prova la porta 6666
.
Accedi con le credenziali user e password root
.
Benvenuto nella shell di OpenWrt.
Ora dai il seguente comando per abilitare la console seriale per avere un'appiglio in caso di problemi disastrosi:
sed -i -e 's/#//' -e 's#askconsole:.*\$#askconsole:/bin/ash#' /etc/inittab
Nota sulla mie esperienze con Windows e le interfacce di rete
Premi per mostrare Premi per nascondere
Dopo aver rimesso la scheda di rete in modalità DHCP il PC potrebbe non riuscire a raggiungere Internet.
Se fosse il caso da un prompt dei comandi dai il comando ipconfig
.
Se vedi che il Gateway predefinito è ancora 58.162.0.1
devi tornare nelle impostazioni della scheda e togliere il gateway attivando e disattivando DHCP.
Se ancora non va fai la diagnostica della scheda di rete. Windows reimposterà la scheda e magicamente funzionerà.
Bank Planning, accesso SSH permanente e cambio password
Bank Planning
Premi per mostrare Premi per nascondere
I router Technicolor hanno due banchi per il firmware, quando viene aggiornato il firmware l'installazione avviene sul banco opposto. Sul primo banco è possibile installare un firmware in caso di problemi (tramite BOOTP), sul secondo banco è impossibile.
Lo scopo di questa operazione è far sì che il router si avvi dal firmware nel secondo banco, lasciando la possibilità di installare un firmware nel primo per cercare di recuperare il router da morte certa in situazioni problematiche...
Invia l'intero blocco di comandi per portarsi nella situazione di bank planning ottimale.
# Copy firmware into bank_2 if applicable
[ "$(cat /proc/banktable/booted)" = "bank_1" ] && mtd write /dev/mtd3 bank_2
# Make a temp copy of overlay for booted firmware
cp -rf /overlay/$(cat /proc/banktable/booted) /tmp/bank_overlay_backup
# Clean up overlay space by removing existing old overlays
rm -rf /overlay/*
# Use the previously made temp copy as overlay for bank_2 firmware
cp -rf /tmp/bank_overlay_backup /overlay/bank_2
# Activate bank_1
echo bank_1 > /proc/banktable/active
# Erase firmware in bank_1
mtd erase bank_1
# Reboot to first valid firmware
reboot
# please wait for device to reboot...
Dopo che si è riavviato il router accedi da SSH alla shell root e dai il seguente comando per ottenere le informazioni sullo stato dei banchi del firmware.
find /proc/banktable -type f -print -exec cat {} ';'
L'output deve essere così:
/proc/banktable/active
bank_1
/proc/banktable/booted
bank_2
[...]
Non andare avanti se non ti trovi in questa situazione!
Accesso SSH permanente
Premi per mostrare Premi per nascondere
Controlla su quale porta sei collegato in SSH, se è la porta 22
salta quanto scritto di seguito e vai al cambio password.
Se la porta è 6666
esegui questi comandi per ottenere un'accesso SSH permanente:
uci -q delete dropbear.afg
uci add dropbear dropbear
uci rename dropbear.@dropbear[-1]=afg
uci set dropbear.afg.enable='1'
uci set dropbear.afg.Interface='lan'
uci set dropbear.afg.Port='22'
uci set dropbear.afg.IdleTimeout='600'
uci set dropbear.afg.PasswordAuth='on'
uci set dropbear.afg.RootPasswordAuth='on'
uci set dropbear.afg.RootLogin='1'
uci commit dropbear
/etc/init.d/dropbear enable
/etc/init.d/dropbear restart
Cambio password dell'utente root
Premi per mostrare Premi per nascondere
Dai il comando passwd
per cambiare la password dell'account di root. Scegli una password forte, non si sa mai...
Metti al riparo l'accesso root
Premi per mostrare Premi per nascondere
Dalla shell di root invia questi blocchi di comandi per disabilitare le funzionalità di telegestione con cui gli ISP potrebbero toglierti l'accesso root facendo un'aggiornamento firmware da remoto.
Non preoccuparti se i comandi ti danno errori, significa che non erano necessari.
# Disable CWMP (disabilita telegestione)
uci delete cwmpd.cwmpd_config
uci delete firewall.cwmpd
uci del_list watchdog.@watchdog[0].pidfile='/var/run/cwmpd.pid'
uci del_list watchdog.@watchdog[0].pidfile='/var/run/cwmpevents.pid'
uci commit
/etc/init.d/watchdog-tch reload
/etc/init.d/cwmpd disable
/etc/init.d/cwmpd stop
/etc/init.d/cwmpdboot disable
/etc/init.d/cwmpdboot stop
/etc/init.d/zkernelpanic disable
/etc/init.d/zkernelpanic stop
# Disable CWMP - extra, in case you think it may resurrect
uci set cwmpd.cwmpd_config.state=0
uci set cwmpd.cwmpd_config.acs_url='https://127.0.1.1:7547/'
uci set cwmpd.cwmpd_config.use_dhcp=0
uci set cwmpd.cwmpd_config.interface=loopback
uci set cwmpd.cwmpd_config.enforce_https=1
uci commit cwmpd
# Remove any ISP ssh access pubkey (rimuove chiavi pubbliche per ssh delgi ISP)
echo > /etc/dropbear/authorized_keys
# Completely disable SSH access over wan (disabilita SSH sulla porta WAN)
uci set dropbear.wan.enable='0'
uci commit
[Opzionale] Installazione GUI Ansuel
Premi per mostrare Premi per nascondere
La GUI di Ansuel sostituisce la GUI di default del FASTGate e semplifica l'impostazione delle opzioni più utilizzate.
Ci sono due versioni della GUI, quella stabile e quella dev. Per installare una o l'altra basta scegliere il nome giusto o si può installare direttamente dalla GUI stessa.
Per l'installazione ci sono due metodi: online (consigliata) e offline.
Installazione online
Premi per mostrare Premi per nascondere
Assicurati che il router sia collegato a Internet e dai questo comando
curl -k https://raw.githubusercontent.com/Ansuel/gui-dev-build-auto/master/GUI.tar.bz2 --output /tmp/GUI.tar.bz2 && bzcat /tmp/GUI.tar.bz2 | tar -C / -xvf - && /etc/init.d/rootdevice force
Il comando scarichera la GUI stabile, la copierà nella cartella /tmp
e installerà la GUI.
Durante l'installazione vera e propria verranno installati alcuni componenti aggiuntivi.
Se vuoi la GUI dev basta aggiungere _dev
tra GUI
e .tar.bz2
.
Installazione offline
Premi per mostrare Premi per nascondere
Scarica il pacchetto della GUI da GitHub (https://github.com/Ansuel/tch-nginx-gui/releases o quelle generate automaticamente https://github.com/Ansuel/gui-dev-build-auto)
Copia con SSH o con WinSCP il file appena scaricato GUI.tar.bz2
o GUI_dev.tar.bz2
nella cartella /tmp
Dai il comando:
bzcat /tmp/GUI.tar.bz2 | tar -C / -xvf - && /etc/init.d/rootdevice force
Se hai scaricato la GUI dev basta aggiungere _dev
tra GUI
e .tar.bz2
.
Note per entrambe le modalità di installazione
Premi per mostrare Premi per nascondere
L'installazione vera e propria ci mette un pochino (potrebbe volerci un minuto o anche più).
A fine installazione dovreste tornare alla shell di base root@OpenWrt:~#
.
Se rimane root@OpenWrt:/<cartella a random>
l'installazione potrebbe non essere andata a buon fine.
Dai il comando reboot
e alla fine del riavvio all'indirizzo del gateway dovrebbe esserci la nuova GUI, di default user e password sono admin
.
Nota per l'installazione offline
Premi per mostrare Premi per nascondere
Non andate nel panico se la password che avevate impostato per l'utente root
non funziona più, ho notato che la password di root viene resettata a quella di default "root". Non so se è un bug o una feature.
[Opzionale] Installazione repository
Premi per mostrare Premi per nascondere
Quando installate la GUI di Ansuel in modalità online vengono già installati i repository di Ansuel.
Se hai installato la GUI in modalità offline non sono installati i repository. Per installare quelli di Ansuel basta che accedi alla GUI, nella sezione schede entra in quella "Impostazioni GUI" (la seconda) e sulla sezione "App specifica" puoi decidere se scaricarla da internet o caricarla dal PC.
Se vuoi aggiungerli o cambiarli con altri (tipo quelli di Macoers) segui la guida qui https://www.macoers.com/blog/antonio-macolino/repository_openwrt_homeware_18_brcm63xx_tch
rieges mega UP
[cancellato]
rieges grazie mille^^
@matteocontrini riesci a metterla da qualche parte? È fatta molto bene
[cancellato] Magari è da spostarla in una discussione a parte, con il tag Guida?
- Modificato
rieges Grande premessa, questa guida non è stata realizzata da me
solo una curiosita` (non so se dipende dal forum o da come e` fatta la guida), provando a selezionare delle parole per fare "cita" (di solito basta il doppio click) la parte con il testo nascosto da "> Details" non fa apparire il bottone "cita" che poi apre la risposta, quindi si possono citare solo pezzi in settori diversi ma non che siano a cavallo
PS: magari e` un banale comando spoiler che non conosco, comunque "Details" non e` tradotto
PPS: comunque resta una guida chiara e ben fatta
[cancellato]
rieges bho vediamo cosa dice matte
- Modificato
vic3000 Eh? a me funziona. E non appare >Details ma >Dettagli.
rieges A fine installazione dovreste tornare alla shell di base root@OpenWrt:~#.
Se rimane root@OpenWrt:/<cartella a random> l'installazione potrebbe non essere andata a buon fine.
rieges Pannello
Comunque ho messo tutta la guida "nascosta" perchè sennò è veramente troppo lunga..
stonex Non ti saprei quantificare il rischio che qualcosa vada storto in quanto ho personalmente eseguito la modifica su un solo router. Nel forum https://www.ilpuntotecnico.com/forum/index.php/topic,80598.0.html non vedo così tanti casi sfortunati.
Inoltre le procedure e comandi che fanno parte della procedura di root (attivazione console seriale, Bank Planning...) sono fatte apposta per fornire "un'appiglio d'emergenza".
Per riportare il router alle impostazioni di fabbrica basta effettuare un reset (o a un livello più profondo cancellare tutti i contenuti della partizione utente, operazione da massimo due comandi SSH).
Se si usa la GUI di Ansuel servirà minimo un reset e per stare sicuri multipli reset.
Non voglio fare un'altro pappone ma se vuoi capire di più della frase precedente eccoti servito:
Premi per mostrare Premi per nascondere
Sul capitolo come riportare il router allo stato di fabbrica c'è da dire una cosa: l'azione di reset di fabbrica viene eseguita da uno script di Technicolor (rtfd
), quando premi il tasto reset sull'interfaccia web o da dietro il router viene attivato quello script.
Di default lo script riporta il router allo stato di fabbrica.
Tuttavia installando una delle modifiche più comuni (leggasi proprio GUI di Ansuel ovvero tch-nginx-gui) lo script viene modificato affinchè non resetti completamente tutto.
Intendo che se resetti il router dopo che hai installato la GUI di Ansuel ti sembrerà che sia alle impostazioni di fabbrica, ma rimane ancora qualcosa della GUI (oggettivamente poco, la GUI torna quella originale di FW).
Certo devi proprio essere in cerca per trovarne un pezzo e Fastweb non se ne accorgerebbe mai, ma è una cosa che va detta.
Si può ovviare resettando più volte e/o cancellando il contenuto della partizione dei dati dell'utente (operazione molto semplice, letteralmente due comandi dal terminale).
Vi faccio un esempio per farvi capire cosa intendo: avevo la GUI modificata installata e c'era stato un problema con l'installazione di un pacchetto. Decido di prendere una graffetta e di resettare il modem con il pulsante dietro.
Si resetta, eseguo la procedura di root, ottengo l'accesso al terminale SSH e dopo do il comando logread
(mostra il log del router) e trovo che durante l'avvio c'era ancora lo script di Ansuel.
Poi ho letto per bene il capitolo https://hack-technicolor.readthedocs.io/en/stable/Recovery/ e decisi di cancellare
il contenuto della partizione dell'utente con lo scopo di avere un router "pulito" per essere modificato con più criterio. Risultato gli script della GUI modificata sono spariti e vissero tutti felici e contenti.
vic3000 interessante, risente della lingua del browser
In realtà è proprio una feature di HTML: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/details
matteocontrini quello che intendevo io era che il testo del "bottone" non viene personalizzato da chi lo usa ma il css comunque viene generato in base alla lingua del browser:
<details class="spoiler">
vic3000 mmm non proprio, non viene generato CSS. Il testo è personalizzabile (in HTML) ma se non si imposta è il browser a decidere e naturalmente usa la lingua del browser
- Modificato
rieges l'ho scritta in italiano, aggiunto qualche immagine, provata sulla mia pelle e l'ho postata qui.
Ottima guida. Io penso che meriti di essere evidenziata ed eventualmente messa proprio come pagina a sé tra i “link utili’.
Vorrei aggiungere che un grosso vantaggio del firmware sbloccato è che si può installare l’estensione AdBlock, che funziona a livello di router.... quindi saranno bloccate le pubblicità su tutti i device collegati (inclusi i dispositivi mobili), senza necessità di plugin del browser.
L’unico dubbio che ho (visto che ancora non ho provato) è se la GUI prevede una pagina per la configurazione dell’estensione o se si debba procedere da SSH.
Ma, nel caso, non è niente di complicato.
Domande:
Con il firmware sbloccato si perde il VoIP?
Dopo aver sbloccato il router, si dovrà telefonare a Fastweb come se uno avesse comprato il proprio router, e poi configurare tutto daccapo secondo quanto previsto dalla pagina Fastweb?
https://www.fastweb.it/adsl-fibra-ottica/dettagli/altri-modem/
lollapalooza ci sarà una lista di guide che rimanda al forum su fibra.click a un certo punto. Per ora si può usare il tag Guida