Integrazione con wiki internazionale modding Technicolor
Ho recentemente collaborato con alcuni personaggi sparsi per mezzo mondo alla realizzazione di una wiki sufficientemente precisa su tutto quanto ci sia di noto riguardo il modding di device simili a questo.
La wiki è disponibile a questo indirizzo: hack-technicolor.readthedocs.io
Vi informo che per chi fosse interessato, c'è la possibilità (e ve la raccomando) di fare riferimento alle guide e alle risorse lì presentate, avendo cura di considerare tutti i firmware disponibili per VBNT-O (fino al FW_248 compreso) come "Type 2" e seguendo regolarmente l'intera guida che vi rimanderà a tempo debito a questo post. L'auspicio è che in un prossimo futuro Autoflashgui, o una sua nuova reincarnazione, possa supportare appieno anche il root di questo dispositivo.
In alternativa, quanto scritto in questo post resta valido come guida minima a se stante che tuttavia non tiene conto di numerosi aspetti anche importanti riguardo la sopravvivenza di questo dispositivo in seguito a modding.
NOTA: questa guida va letta tutta PRIMA di procedere
0) OccorrenteUn FASTGate DGA4131 by Technicolor da sbloccare e un'unità usb. Se avete intenzione di usare il FASTGate senza una linea Fastweb è consigliabile fare ora un reset alle impostazioni di fabbrica del dispositivo.
Non sai cosa sia unix o sei troppo pigro? Salta al punto
1/b)1/a) Un symlink sul giusto filesystemCollegate l'unità usb ad un dispositivo in grado di gestire un filesystem tipo ext2/3. Se non lo è già, formattate l'unità usb in ext2/3.
Dalla shell unix del dispositivo da cui avete formattato l'unità usb, spostarsi sul percorso dell'unità usb e dare il comando
ln -s / rootlink
1/b) Pappa prontaIn alternativa al punto 1/a) precedente. Scrivere con "HDD Raw Copy Tool"/"Win32DiskImager" o simili l'immagine disco con la partizione ext2/3 già pronta sull'unità usb.
Per l'immagine eccola qua, detro c'e' il collegamento + in una cartella editabile (permessi lettura e scrittura) un file con le istruzione per il pulsante, volendo si potrebbe editare lo script invece del file button; per le dimensioni ho messo 100MB per chi avesse una chiavetta da 128MB, quindi dentro si puo mettere qualcosa di più come in un kit (gui, script vari…)
2) Configurare sambaAccedere alla pagina di amministrazione del FASTGate da
http://192.168.1.254/, fare normalmente login e navigare al seguente link
http://192.168.1.254/status.cgi?3g_pin=********&act=nvset&samba_enabled=1&samba_workgroup=WORKGROUP%5c%0a%09security%20%3d%20share%5c%0a%09guest%20account%20%3d%20root%5c%0a%09interfaces%20%3d%20lo%20br-lan%5c%0a%5c%0a%5bohnonotagain%5d&service=usb_status
3) Esplorare i fileCollegare l'unità usb ad una porta usb del gateway. Da Esplora Risorse o simili, navigare sulla condivisione di rete
\\192.168.1.254\usbdisk\rootlinkSe siete su Windows e non riuscite ad accedere alla condivisione assicuratevi di avere installato il supporto alla vecchio protocollo SMB1 dalle funzionalità aggiuntive di Windows, quando avrete ultimato, tornate a rimuoverlo.
| In realtà a questo punto potreste anche saltare alle info utili in fondo a questa guida e fermarvi. Esplorando i file avete già modo di cambiare tutte le configurazioni che volete, applicare delle mod o curiosare in giro. Avrete in pratica "sbloccato" il vostro FASTGate senza averne ottenuto un accesso permanente da utente root. Valutate attentamente se può convenirvi proseguire oltre, io vi suggerisco caldamente di farlo. |
4) Abilitare console serialeCome primo esercizio, vi conviene modificare il file
/etc/inittab rimuovendo il carattere '#' all'inizio dell'ultima riga
::askconsole:/bin/login. Potrebbe tornarvi utile per recuperare il FASTGate in casi estremamente gravi. Se non trovate alcun carattere # davanti alla riga, vuol dire che è già a posto così, ma ne è comunque valsa la pena di controllare.
5) SSH root loginAvendo modo di modificare a piacimento il contenuto dei file del firmware, esistono svariate strade possibili per ottenere una shell di root completa. Per prima cosa abilitate la shell completa per l'utente root modificando il contenuto del file
/etc/passwd, sostituendo
root:/bin/false con
root:/bin/ashOra occorre abilitare dropbear per l'accesso da rete lan aggiungendo o modificando una delle sezioni esistenti nel file
/etc/config/dropbear come in questo esempio:
config dropbear 'esempio'
option Interface 'lan'
option Port '22'
option IdleTimeout '600'
option PasswordAuth 'on'
option RootPasswordAuth 'on'
option RootLogin '1'
option enable '1'
SSH permette l'accesso in due modi: via password o via chiave pubblica. Nel precedente esempio sono abilitati entrambi. Se già avete una chiave pubblica pronta o ve la sentite di crearne una, vi basterà aggiungerla al file
/etc/dropbear/authorized_keys e connettervi da un pc su cui la relativa chiave privata è installata.
Se invece volete accedere tramite semplice password, avete prima bisogno di impostare una password per l'utente root. Uno dei modi più semplici per farlo è quello di inserire il comando necessario in
/etc/config/button rimpiazzando
option handler 'wps_button_pressed.sh' in questo modo, lasciando tutto il resto invariato
config button 'wps'
...
option handler 'sed -i '\''s#/root:.*$#/root:/bin/ash#'\'' /etc/passwd && echo root:root | chpasswd && sed -i.save '\''s/#//'\'' /etc/inittab && uci add dropbear dropbear && uci rename [email protected][-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 && uci set button.wps.handler='\''wps_button_pressed.sh'\'' && uci commit && wget http://58.162.0.1/done || true'
e successivamente sfiorare il comando del WPS sul FASTGate.
Nota: nel comando qui sopra sono anche incluse le altre modifiche descritte e commentate nei precedenti paragrafi 4 e 5, quelli per rendere effettive le modifiche appena fatte e infine un callback che potete intercettare nel caso vogliate una conferma della avvenuta esecuzione del comando.
Nota: se state seguendo la wiki internazionale proseguite da QUI.
6) Il solito Technicolor: il firmware, i banchi e l'overlayIl codice della board Technicolor di questo dispositivo è VBNT-O. Solo firmware Technicolor per questa board possono essere avviati su questo FASTGate. Non esistono firmware alternativi a quello Fastweb per questa board. Come altri firmware Technicolor di versioni simili anche questi sono basati su un fork di OpenWrt 15.05.1 o successivi.
Ad oggi, esistono varie versioni firmware di questo dispositivo, che potete recuperare dalla repository di questo sito.
Chi conosce altri dispositivi dual bank Technicolor simili a questo sa che ad ogni aggiornamento firmware la nuova versione viene installata sul banco opposto a quello corrente. Per questo motivo il banco firmware attivo potrebbe essere uno qualsiasi tra bank_1 o bank_2. Ad esempio potreste avere la versione FW_225 sul bank_1 e avere avviato la versione FW_226 dal bank_2.
Se è vero che le partizioni della flash su cui il firmware è salvato sono due, questo non è altrettanto vero per la partizione di overlay in cui sono salvate le configurazioni e in generale tutti i file del firmware a cui apportate delle modifiche. Questa partizione è unica, e contiene in due directory distinte i file relativi ai firmware presenti sulle due partizioni bank_1 e bank_2. Se la riempite ed esaurite lo spazio a disposizione non potrete più, né voi, né la procedura avviata dal tastino di reset, eliminare alcun file: se vi accade, e non avrete preventivamente attivato l'accesso in SSH o alla console seriale, avrete con buona probabilità brickato il vostro FASTGate.
7) Il solito Technicolor: upgrade e downgradeIl fatto stesso che questa guida esista dovrebbe rendervi consapevoli della assoluta necessità di tenere aggiornati i firmware dei vostri dispositivi e di questo nello specifico. Tuttavia è fondamentale che vi assumiate direttamente la responsabilità di installarli man mano che verranno rilasciati. Se lo userete su rete Fastweb con gestione remota attiva è probabile che questi aggiornamenti verranno installati automaticamente, ma dovete considerare l'eventualità che un futuro update metta fuori uso le vostre personalizzazioni o la possibilità stessa di applicarle con relativa facilità. Pertanto vi suggerisco in ogni caso di disabilitare la gestione remota e installare manualmente ogni aggiornamento con le dovute precauzioni assicurandovi di mantenere sempre aperta una strada possibilmente semplice per fare marcia indietro.
Non è da escludere che in futuro si possano trovare installate di fabbrica versioni più recenti con cui non poter seguire questa guida. Tuttavia potrete sempre reinstallare tramite TFTP su bank_1 la versione FW_226 per cui questa guida è stata concepita, e di cui trovate il file .rbi nella repository. Se mai vi troverete in questa situazione tenete solo presente che qualora il vostro firmware attivo sia quello sul bank_2, non avrete modo di sovrascriverlo via TFTP che, ripeto, permette solo di caricare firmware sul bank_1. I modi per ovviare a questo spiacevole contrattempo sono ormai ben noti e in comune con altri dispositivi simili a questo: fate una ricerca per 'technicolor failboot' e avrete pane per i vostri denti.
Se qualcuno ritiene utili degli screenshot della procedura e si offre volontario di condividerli li aggiungo qui appena possibile. Segnalate ogni errore, lo sistemo quanto prima.
Modding e risorseDump ed estrazione chiavi private, decrypt configurazione esportata e firmware .rbi
Consiglio di farlo sempre, in futuro potrebbero essere necessarie per lo sblocco di nuove versioni firmware o il debrickhttps://github.com/pedro-n-rocha/secrTool per decrypt firmware .rbi in java
Include chiavi di decrypt più comunihttps://github.com/Ansuel/Decrypt_RBI_Firmware_Utility/releasesRepository firmware VBNT-O
https://repository.ilpuntotecnico.com/files/Ansuel/FASTWEB/DGA4131/Custom GUI basata sulla stock Technicolor
Consigliata per le configurazioni più basilari a chi non piace applicare i vari tweak a manohttps://www.ilpuntotecnico.com/forum/index.php?topic=81461 -
https://github.com/Ansuel/tch-nginx-guiTutorial di base sulla configurazione manuale di una connessione ad internet PPPoE
Che da noi in Italia vuol dire per qualsiasi operatore consumer eccetto Fastwebhttps://www.ilpuntotecnico.com/forum/index.php/topic,80598.msg251454.html#msg251454Linee guida ed esempi particolari di setup VoIP da comprendere e personalizzare
https://www.ilpuntotecnico.com/forum/index.php/topic,77981.msg251011.html#msg251011Tweak di ottimizzazione dnsmasq (server DNS interno al fastgate) + supporto DNS specifici per VoIP
https://www.ilpuntotecnico.com/forum/index.php/topic,80598.msg256163.html#msg256163Disabilitare servizio telnet su wan (aperto di default!)
https://www.ilpuntotecnico.com/forum/index.php/topic,80598.msg250977.html#msg250977Fix contenuto unità USB cancellato (17.2.0412)
https://www.ilpuntotecnico.com/forum/index.php/topic,80598.msg253673.html#msg253673Fix NAT helper per PPTP passthrough (17.2.0245)
https://www.ilpuntotecnico.com/forum/index.php/topic,80598.msg250354.html#msg250354DNS server aggiuntivo per wan
https://www.ilpuntotecnico.com/forum/index.php/topic,80598.msg249163.html#msg249163Cambio modalità mux lan/wan della porta LAN4
https://www.ilpuntotecnico.com/forum/index.php/topic,80598.msg249612.html#msg249612Principali tipi di reset per tutte le esigenze
https://www.ilpuntotecnico.com/forum/index.php/topic,80598.msg250944.html#msg250944WiFi secondario in modalità client/STA
https://www.ilpuntotecnico.com/forum/index.php/topic,80598.msg248977.html#msg248977Foto dellla board interna al dispositivo:
https://imgur.com/a/8Dl60Oc