Si può sbloccare il fastgate?
Ma una volta sbloccato com'è il firmware ? Cosa può fare ?
Technetium Il firmware si chiama Homeware ed è basato su OpenWRT con tutte le conseguenze del caso.
Quando lo sblocchi ottieni accesso alla shell root di OpenWRT e si può configurare tutti i parametri che si vuole, installare pacchetti più disparati ma non si può cambiare il firmware con uno generico non-Technicolor.
Specialmente nei Fastgate (per la loro GUI sempliciotta e per il fatto che non rientrano nel modem libero) è molto utile cambiare la GUI e farci quel cavolo che si vuole.
C'è modo invece di sbloccare nuovamente i Fastgate Askey con firmware 0.00.92?
Lo avevo sbloccato con fastgate-toolkit con i precedenti firmware ma poi mi son scordato effettuare la modifica per rendere permanente l'accesso SSH
lespo01 Assolutamente, non aspettarti prestazioni da urlo per le specifiche del Fastgate ma qui trovi più informazioni https://openwrt.org/docs/guide-user/services/vpn/start , attento che devi vedere quali pacchetti sono disponibili.
Vedi anche qui: https://www.ilpuntotecnico.com/forum/index.php/topic,81299.0.html
Dark-Vex L'avevi sbloccato via seriale? https://www.ilpuntotecnico.com/forum/index.php/topic,78037.195.html
rieges L'avevi sbloccato via seriale? https://www.ilpuntotecnico.com/forum/index.php/topic,78037.195.html
No tramite una vulnerabilità dell'interfaccia web, avevo usato questo https://github.com/Depau/fastgate-python
Grazie per il link! Vedrò di procurarmi dei puntali a molla, l'idea di saldarci sopra dei piedini, non avendo un saldatore adatto non mi piace troppo
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?