IlPuntoTecnico
Hardware e Software => Connessioni ADSL/VDSL/FTTC => Topic aperto da: FrancYescO - 04 Dicembre 2020, 19:46
-
Nuovo modem da mamma TIM che promette molto bene a quanto pare affiancherà lo ZTE H388X con cui ne condivide il design
(https://assistenzatecnica.tim.it/at/ShowBinary?nodePath=/AT_REPOSITORY/Serbatoio/common/images/sg/help/upload/smart_modem/Tim_Hub_Plus_Tech_front)
https://assistenzatecnica.tim.it/at/portals/assistenzatecnica.portal?_nfpb=true&_windowLabel=InternetPortlet_82&_pageLabel=InternetBook&nodeId=/AT_REPOSITORY/1240111&radice=consumer_root
Nome in codice AGTHF sembra essere partito dalla release software AGTHF_1.0.1
-
Se volete sapere il valore dichiarato all'esportazione:
https://www.vietnamtrades.com/vietnam-export-data/hs-code-85176241/pol-belgium.html
Se non interessa cancellatelo pure
-
Nel caso in cui interessasse http://www.mediafire.com/file/bmy8etp22pimep8/AGTHF_1.0.1_CLOSED.rbi/file
-
VCNT-3
-
Hardware ? tra questo ed il zte h388x qual è il migliore ?
-
Ho installato una Linea FTTH e sono entrato in possesso di questo modem, il firmware sembra molto acerbo (Mi ritrovo un Wifi in più con gli stessi numeri del Wifi originale TIM ma con il prefisso BH), qualche idea su come sbloccarlo?
[ You must login or register to view this spoiler! ]
-
Direi di provare prima a sniffare la porta WAN in situazioni post-reset alle impostazioni di fabbrica e vedere se fa tentativi di connessione anche da lì. Altrimenti dalla SFP laterale. Se vedi tentativi DHCP, e gli hanno installato lo stesso bundle di certificati degli altri suoi antenati allora è plausibile che un qualsiasi ACS https con certificato valido, anche hostato da te su azure possa "gestirlo" in stile tch-exploit. Se fa solo pppoe allora c'è da provare questo https://github.com/openwrt/openwrt/pull/2954
-
Dunque, la WAN post-reset fa tentativi in DHCP sulle VLAN 83 e 84 (Credo che siano quelle dell'FWA). Purtroppo tch-exploit gli da un indirizzo DHCP ma sembra non andare avanti (Il modem sembra che cerchi di connettersi all'ACS fwa.cdp.tim.it). Non ho ben capito la situazione ACS, con i modem fastweb ero riuscito molto facilmente perché sapevo l'indirizzo dell'acs e quindi usavo tch-exploit con quell'indirizzo, in questo caso visto che il modem cerca di risolvere l'url come posso fare? Anche considerando che senza questo modem non ho una connessione di Backup e quindi non saprei come far credere al modem che l'indirizzo fwa.cdp.tim.it sia il mio computer
-
Allora, per far credere all'hub+ che quell'url una tua macchina devi dare (e rendere raggiungibile) all'hub+ un server DNS che risolva quell'hostname nell'ip della tua macchina. Ma questp è l'ultimo dei problemi perchè per quello che sto per dirti andrà bene un normale vero server DNS.
tch-exploit fa solo ACS discovery attraverso il suo DHCP integrato. Di default, fornisce l'ip di se stesso come URL dell'ACS. La prima cosa da capire è se l'hub+ onora quanto ottenuto in discovery e tenta di collegarsi a quell'ip prima di fare fallback sull'acs hardcodato. Se ci prova, allora c'è un barlume di speranza, altrimenti questo metodo va scartato. Il vecchio modello di hub lo fa, quindi scommetto la faccia anche questo.
Dopodiché il fatto che tch-exploit dia il suo IP come URL dell'ACS a te in generale non andrà bene (a meno che non abbiano rimosse il force di https, che sul vecchio hub invece c'è). Dovrai invece fornire (dovrebbe avere una opzione a riga di comando per farlo) l'hostname di un ACS su una machina con certificato TLS valido, ovvero rilasciato da una delle CA installate sull'hub+. Quindi controlla le CA installate negli ultimi firmware del vecchio hub, una volta c'era solo quella TIM, adesso ce ne sono parecchie. Le webapp su gratuite su azure hanno anche https abilitato, se trovi la CA di quei certificati tra quelle installate nell'hub+ puoi fare qualche tentativo (con un vero ACS, non tch-exploit, a meno che non lo converti in webapp) senza comprare un vero certificato. Ovviamente in questa condizione ti serve una connessione ad internet di backup epr il PC in modo che l'hub+ possa raggiungere l'ACS eventualmente hostatp in cloud. Controlla anche se per caso ci sono le CA che usa let's encrypt, se ci sono puoi scaricare quei certificati (ti serve un nome di dominio fittizio per ottenerli, uno gratuito su freenom a benone) sul PC ed usarli con tch-exploit mettendolo dietro stunnel o simili.
-
Dunque, mi è chiaro tutto il procedimento, considera che più o meno è quello che ho fatto per ottenere la password default admin del VV5822 di Eolo (ACS su macchina locale con DNS cambiato tramite Nextdns). Mi manca lo step del fatto che qua abbiamo il problema del force https. Su quello purtroppo non sono per niente informato, e non ho neanche molto tempo da dedicarci... Per cui mi sa che con questa via per ora lo sblocco è in StandBy. Comunque per i file io sono molto fiducioso che il firmware AGTHP_2.2.2_001 sia quasi identico a quello presente in questo Tim Hub+..
-
Se tu riuscissi almeno a confermare che l'ACS passato da tch- exploit (uno custom, tipo https://pippo.com/ACS) venga almeno preso in considerazione (ovvero trovi tentativi di risoluzione DNS per pippo.com) allora si può pensare di spendere tempo a verificare il resto, altrimenti questa via è chiusa in partenza.
-
Si, ti confermo che l'indirizzo dell'ACS viene correttamente accettato
[ You must login or register to view this spoiler! ]
-
Eccolo, pure messo comodo comodo in un file dedicato, è lui:
https://imgur.com/a/pWUKfy1
Se quel certificato è anche sul firmware AGTHF_1.0.1 di questo VCNT-3 allora hai di tempo fino al 13 maggio 2025 per fargli il root da una istanza free di Web App su Azure. Se ti serve, ti passo il docker-compose per genieacs.
-
Passamelo, ci lavorerò a tempo perso
-
Ecco a te, ci mette una vita a pullare e mettere su tutto, inoltre su azure quando provai tempo fa a mettere i file del db sull'archivio del service plan poi mi si inceppava, quindi il db attualmente è "voltatile". Per quello che devi fare qui però dovrebbe andar bene.
(edit: ricordati di cambiare GENIEACS_FS_URL_PREFIX, una volta che trovi il device nella dashboard come primo test ti conviene mandargli un reboot.sts con dentro una sola riga "reboot on", l'url dell'ACS da far impostare al server DHCP/tch-exploit è https://tuaapp.azurewebsites.net/cwmpWeb/qualcosa per compatibilità con il solito cwmpWeb/CPEMgt)
# Use this file to pull GenieACS from DockerHub #
version: "3"
services:
# Dockerfile here: https://github.com/docker-library/mongo/blob/6932ac255d29759af9a74c6931faeb02de0fe53e/4.0/Dockerfile#
mongo:
image: mongo:4.1
restart: always
container_name: "mongo"
environment:
- MONGO_DATA_DIR=/data/db
- MONGO_LOG_DIR=/var/log/mongodb
volumes:
- data_db:/data/db
- data_configdb:/data/configdb
expose:
- 27017
networks:
- genieacs_network
# Dockerfile here: https://hub.docker.com/r/drumsergio/genieacs/dockerfile
genieacs:
depends_on:
- 'mongo'
image: drumsergio/genieacs:latest
restart: always
container_name: "genieacs"
environment:
- GENIEACS_UI_JWT_SECRET=coseacasocoseacasocoseacasocoseacaso
- GENIEACS_CWMP_ACCESS_LOG_FILE=/var/log/genieacs/genieacs-cwmp-access.log
- GENIEACS_NBI_ACCESS_LOG_FILE=/var/log/genieacs/genieacs-nbi-access.log
- GENIEACS_FS_ACCESS_LOG_FILE=/var/log/genieacs/genieacs-fs-access.log
- GENIEACS_UI_ACCESS_LOG_FILE=/var/log/genieacs/genieacs-ui-access.log
- GENIEACS_DEBUG_FILE=/var/log/genieacs/genieacs-debug.yaml
- GENIEACS_EXT_DIR=/opt/genieacs/ext
- GENIEACS_MONGODB_CONNECTION_URL=mongodb://mongo/genieacs
- GENIEACS_FS_URL_PREFIX=https://myapp.azurewebsites.net/
- GENIEACS_UI_PORT=3000
expose:
- 3000
- 7547
- 7567
volumes:
- opt_volume:/opt
- ${WEBAPP_STORAGE_HOME}/log_volume:/var/log
networks:
- genieacs_network
# Dockerfile here: https://github.com/Tivix/docker-nginx/blob/6f8872d582dbd6e6272fd2f134cccde694b9b2ef/Dockerfile
docker-nginx:
depends_on:
- 'genieacs'
image: tivix/docker-nginx
restart: always
environment:
NGINX_PORT: "8080"
PROXY_TARGETS: "genieacs:3000,genieacs:7547,genieacs:7567"
PROXY_LOCATIONS: "/,/cwmpWeb,~* ^/[^/]+\\.(sts|rbi|bli|rmt|rms)$"
container_name: "docker-nginx"
ports:
- "8080:8080"
networks:
- genieacs_network
volumes:
data_db:
data_configdb:
opt_volume:
networks:
genieacs_network:
-
Dunque, tutto sembra andato liscio, il server GenieACS è online (Tra l'altro non pensavo fosse così facile) e un mio TG789vac v2 è riuscito senza problemi a connettercisi con la enforce_https "on".
Ho avuto solo un problema all'inizio con azure che si lamentava di questo volume: "${WEBAPP_STORAGE_HOME}/log_volume:/var/log", ho rimosso la stringa e il server è partito.
Sembra manchi la parte più facile, fare connettere il router a internet mentre è connesso al mio Mac... Suggerimenti per fare un bridge tra l'ethernet e l'hotspot del telefono?
-
Tra ethernet e wifi in genere non puoi fare bridge (puoi farlo sui router wireless basati broadcom come i tch ma sono un'eccezione). Quello che devi fare è condividere la connessione wireless con gli altri dispositivi sulla LAN cablata (e sulla giusta vlan) . Però non ho proprio idea di come farlo su Mac...
-
L'hotspot può essere fatto anche via cavo ;)
Io comunque con Eolo avevo connesso il router ad uno switch che aveva una connessione e poi il mio computer allo stesso switch, in questo modo captando le richieste sulla VLAN 835 riuscivo a dargli l'indirizzo IP dal mio computer (Tra l'altro li avevo una difficolta in più perché EOLO richiedeva connessione in PPPoE, quindi ho dovuto impostare il server PPPoE) che aveva contemporaneamente internet dallo stesso cavo con cui mandava, tutto questo su macchina virtuale dentro il Mac. Qua però non ho uno switch con internet...
-
https://smallbusiness.chron.com/share-macbook-internet-connection-69144.html
-
Si, ci sono arrivato anch'io, purtroppo però non so come conciliare questo e tch-exploit, se condivido la connessione in questo modo non riesco a dargli l'IP via tch-exploit
-
Esatto, dovresti impostare la stessa cosa ma a mano facendo tu e non il Mac da server DHCP. Su linux basta abilitare il forwarding dei pacchetti in arrivo, qui non ne ho idea, mi immagino che la stessa funzione sia stata castrata da Apple.
PS: te lo anticipo, l'STS dovrai mandarglielo da genieacs, non da tch-exploit, e quell'STS integrato in tch-exploit non funzionerà per il root su questa versione firmware, te ne devo far costruire uno diverso, tu per ora arriva al punto in cui il 4331 mangia correttamente quel reboot.sts che dicevo, poi si vede.
-
https://www.cyberciti.biz/faq/howto-configure-macosx-as-nat-router/
o qualche cosa del genere.
-
Ok, ci sono. Ho trovato il file del DHCP Server, quale è l'opzione per passare il server ACS via DHCP, Option 43?, cosa devo mettere come valore dell'opzione
-
§ 3.1 https://www.broadband-forum.org/technical/download/TR-069.pdf
Qui il formato (occhio ai primi due byte): https://techhub.hpe.com/eginfolib/networking/docs/switches/5130ei/5200-3942_l3-ip-svcs_cg/content/483572292.htm
Se vuoi un esempio concreto ti conviene sniffare tch-exploit o recuperare lo sniff di una connessione a fastweb.
-
CI SONO, riesco a vedere il dispositivo su GenieACS... Ma non riesco a mandargli comandi perché l'ip della connection request è quello sotto NAT, come faccio?
-
Hai varie opzioni.
La prima considerazione è che volendo puoi mettere il comando di download del file sts in un provisioning script che non sia triggerato da connection request ma da inform periodica o addirittura in bootstrap.
La seconda idea, che va benone per esperimenti veloci, è: mentre hai il task in pending, apri il browser sul pc e richiama tu stesso la connection request (all'url corretto con user e password corretti).
Io quando ne ho voglia le combino, ovvero uso la seconda per impostare un periodic inform interval di qualche decina di secondi. Ovviamente basta che arrivi una qualsiasi inform per mandare in pasto al device qualsiasi task che ti ritrovi in pending.
-
Ok, chiaro, sono riuscito a riavviarlo. A questo punto aspetto il tuo script da mandargli in pasto per lo sblocco. Comunque non riesco a mandare task in pending, perché dice direttamente "Device is offline"
-
Allora, grazie al grandissimo @LuKePicci ci siamo, root ottenuto. Purtroppo però non posso estrarre la chiave OSCK perché il kernel è 4.1.52 e i file https://github.com/pedro-n-rocha/secr non sono compatibili. Inoltre provando a fare un reset mantenendo il root il wansensing si rompe dicendo boot not completed, risolto creando manualmente il file network. A questo punto cosa bisogna fare? GUI di Ansuel completamente incompatibile.
P.S. Ho il file di configurazione completo post reprovvisioning ma non vorrei postarlo perché ho paura di dimenticare di rimuovere dati sensibili
-
Allora, per le chiavi, dovremmo riuscire ad utilizzare quello per il 4.1.38 patchandolo senza stare a ricompilarlo, Mi serve però la stringa esatta del vermagic del kernel 4.1.52 che ti appare nel messaggio di errore in dmesg. Fai attenzione ad eventuali spazi sul finale della stringa.
Nel frattempo, tu puoi provare a scaricarti una versione di busybox un pochino più recente, di cui usare il comando insmod. Nelle versioni recenti hai l'opzione per forzare il load su vermagic non corrispondenti: https://git.busybox.net/busybox/tree/modutils/insmod.c?h=1_24_2&id=e50f74da70da645c25d7daa81b2d9796a738f718 Sulla busybox che ho nel 4130, più vecchia, quella opzione non la ho. Questa dovrebbe andare bene https://busybox.net/downloads/binaries/1.28.1-defconfig-multiarch/ (busybox-armv7l o busybox-armv8l a seconda di che soc c'è nel 4331)
Riguardo la questione del reset mantenendo il root devi spiegarmi come l'hai provato, poi guardando nel firmware vedrò di capirci qualcosa.
E' un po' presto per tentare di far funzionare la GUI, dobbiamo prima controllare che non abbia layout strani sui banchi o cos'altro.
-
Ma veramente il problema è che non mi da nessuna stringa, solo "failed to insert r2secr.arm.4.1.ko"
P.S. BusyBox è già aggiornato credo"BusyBox v1.31.0"
-
Mi pare che la stringa la mostri in dmesg, non sull'output del comando
Altrimenti mi basta che mi passi un altro dei file .ko che trovi lì in /lib/modules/ la prendo da lì.
-
http://www.mediafire.com/file/tsfimgfuw8dk7a6/ext4.ko/file
Comunque trovata r2secr: version magic '4.1.38 SMP preempt mod_unload ARMv7 ' should be '4.1.52 SMP preempt mod_unload ARMv7 '
-
http://www.mediafire.com/file/tnt71ifeess5q5m/r2secr.arm.4.1.52.ko/file
-
Ciao, possiedo anch'io un DGA4331 e così a tempo perso ho provato a fare un po di fingerprinting. A parte qualche porta strana aperta ho trovato anche una cartella chiamata api (192.168.1.1/api) che ritorna un json. Poi ho visto che qui già avete avuto i permessi di root per cui sono interessato, come si fa? :D
-
Direi che è spiegato tutto nelle prime due pagine ma è per ora quello è un procedimento un po' laborioso. Conviene aspettare che @lorenzocanalelc ci passi le chiavi per sbirciare nel firmware, così puoi ad esempio controllare cosa sia quella /api e se ci si può fare qualcosa di interessante.
-
Niente, direi che non ci siamo con questo file, dopo l'insmod il router è crashato
-
Avevi fatto l'unload di quegli altri moduli prima come dice sulle istruzioni di secr su GitHub?
-
Direi che è spiegato tutto nelle prime due pagine ma è per ora quello è un procedimento un po' laborioso. Conviene aspettare che @lorenzocanalelc ci passi le chiavi per sbirciare nel firmware, così puoi ad esempio controllare cosa sia quella /api e se ci si può fare qualcosa di interessante.
Diciamo che sono alle prime armi con questo router (di fatti fino a due giorni fa avevo un fastgate sbloccato con il symlink a / via samba). Ho provato il tch-exploit su github che avete postato però, una volta startato, prende un indirizzo ma continua a mandare richieste senza fare niente. Inoltre ho provato il flag per passare un acs custom ma quello che hai mandato tu (pippo.com/acs) risulta essere inesistente (in effetti se ci vai, da un bel 404).
-
Avevi fatto l'unload di quegli altri moduli prima come dice sulle istruzioni di secr su GitHub?
Me la sono persa la parte dell’unload, ma ho riprovato e ho avuto comunque un crash
-
Allora dobbiamo indagare un po'. Mandami il dump di /dev/mtd0, un dmesg appena acceso, e fammi sapere cosa ti esce con questi comandi:
cat /proc/kallsyms | grep r2secr
cat /proc/cmdline
-
dmesg
https://pastebin.com/raw/rFXYRk9G
comandi
root@modemtim:~# cat /proc/kallsyms | grep r2secr
c054d458 R __ksymtab_r2secr
c0553a3a r __kstrtab_r2secr
root@modemtim:~# cat /proc/cmdline
console=ttyS0,115200 debug irqaffinity=0 coherent_pool=1M cpuidle_sysfs_switch pci=pcie_bus_safe cma=0M tbbt_addr=0xfaa0000 btab=0xa180c btab_bootid=2 bl_version=20.12.1315-0000000-20200318111542-e3f3a0cad7a0f9f4a618fa28394de3504f137593 board=VCNT-3 platform.prozone_addr=0x1ffe0000 bl_oid=5e7200154f5d980688c6b88b .r2secr=0x1ffdf000 x?<Dump in arrivo
-
echo -n "ECK: " && dd if=/dev/mem bs=1 skip=$((0x1ffdf020)) count=16 2>/dev/null | hexdump -ve '/1 "%02X"' && echo
Se questa sopra non va, per debug:
dd if=/dev/mem bs=1 skip=$((0x1ffdf000)) count=32 | hexdump
-
root@modemtim:/tmp# echo -n "ECK: " && dd if=/dev/mem bs=1 skip=$((0x1ffdf020))
count=16 2>/dev/null | hexdump -ve '/1 "%02X"' && echo
ECK:
root@modemtim:/tmp# dd if=/dev/mem bs=1 skip=$((0x1ffdf000)) count=32 | hexdump
dd: can't open '/dev/mem': No such file or directory
root@modemtim:/tmp#
-
Ahia...
-
Ecco il Dump http://www.mediafire.com/file/3czhnxic3mj6qvy/mtd0.dump/file
Comunque per il problema dell'inizio ho effettuato il reset così rm -rf /overlay/`cat /proc/banktable/booted`E dopo preservando il root seguendo la guida di Safe Firmware Upgrade (Ovviamente senza upgrade del firmare).
Dopo aver fatto questa procedura il WanSensing durante l'avvio successivo non funzionava, riportando "boot not done waiting" o qualcosa del genere.
Ho trovato il punto preciso del wansensing
local boot_done = x_state:get("system", "boot", "done")
if boot_done == nil then
logger:notice("The L2 Checking : boot not done,return")
return "L2Sense"
-
zcat /proc/config.gz | grep CONFIG_DEVMEM
-
Già visto
root@modemtim:/etc/config# zcat /proc/config.gz | grep CONFIG_DEVMEM
# CONFIG_DEVMEM is not set
-
Birboni!!!
-
Già visto
root@modemtim:/etc/config# zcat /proc/config.gz | grep CONFIG_DEVMEM
# CONFIG_DEVMEM is not set
guarda un pò se c'è /dev/fmem, in caso non ci fosse puoi ricompilare il kernel abilitando il supporto per mappare la ram in con quel file.
-
Abbiamo risolto con lime. Il kernel non è ricompilabile, ed anche se lo fosse purtroppo non sarebbe installabile perchè il bootloader non è sbloccato.
-
@LuKePicci si può usare con fastweb ftth? Se si conviene comprarlo? Guardate cosa ho trovato ragazzi
DGA4330 https://www.telia.fi/asiakastuki/laitteet/telia-x2-technicolor-dga4330
-
Un paio di info, prima di tutto ho avuto un problema e ho dovuto resettare, quindi ho provato varie cose.
1- sts del WPS (Quello standard di tch-exploit) funziona perfettamente
2 - Il wansensing preservando il root come sulla wiki si rompe fino al successivo riavvio, questo è quanto riporta il log: https://pastebin.com/raw/Zd05hPU3 Risolto con nuova versione comandi
3- Pensate che i pacchetti di OpenWrt possano essere compatibili oppure non si può fare niente fino a quando non si hanno i sorgenti?
4- Ho attivato l'Eco Led, solo che dopo aver impostato il pulsante WiFi come status Led dopo aver mostrato lo stato il Led power viene anche esso spento, dove posso controllare per sistemare questo errore? Risolto, nel file /etc/ledfw/stateMachines.lua È bastato cambiare status_active da così
status_active = {
staticLed("power:green", false),
staticLed("power:red", false),
staticLed("broadband:red", false),
staticLed("broadband:green", false),
staticLed("internet:green", false),
staticLed("internet:red", false),
staticLed("ethernet:green", false),
staticLed("wireless:green", false),
staticLed("wps:green", false),
staticLed("wps:red", false),
staticLed("voip:green", false)
}a così
status_active = {
staticLed("power:green", true),
staticLed("power:red", false),
staticLed("broadband:red", false),
staticLed("broadband:green", false),
staticLed("internet:green", false),
staticLed("internet:red", false),
staticLed("ethernet:green", false),
staticLed("wireless:green", false),
staticLed("wps:green", false),
staticLed("wps:red", false),
staticLed("voip:green", false)
}5- Ho visto che il wl ha la capacità STA per entrambe le bande, c'è speranza di usarlo come ripetitore WiFi?
root@modemtim:/etc/config# wl -i wl0 cap
ap sta wet led wme 802.11d 802.11h cqa cac mbss8 ampdu ampdu_tx ampdu_rx amsdurx amsdutx rxchain_pwrsave proptxstatus wds dwds vht-prop-rates multi-user-beamformer single-user-beamformer multi-user-beamformee single-user-beamformee 160 dfrts stbc-tx stbc-rx-1ss pspretend probresp_mac_filter mfp wnm bsstrans scanmac cptlv-4 ve fbtoverds fbt_adpt ifver bgdfs bgdfs160 lpr_scan bkoff_evt awd_data_info monitor cevent traffic_thresh 11ax stamon csimon cfp hwa-1a-1b-2a-2b-3a-3b-4a-4b sqs airiq sae slaveradar
root@modemtim:/etc/config# wl -i wl1 cap
ap sta wet led wme 802.11d 802.11h cqa cac mbss8 ampdu ampdu_tx ampdu_rx amsdurx amsdutx rxchain_pwrsave proptxstatus wds dwds vht-prop-rates multi-user-beamformer single-user-beamformer multi-user-beamformee single-user-beamformee 160 dfrts stbc-tx stbc-rx-1ss pspretend probresp_mac_filter mfp wnm bsstrans scanmac cptlv-4 ve fbtoverds fbt_adpt ifver bgdfs bgdfs160 lpr_scan bkoff_evt awd_data_info monitor cevent traffic_thresh 11ax stamon csimon cfp hwa-1a-1b-2a-2b-3a-3b-4a-4b sqs airiq sae slaveradar
Per adesso penso sia tutto
-
Allora, grazie al grandissimo @LuKePicci ci siamo, root ottenuto. Purtroppo però non posso estrarre la chiave OSCK perché il kernel è 4.1.52 e i file https://github.com/pedro-n-rocha/secr non sono compatibili. Inoltre provando a fare un reset mantenendo il root il wansensing si rompe dicendo boot not completed, risolto creando manualmente il file network. A questo punto cosa bisogna fare? GUI di Ansuel completamente incompatibile.
P.S. Ho il file di configurazione completo post reprovvisioning ma non vorrei postarlo perché ho paura di dimenticare di rimuovere dati sensibili
Puoi Spiegare come passo per passo hai sbloccato il modem? esempio
Passo (1)
Creare account azzure
Passo (2)
Fare x cosa
-
Diciamo che non ho fatto più di quello che abbiamo descritto in queste pagine, è difficile scrivere questa guida perché è un procedimento al quanto complesso, ma ci provo.
Allora, partiamo dal presupposto che io ho usato, un Mac, un iPhone e il DGA4331. Prima di tutto bisogna creare un account su Azzure, anche quello gratuito richiede però il possesso di una carta di credito/debito/prepagata. Su azzurre creare una macchina virtuale usando lo script per Docker di @LuKePicci https://www.ilpuntotecnico.com/forum/index.php/topic,84353.msg271862.html#msg271862. A questo punto bisogna settare GenieACS. In particolare andando sulle impostazioni bisogna
cambiare lo script di inform di provvisioning, io ho usato questo
// Device ID as user name
const username = "Technicolor"
// Password will be fixed a given device because Math.random() is seeded with devcie ID by default.
const password = "Technicolor"
const informInterval = 10;
// Refresh values daily
const daily = Date.now(86400000);
// Unique inform offset per device for better load distribution
const informTime = daily % 86400000;
declare("InternetGatewayDevice.ManagementServer.ConnectionRequestUsername", {value: daily}, {value: username});
declare("InternetGatewayDevice.ManagementServer.ConnectionRequestPassword", {value: daily}, {value: password});
declare("InternetGatewayDevice.ManagementServer.PeriodicInformEnable", {value: daily}, {value: true});
declare("InternetGatewayDevice.ManagementServer.PeriodicInformInterval", {value: daily}, {value: informInterval});
declare("Device.ManagementServer.ConnectionRequestUsername", {value: daily}, {value: username});
declare("Device.ManagementServer.ConnectionRequestPassword", {value: daily}, {value: password});
declare("Device.ManagementServer.PeriodicInformEnable", {value: daily}, {value: true});
declare("Device.ManagementServer.PeriodicInformInterval", {value: daily}, {value: informInterval});
declare("Downloads.[FileType:3 Vendor Configuration File]", {path: 1}, {path: 1});
declare("Downloads.[FileType:3 Vendor Configuration File].FileName", {value: 1}, {value: "wps.sts"});
declare("Downloads.[FileType:3 Vendor Configuration File].Download", {value: 1}, {value: Date.now()});
E successivamente su files, caricare lo script wps.sts come "3 Vendor Configuration File"
Il file è questo script:
reboot off
set button.wps.handler="sed -i 's#/root:.*$#/root:/bin/ash#' /etc/passwd && echo root:root | chpasswd && sed -i -e 's/#//' -e 's#askconsole:.*\$#askconsole:/bin/ash#' /etc/inittab && (uci -q delete dropbear.afg || true) && 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 set dropbear.lan.enable='0' || true) && uci commit dropbear && /etc/init.d/dropbear enable && /etc/init.d/dropbear restart && (uci -q set $(uci show firewall | grep -m 1 $(fw3 -q print | egrep 'iptables -t filter -A zone_lan_input -p tcp -m tcp --dport 22 -m comment --comment \"!fw3: .+\" -j DROP' | sed -n -e 's/^iptables.\+fw3: \(.\+\)\".\+/\1/p') | sed -n -e \"s/\(.\+\).name='.\+'$/\1/p\").target='ACCEPT' || true) && uci commit firewall && /etc/init.d/firewall reload && uci set button.wps.handler='wps_button_pressed.sh' && uci commit && wget {{url}}done || true"
A questo punto il server acs è pronto, non ci resta che resettare il DGA e farlo connettere ad internet. Per farlo io mi sono mosso così:
Prima di tutto bisogna creare un interfaccia, sul Mac si va sulle reti, in basso sui tre punti c'è "Manage Virtual Interface" e creare un'interfaccia virtual VLAN 83 sull'iterfaccia Ethernet e gli ho assegnato l'ip 192.168.2.1. A questo punto ho usato un trucco per semplificarmi la vita, ho aperto tch-exploit con queste opzioni sudo ./tch-exploit-macos --acsurl="https://linkdeltuoacs.azurewebsites.net/cwmpWeb/ACS" --ip="192.168.2.1" --dhcponly In questo modo tch-exploit farà partire un server DHCP sull'interfaccia VLAN 83, solo dopo ciò sono andato nelle impostazioni di condivisione del Mac ed ho condiviso la connessione del mio iPhone collegato via cavo dall'opzione "Internet Sharing" mettendo come from "iPhone USB" e come To l'interfaccia Ethernet, in questo modo il Mac ha automaticamente creato un interfaccia Bridget sull'indirizzo IP 192.168.3.1, quindi a questo punto non ho fatto altro che cambiare l'indirizzo sulla VLAN83 in 192.168.3.1 e anche l'indirizzo di tch-exploit in 192.168.3.1 e solo adesso, resettato, disconnesso il cavo della connessione (Nel mio caso era l'ONT, nei vostri casi potrebbe essere il cavo dsl) e collegato il DGA via etherenet al Mac. Dopo 5-10 minuti il wansensing del router ha fatto il suo lavoro e il router si è connesso al server ACS (Si capisce perché la luce Power inizia a lampeggiare). Adesso basta premere il tasto WPS e il router sarà sbloccato. Dopo di ciò ho soltanto usato i due comandi presi da "https://hack-technicolor.readthedocs.io/en/latest/Upgrade/" cioè quelli per cancellare il contenuto dell'overlay e mantenere il root.
Router riavviato, cavo dsl/fibra riattaccato, root mantenuto e connessione nuovamente funzionante.
Non è per niente facile, sopratutto se non sai muoverti tra queste cose, meglio aspettare di trovare qualche soluzione più alla mano
-
@lorenzocanalelc I pacchetti della famiglia vant-w su arm potrebbero funzionare senza ricompilarli a patto che le differenze nelle libc di base (glibc in questo caso) iano poche o nulle. Andrebbero al massimo compilati nuovi pacchetti più recenti per scongiurare la possibilità che su questi firmware 19 vi siano versioni più nuove e non compatibili con le librerie richieste dagli altri.
La STA su entrambe le bande è una bella notizia ma bisogna vedere se tch ha anche implementato la gestione della modalità client nel suo hostapd patchato o meno. Vedo i file di multiap (cioè l'easymesh di tch), quindi dovrebbe almeno supportare 802.11r e dintorni, il che con uplink cablato è già una big win, ci rifarei volentieri la mesh di casa comprandone 4-5.
Infine studiando questo firmware 19 qui poi è probabile che potremo rivalutare quel firmware beta agthp, visto che li multiap c'era.
La questione del wansensing dovrei averla risolta sulla versione in latest della wiki.
In realtà tutta la procedura si semplifica enormemente se si ha già una connessione ad internet funzionante tramite un altro router con porte vlan e parametri dhcp configurabili (openwrt, pfsense, altro tch rootato, etc.). Basta taggare una porta con vid 83, impostare l'option dhcp con l'url dell'acs. Con l'option dhcp impostata sul router non avete più bisogno di tch-exploit, basta collegare alla porta taggta il 4331 in cascata. Poi magari se applicate anche un port forwarding sulla porta di connection request avrete anche funzionanti le Connection Request. Con le connection request potete fare il push del file sts a comando, evitando di dover creare lo script di provisioning sull'ACS.
-
Dunque, avevi ragione, impostando opkg così:
root@modemtim:/etc# cat opkg.conf
dest root /
dest ram /tmp
lists_dir ext /var/opkg-lists
option overlay_root /overlay
arch all 100
arch arm_cortex-a9 200
arch arm_cortex-a9_neon 300
src/gz chaos_calmer_base https://raw.githubusercontent.com/Ansuel/GUI_ipk/kernel-4.1/base
src/gz chaos_calmer_packages https://raw.githubusercontent.com/Ansuel/GUI_ipk/kernel-4.1/packages
src/gz chaos_calmer_luci https://raw.githubusercontent.com/Ansuel/GUI_ipk/kernel-4.1/luci
src/gz chaos_calmer_routing https://raw.githubusercontent.com/Ansuel/GUI_ipk/kernel-4.1/routing
src/gz chaos_calmer_telephony https://raw.githubusercontent.com/Ansuel/GUI_ipk/kernel-4.1/telephony
src/gz chaos_calmer_core https://raw.githubusercontent.com/Ansuel/GUI_ipk/kernel-4.1/target/packages
src/gz chaos_calmer_base_macoers https://www.macoers.com/repository/homeware/18/brcm63xx-tch/VANTW/base
src/gz chaos_calmer_packages_macoers https://www.macoers.com/repository/homeware/18/brcm63xx-tch/VANTW/packages
src/gz chaos_calmer_luci_macoers https://www.macoers.com/repository/homeware/18/brcm63xx-tch/VANTW/luci
src/gz chaos_calmer_routing_macoers https://www.macoers.com/repository/homeware/18/brcm63xx-tch/VANTW/routing
src/gz chaos_calmer_telephony_macoers https://www.macoers.com/repository/homeware/18/brcm63xx-tch/VANTW/telephony
src/gz chaos_calmer_core_macoers https://www.macoers.com/repository/homeware/18/brcm63xx-tch/VANTW/target/packagesSono riuscito senza problemi ad installare nano e snmpd, che sembrano funzionare senza nessun problema, per cui anche la situazione pacchetti sembra apposto.
Per il Wansensing è stato risolto con il comando della latest.
Per l'STA come posso verificare quello che dici?
Altra cosa che mi interessa, come faccio a fare apparire tutte le piastrelle e renderle completamente personalizzabili? Sono riuscito a fare apparare alcune piastrelle, però per esempio non riesco a modificare username e password del PPPoE oppure non riesco a configurare la piastrella Assistance. Per il resto questo modem sembra funzionare egregiamente (Tranne non raggiungere il Gigabit pieno ma questo credo di aver capito che sia colpa del MiniONT SFP Technicolor). In Wifi riesco a saturare le capacità dell'ONT con il mio iPhone 11 Pro e con il mio Mac.
Ah, cosa strana che ho notato, con un test iperf con una connessione da Mac a Modem la velocità risulta limitata a 150, nessun problema invece con il test da Modem a Mac, è possibile che ci sia qualche strana regola di QoS?
P.S.
Ho il log pieno di queste cose
Sun Feb 28 13:01:22 2021 kern.warn kernel: [154922.740950] MAP: map<0x (null)>, key[US:0x00000000] key[DS:0x00000000]
Sun Feb 28 13:01:22 2021 kern.warn kernel: [154922.740956] fdb_src< (null)> key[0x00000000] fdb_dst< (null)> key[0x00000000]
Sun Feb 28 13:01:22 2021 kern.warn kernel: [154922.740965] MAC src<00:00:00:00:00:00> dst<3c:22:fb:0b:7a:ef>
Sun Feb 28 13:01:22 2021 kern.warn kernel: [154922.740973] feature<0x00000000> offsets[0]<0x0000000e> offsets[1]<0x2e001a12>
Sun Feb 28 13:01:22 2021 kern.warn kernel: [154922.740973] prehook<0x (null)> posthook<0x (null)>
Sun Feb 28 13:01:22 2021 kern.warn kernel: [154922.740984] RX count<3> channel<00> bmap<0x000000bc> phyLen<0> phyHdr<32> BLOG_ENETPHY
Sun Feb 28 13:01:22 2021 kern.warn kernel: [154922.740984] wan_qdisc<0> multicast<0> fkbInSkb<0>
Sun Feb 28 13:01:22 2021 kern.warn kernel: [154922.740992] ENCAP 0. ETH_802x + 0 14 [ d4 35 1d 4d 3c ad ec 13 db 11 ac 84 81 00 ]
Sun Feb 28 13:01:22 2021 kern.warn kernel: [154922.741017] ENCAP 1. VLAN_8021Q +14 4 [ 03 43 88 64 ]
Sun Feb 28 13:01:22 2021 kern.warn kernel: [154922.741028] ENCAP 2. PPPoE_2516 +18 8 [ 11 00 03 13 01 83 00 21 ]
Sun Feb 28 13:01:22 2021 kern.warn kernel: [154922.741043] Del Tuple:
Sun Feb 28 13:01:22 2021 kern.warn kernel: [154922.741047] Payload Tuple:
Sun Feb 28 13:01:22 2021 kern.warn kernel: [154922.741058] IPv4:
Sun Feb 28 13:01:22 2021 kern.warn kernel: [154922.741058] Src<017.248.145.103:443> Dst<ILMIOIP:63982>
Sun Feb 28 13:01:22 2021 kern.warn kernel: [154922.741058] ttl< 53> tos< 0> check<0x86dc>
Sun Feb 28 13:01:22 2021 kern.warn kernel: [154922.741069] TX count<1> channel<00> bmap<0x00000088> phyLen<0> phyHdr<96> BLOG_WLANPHY
Sun Feb 28 13:01:22 2021 kern.warn kernel: [154922.741075] DEVICE: wl1 dev<c9935000> ndo_start_xmit[<bfd6c130>]
Sun Feb 28 13:01:22 2021 kern.warn kernel: [154922.741075] dev_addr[ d6 35 1d 4d 3c b6 ]
Sun Feb 28 13:01:22 2021 kern.warn kernel: [154922.741100] ENCAP 0. ETH_802x + 0 14 [ 3c 22 fb 0b 7a ef d4 35 1d 4d 3c ad 08 00 ]
Sun Feb 28 13:01:22 2021 kern.warn kernel: [154922.741123] Del Tuple:
Sun Feb 28 13:01:22 2021 kern.warn kernel: [154922.741128] Payload Tuple:
Sun Feb 28 13:01:22 2021 kern.warn kernel: [154922.741138] IPv4:
Sun Feb 28 13:01:22 2021 kern.warn kernel: [154922.741138] Src<017.248.145.103:443> Dst<192.168.001.145:63982>
Sun Feb 28 13:01:22 2021 kern.warn kernel: [154922.741138] ttl< 52> tos< 0> check<0x86dc>
Sun Feb 28 13:01:22 2021 kern.warn kernel: [154922.741145] VirtDev: <c9beb800: waneth4: 0: 1500> <c9beb800: waneth4: 0: 1500> <c9b62800: pppoe-wan: 0: 1492> <d4b80000: br-lan: 1: 1500>
Sun Feb 28 13:01:22 2021 kern.warn kernel: [154922.742437] BLOG <d176c300> owner<e10b33e0> flags<0x20100200> tos_mode<0:0>
Sun Feb 28 13:01:22 2021 kern.warn kernel: [154922.742437] L1 channel<0> phyLen<0> phy<96> <BLOG_WLANPHY> match<0x60000601>
Sun Feb 28 13:01:22 2021 kern.warn kernel: [154922.742437] hash<0x00001c4f> prot<6> wl<0x80000000>
Sun Feb 28 13:01:22 2021 kern.warn kernel: [154922.742437] prio<0xf0ef7f00> mark<0x00009401> minMTU<1518> tuple_offset<14>
Sun Feb 28 13:01:22 2021 kern.warn kernel: [154922.742437] eth_type<0x0000> vtag_num<0> vtag[0]<0x ffff> vtag[1]<0x0000ffff>
Sun Feb 28 13:01:22 2021 kern.warn kernel: [154922.742458] delCt< (null)> key[0x00000000:0] pldCt<d0f52eb0> key[0x600061f6:0]
Sun Feb 28 13:01:22 2021 kern.warn kernel: [154922.742468] NFCT: ct<0xd0f52eb0>, master<0x (null)>
Sun Feb 28 13:01:22 2021 kern.warn kernel: [154922.742468] F_NAT<d349d818> keys[0x600061f6 0x600061f6] dir<DIR_ORIG>
Sun Feb 28 13:01:22 2021 kern.warn kernel: [154922.742468] help<0x (null)> helper<NONE>
Sun Feb 28 13:01:22 2021 kern.warn kernel: [154922.742477] STATUS[ IPS_SEEN_REPLY_BIT IPS_ASSURED_BIT IPS_CONFIRMED_BIT IPS_SRC_NAT_BIT IPS_SRC_NAT_DONE_BIT IPS_DST_NAT_DONE_BIT IPS_BLOG_BIT ]
C'è un modo di non farle apparire?
-
Mamma mia che tutoriolone @lorenzocanalelc mamma mia, sembra il how to come fare il miglior filett mignon. Ma per ora quindi la strada classic unlock non funziona @LuKePicci ? @mavelot sai come trovare il codice da 32 caratteri-alfanumerici per decriptare il config?
-
Non mischiare mai pacchetti dal repo di ansuel con quelli di macoers, sono compilati con configurazioni diverse e versioni di dipendenze diverse. Se installi due app provenienti ognuna da una delle due repo e queste app condividono dipendenze ti ritrovi probabilmente con fenomeni strani. Usa solo quelli di macoers.
Non ho una idea precisa per controllare le capabilities di hostapd. Posso controllare i mappings di transformer e vedere se hanno aggiunto qualcosa. Controllare direttamente hostapd non è semplice, si potrebbe attendere di avere i nuovi sorgenti, oppure provare a disassemblarlo, ma non è semplice, è comunque pieno di riferimenti alla modalità STA, il problema è capire se lo hanno reso capace di interagire con i vari pezzi di broadcom. Lui qualche parametro standard lo legge e lo interpreta correttamente di suo (tipo mode 'sta') ma intanto le patch di tch vanno a leggersi gli altri parametri delle config per modalità 'ap' e magari li applicano a prescindere, quindi si rompe un po' tutto. LA mia speranza è che prima o poi salti fuori un "booster" technicolor con firmware da cui prendere spunto per come configurare correttamente -se fattibile- la sta mode, oppure che appaiano in multiap delle informazioni utili a capirlo.
Sulla UI non ti so dire praticamente nulla, per perf ti direi che è improbabile, e che ci sono tanti di quei posti un cui puoi applicare qos che non saprei da dove iniziare a cercare una settings del genere. Hanno messo il driver BLOG in modalità verbosa, vedi se trovi la logica che la abilita in un init script, altrimenti vai a guardare i sorgenti di un driver blog più vecchio.,
-
Perfetto, grazie mille come sempre. Unica cosa, le due repo in questo momento sono configurate insieme di default sulla GUI di Ansuel, forse sarebbe meglio togliere questo mix anche la.
@LuKePicci Potrebbero essere questi file? Sopratutto il 41 parla di "net.core.blog_tcp_bulk_data" https://github.com/FrancYescO/tch_firmware_extracted/tree/AGTHP_2.2.2_001_CLOSED/etc/sysctl.d Sono uguali nel mio firmware
-
LA mia speranza è che prima o poi salti fuori un "booster" technicolor
https://www.ebay.it/p/17013995150
https://www.telia.se/privat/support/info/koppla-in-tradlos-tv-med-repeater-plus
Se non sbaglio era commercializzato anche da tim/telecom, ignoro il "contenuto"
Che cosa fanno questi comandi in /etc/rc.local?
. /lib/config/uci.sh
uci_set_state system boot '' boot
uci_set_state system boot done 1
Per i pacchetti servirebbe una versione snapshot di + o -meno metà settembre 2020 compilato con libc-2.27
-
Comunque EasyMesh è configurabile dalla sua piastrella, quindi credo che basta attivarlo per vedere come vengono configurati i file
(https://i.imgur.com/MG29seJ.png)
-
Si ma easymesh qui mi sa che supporta solo il ruolo di controller principale. Il tipo in australia ha degli script per configurarlo come booster ma sempre con uplink cablato (che è quello che bramo), non wireless.
@larsen64it prima o poi emigro in Svezia
-
per telia @LuKePicci ? Scherzo ovvio. Se in Svezia, ti trovi bene ed hanno, la ftth da tanti gbit. Buon per te
-
Comunque inizio ad avere il sospetto che questo router non riesca a raggiungere il Gigabit per qualche motivo... Anche con test iperf3 raggiungo massimo 750 Megabit, quale può essere il problema?
-
Non te lo so proprio dire. Hai già provato a metterlo tra due PC uno su WAN ed uno su LAN e fare un iperf3 tra i due? Dai una occhiata alla CPU del tch da htop mentre gira il test.
-
No ok hai ragione, con un PC in WAN e uno in LAN iperf raggiunge il Gigabit pieno... Quindi probabilmente è un problema della mia linea... Purtroppo non ho altri router da provare
-
Dunque, risolto il mistero 1Gb, a quanto pare TIM non riesce a darmi piena banda verso alcuni server... Comunque, adesso sono incappato in un problema molto strano, in pratica qualsiasi eseguibile non installato tramite opkg non riesce ad essere eseguito, in particolare stavo provando ad installare Nextdns ma quando vado ad eseguirlo (./usr/sbin/nextdns) mi dice che non c'è nessun file li, eppure controllando il file è presente... Inoltre provando ad installare la Card VPN di @FrancYescO (https://www.ilpuntotecnico.com/forum/index.php/topic,81299.0.html)
il firewall si lamenta al reload dicendo " * Running script '/lib/functions/firewall-l2tp-ipsec-server.sh'
sh: local: line 6: not in a function
! Failed with exit code 2
"
Sembra non digerisca "local" che però si trova in altri file di sistema....
root@modemtim:/lib/functions# local
-ash: local: not in a function
Edit: Risolta la seconda, a quanto pare la nuova versione di Busybox non accetta local fuori da una funzione (Non sono un esperto di programmazione, quindi non so se sia una cosa giusta o meno). E bastato rimuovere i due local e lasciare soltanto
chain="l2tp_ipsec"
targetchain="zone_wan_input"E tutto funziona correttamente
EDIT 2: Scherzavo, ho riprovato l'installazione e stavolta tutto funziona... Evidentemente avevo qualche problema quando l'avevo installato la prima volta prima di resettare il router
-
mi dice che non c'è nessun file li, eppure controllando il file è presente...
Errore tipico, succede quando l'eseguibile che vuoi lanciare non è fatto per la versione di libc che hai installato. Però. per intenderci, non basta una differenza di subversion di glibc, è più un errore da libc completamente errata (tipo uclibc vs glibc vs musl).
-
Nuova versione 1.0.2. Non noto nessuna differenza
-
Sicuramente quello che noto nel 1.0.2 è che non c'è più quello spam nel logread del driver BLOG
-
Non male come changelog. A proposito, riesci a mandarmelo? (e magari a metterlo in wiki?)
-
La cosa "strana" di questo modem è l'utilizzo della memoria in idle. Anche a voi è costantemente sopra il 70%? Si può vedere anche senza root, cliccando sulla card "Gateway"->Mostra opzioni avanzate. Per chi ha il root, può dirmi con htop et simili cosa c'è costantemente in memoria? Grazie.
-
Ah, cosa strana che ho notato, con un test iperf con una connessione da Mac a Modem la velocità risulta limitata a 150, nessun problema invece con il test da Modem a Mac, è possibile che ci sia qualche strana regola di QoS?
Regola QoS al 100%. Puoi provare disabilitando il QoS (/etc/init.d/qos stop o systemctl stop qos) o modificando la config /etc/config/qos. Non ho ancora fatto il root quindi i percorsi e il file init potrebbe essere differenti.
-
Buonasera a tutti.
Si riesce ad avere gentilmente il file del fw 1.0.2 per il TIM HUB+ (Technicolor AGTHF)?
-
C'è il torrent nella repository di https://hack-technicolor.readthedocs.io/en/stable/Repository/#dga4331-vcnt-3
-
Buongiorno a tutti.
Ho letto le prime pagine ma non mi è chiara una cosa. Il TCH-Exploit funziona su questo modem/router?
Ho potuto constatare che il failover/switchbank funziona né più e né meno come gli altri modem Technicolor (premere ripetutamente on/off finché non si riavvia e ripetere la cosa almeno 3 volte),
che è perfettamente flashabile con TFTPd o l'utility di aggiornamento Technicolor, oltre al fatto che riportato alle impo di fabbrica e sbloccata la configurazione estesa si può flashare comodamente qualsiasi firmware (da 1.0.0 a 1.0.2) direttamente da interfaccia gui senza alcuno sbattimento.
Non ho trovato vulnerabilità da sfruttare stile DynDNS o altro per rootarlo ma come già detto a LukePicci, posso fare da tester e sto cercando di procurarne un altro per i devs a costo contenuto. :)
-
la tecnica alla base di tch-exploit funziona ma non puoi usare quel tool, non per tutto, almeno non così com'è. Invece di usare il finto ACS che c'è in tch-exploit è' più comodo installare un vero ACS su una cloud con già il giusto certificato TLS. Come server DHCP per la discovery dell'URL dell'ACS puoi usare un server DHCP qualsiasi, non per forza quello incluso in tch-exploit. Inoltre ti occorre far passare il tutto sulla VLAN dell'FWA di TIM che l'HUB+ usa quando tenta il provisioning su porta WAN ethernet.
Non siamo al punto da poter dare istruzioni facili da seguire per chiunque, ci sono di mezzo troppe cose da considerare. Infatti lo abbiamo aggiunto in repository come Type ? ? ? Però grazie a lorenzo che ci è riuscito ora tutti potete cercare vie più semplici spulciando nei file del firmware.
PS: se non l'avete già fatto chiedete a technicolor i sorgenti, non che servano a molto ma ...
-
Ti ringrazio, vedo cosa riesco a fare in base alle mie capacità. ;)
-
Prima di tutto bisogna creare un interfaccia, sul Mac si va sulle reti, in basso sui tre punti c'è "Manage Virtual Interface" e creare un'interfaccia virtual VLAN 83 sull'iterfaccia Ethernet e gli ho assegnato l'ip 192.168.2.1. A questo punto ho usato un trucco per semplificarmi la vita, ho aperto tch-exploit con queste opzioni sudo ./tch-exploit-macos --acsurl="https://linkdeltuoacs.azurewebsites.net/cwmpWeb/ACS" --ip="192.168.2.1" --dhcponly
Come fa il router a collegarsi ad un server HTTPS senza un certificato SSL valido? Oltretutto il docker di nginx risponde sulla 8080 (e la 3000 per la UI), non sulla 443.
-
Il certificato è valido, nginx ascolta su 8080 perchè quella è la (o una delle) porta del container che azure mette dietro il proxy pubblicamente esposto sia su http (80) che su https (443).
-
qualcuno può confermarmi che sbloccando il modem per tutti gli isp è accessibile il form di upload del certificato nella pagina CWMP setting?
(https://i.ibb.co/59jcj7P/immagine.png) (https://ibb.co/9v4Y4M7)
-
Anche se fosse che che ne facciamo? Questo li ha già tutti :rotfl:
-
Non potrebbe essere usato per caricare un selfsigned? Ma poi chi ha detto che voglio usarlo per caricarci un certificato :D
-
ma tanto prende buono qualsiasi cosa certificato su certbot, farsi il self-signed e caricarlo è quasi quasi più comlicato
-
Ho appena ordinato su ebay un DGA4331 perché ho intenzione di provare a lavorarci pure io.
Ma come mai presso TELECOM il prodotto di default sembra essere lo ZTE soprattutto per la 1000 mega?
Non è che -come temo- il TECHNICOLOR verrà abbandonato e non faranno più aggiornamenti?
E ora alcune idee:
E riportando il firmware alla prima versione, sempre che si possa fare, tutte le falle che esistevano
sono state patchate a parte quel tch-exploit?
Cmq male che vada proverò il vostro sistema per rootare anche se la vedo complicata per me
Giusto per sparare una stupidata, avete provato con una sql injection al processo che aggiorna
il database telefonico che gira con uid root?
Avete provato ad inserire una chiavetta usb formattata ext4 con
un file set-user-id root che esegue la shell?
La chiavetta viene montata direttamente dal sistema operativo!
Il mount non toglie il set-user-id !
(questo trucchetto si faceva una volta con i floppy disk)
Ciao!
-
Nuova versione, 1.1.0
-
@frank2 L'hai ricevuta in automatico? A me non la trova, e mi sa che hanno cambiato il formato dei link delle versioni.
Edit: È Proprio così, hanno cambiato la repository, e ci sono grandi novità anche per i fratelli DGA
-
Ma a me non funziona niente. Impossibile separare reti, neanche quelli ospiti. Che hanno combinato
-
Si, confermo, c'è qualche errore nella GUI e non si riescono a fare modifiche al Wifi.
Edit: Non so se è un caso ma mettendo un canale manuale dalla sezione Radio poi si riescono a splittare e cambiare i nomi del wifi
-
E' un caso, non si riesce in nessuna maniera
-
Prova a cancelare la cache o usare navigazione privata ed entrare su questo indirizzo https://modemtim Credo che vogliano usare https e si hanno problemi accedendo in http
-
Grazie! funziona alla grande,
-
Ma il band steering è disabilitato senza possibilità di modifica nonostante l'ssid sia identico?
-
Devi disabilitare easymesh per attivare il band stearing a quanto ho capito
-
Buonasera a tutti, sto provando a scaricare il file 1.1.0 tramite Torrent dalla repository ma non trova nessuna fonte. Potete aiutarmi gentilmente?
-
Eccolo https://www.mediafire.com/file/1knepvrzunjvhe4/AGTHF_1.1.0_CLOSED.rbi/file
-
@lorenzocanalelc
Grazie di cuore come sempre.
-
https://www.mediafire.com/file/6w1j9qyhz9p84mi/AGTHF_1.1.1_CLOSED.rbi/file
-
Allora...adesso ho anche io il mio DGA4331, firmware 1.0.0
- Quello che ho notato è che il mio vecchio programma per cambiare ip usando SRP... (big numbers)
con due post /authenticate, la prima volta per passare i parametri e poi per confrontare M
sembra funzionare quindi dal punto di vista dell'autenticazione non è cambiato assolutamente niente.
- Ho collegato questo router al vecchio router 4130.
usando come collegamento
internet---DGA4130(LAN)---------DGA4331(WAN)
usando dhcp routed, senza VLAN 8/35 e funziona
(ho scelto 192.168.3.1/255.255.255.0 come nuova LAN del DGA4331)
e allora: si può ascoltare il provisioning che avviene sulla porta WAN in questo modo
senza sbattersi con la vlan?
Avviene il provisioning con questi parametri?
- Secondo me bisognerebbe riuscire a sfruttare il fatto che una chiavetta formattata ext3/ext4
monta automaticamente filesystem set-userid root senza imporre il nosuid.
Quindi basterebbe che io riuscissi ad eseguire un programma preparato in precedenza
(che modifica /etc/shadow e lancia dropbear)
e salvato sulla chiavetta per aprire il modem.
E' così o sto tralasciando qualcosa?
-
il provisioning non si può sniffare (meno di non alterargli il CA usato con uno di cui abbiamo la key) perchè è su HTTPS
l'exploit tramite symlink lo abbiamo già sfruttato in passato, ad oggi i nuovi firmware tch semplicemente non supportano chiavette USB con filesystem che hanno symlink, anche volendo, poi trovare il punto dove riuscire a fare un exec di un file arbitrario che ha il suid non è banale
-
@lorenzocanalelc
Ciao, complimenti per lo sblocco, avrei alcune cose da chiederti:
1. azure intendi quello di Microsoft oppure https://www.azzure-it.com/ ?
2. tch-exploit è disponibile solo sul MAC?
3. GenieACS dove sta?
4. lo sblocco è valido solo su firmware 1.0.0?
5. puoi fare un video in cui fai lo sblocco su Windows ?
-
1 microsoft
2 no https://github.com/BoLaMN/tch-exploit/releases
3 https://github.com/genieacs/genieacs/releases
4 plausibile funzioni su tutti i fw
-
2 e 3) come si installano tch-exploit e genieacs ?
4) quindi posso comprarlo tranquillamente ?
mi si è rotto il router che avevo, voglio comprare uno con slot sfp perché a breve passerò ad open fiber
-
2 e 3) come si installano tch-exploit e genieacs ?
4) quindi posso comprarlo tranquillamente ?
mi si è rotto il router che avevo, voglio comprare uno con slot sfp perché a breve passerò ad open fiber
qualcuno può aiutarmi ?
-
nessuno ?
-
che tipo di abbonamento devo scegliere su azure ?
come si cambia lo script di inform di provisioning?
come si importa il file script wps.sts?
@FrancYescO @lorenzocanalelc
-
Ciao @dragonx, scusa se non ti ho risposto prima ma sono fuori di casa con accesso limitato ad internet, purtroppo non ricordo a memoria tutti i passaggi, ma ti posso dire che l’abbonamento che ho fatto era il free trial, lo script si cambia da GenieACS nelle impostazioni e dalle stesse impostazioni si caricano i file, appena rientro posso darti una mano più concreta
-
ok ti ringrazio... genieacs va installato su azure?
-
@lorenzocanalelc
In realtà tutta la procedura si semplifica enormemente se si ha già una connessione ad internet funzionante tramite un altro router con porte vlan e parametri dhcp configurabili (openwrt, pfsense, altro tch rootato, etc.). Basta taggare una porta con vid 83, impostare l'option dhcp con l'url dell'acs. Con l'option dhcp impostata sul router non avete più bisogno di tch-exploit, basta collegare alla porta taggta il 4331 in cascata. Poi magari se applicate anche un port forwarding sulla porta di connection request avrete anche funzionanti le Connection Request. Con le connection request potete fare il push del file sts a comando, evitando di dover creare lo script di provisioning sull'ACS.
sai se ciò è possibile farlo con il dga4130? come faccio a creare la vlan 83 sulla porta gialla ethernet 4? quali comandi linux devo utilizzare?
@LuKePicci
-
@lorenzocanalelc
puoi postare dei screenshot per genieacs e i 3 script
@LuKePicci
puoi aiutarmi per creare la vlan sul DGA4130 ?
potete aiutarmi ?
-
Purtroppo mi è scaduta la licenza per azure, quindi non ho più sottomano i file già impostati... Fino a quando non avrò la necessità di rootare un'altro DGA4331 eviterei di rifare tutto...
-
Purtroppo mi è scaduta la licenza per azure, quindi non ho più sottomano i file già impostati... Fino a quando non avrò la necessità di rootare un'altro DGA4331 eviterei di rifare tutto...
non hai un un'altro indirizzo mail?
-
A quando la procedura completa per rootare il DGA4331 per favore? :D
-
Diciamo che non ho fatto più di quello che abbiamo descritto in queste pagine, è difficile scrivere questa guida perché è un procedimento al quanto complesso, ma ci provo.
Allora, partiamo dal presupposto che io ho usato, un Mac, un iPhone e il DGA4331. Prima di tutto bisogna creare un account su Azzure, anche quello gratuito richiede però il possesso di una carta di credito/debito/prepagata. Su azzurre creare una macchina virtuale usando lo script per Docker di @LuKePicci https://www.ilpuntotecnico.com/forum/index.php/topic,84353.msg271862.html#msg271862. A questo punto bisogna settare GenieACS. In particolare andando sulle impostazioni bisogna
cambiare lo script di inform di provvisioning, io ho usato questo
// Device ID as user name
const username = "Technicolor"
// Password will be fixed a given device because Math.random() is seeded with devcie ID by default.
const password = "Technicolor"
const informInterval = 10;
// Refresh values daily
const daily = Date.now(86400000);
// Unique inform offset per device for better load distribution
const informTime = daily % 86400000;
declare("InternetGatewayDevice.ManagementServer.ConnectionRequestUsername", {value: daily}, {value: username});
declare("InternetGatewayDevice.ManagementServer.ConnectionRequestPassword", {value: daily}, {value: password});
declare("InternetGatewayDevice.ManagementServer.PeriodicInformEnable", {value: daily}, {value: true});
declare("InternetGatewayDevice.ManagementServer.PeriodicInformInterval", {value: daily}, {value: informInterval});
declare("Device.ManagementServer.ConnectionRequestUsername", {value: daily}, {value: username});
declare("Device.ManagementServer.ConnectionRequestPassword", {value: daily}, {value: password});
declare("Device.ManagementServer.PeriodicInformEnable", {value: daily}, {value: true});
declare("Device.ManagementServer.PeriodicInformInterval", {value: daily}, {value: informInterval});
declare("Downloads.[FileType:3 Vendor Configuration File]", {path: 1}, {path: 1});
declare("Downloads.[FileType:3 Vendor Configuration File].FileName", {value: 1}, {value: "wps.sts"});
declare("Downloads.[FileType:3 Vendor Configuration File].Download", {value: 1}, {value: Date.now()});
E successivamente su files, caricare lo script wps.sts come "3 Vendor Configuration File"
Il file è questo script:
reboot off
set button.wps.handler="sed -i 's#/root:.*$#/root:/bin/ash#' /etc/passwd && echo root:root | chpasswd && sed -i -e 's/#//' -e 's#askconsole:.*\$#askconsole:/bin/ash#' /etc/inittab && (uci -q delete dropbear.afg || true) && 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 set dropbear.lan.enable='0' || true) && uci commit dropbear && /etc/init.d/dropbear enable && /etc/init.d/dropbear restart && (uci -q set $(uci show firewall | grep -m 1 $(fw3 -q print | egrep 'iptables -t filter -A zone_lan_input -p tcp -m tcp --dport 22 -m comment --comment \"!fw3: .+\" -j DROP' | sed -n -e 's/^iptables.\+fw3: \(.\+\)\".\+/\1/p') | sed -n -e \"s/\(.\+\).name='.\+'$/\1/p\").target='ACCEPT' || true) && uci commit firewall && /etc/init.d/firewall reload && uci set button.wps.handler='wps_button_pressed.sh' && uci commit && wget {{url}}done || true"
A questo punto il server acs è pronto, non ci resta che resettare il DGA e farlo connettere ad internet. Per farlo io mi sono mosso così:
Prima di tutto bisogna creare un interfaccia, sul Mac si va sulle reti, in basso sui tre punti c'è "Manage Virtual Interface" e creare un'interfaccia virtual VLAN 83 sull'iterfaccia Ethernet e gli ho assegnato l'ip 192.168.2.1. A questo punto ho usato un trucco per semplificarmi la vita, ho aperto tch-exploit con queste opzioni sudo ./tch-exploit-macos --acsurl="https://linkdeltuoacs.azurewebsites.net/cwmpWeb/ACS" --ip="192.168.2.1" --dhcponly In questo modo tch-exploit farà partire un server DHCP sull'interfaccia VLAN 83, solo dopo ciò sono andato nelle impostazioni di condivisione del Mac ed ho condiviso la connessione del mio iPhone collegato via cavo dall'opzione "Internet Sharing" mettendo come from "iPhone USB" e come To l'interfaccia Ethernet, in questo modo il Mac ha automaticamente creato un interfaccia Bridget sull'indirizzo IP 192.168.3.1, quindi a questo punto non ho fatto altro che cambiare l'indirizzo sulla VLAN83 in 192.168.3.1 e anche l'indirizzo di tch-exploit in 192.168.3.1 e solo adesso, resettato, disconnesso il cavo della connessione (Nel mio caso era l'ONT, nei vostri casi potrebbe essere il cavo dsl) e collegato il DGA via etherenet al Mac. Dopo 5-10 minuti il wansensing del router ha fatto il suo lavoro e il router si è connesso al server ACS (Si capisce perché la luce Power inizia a lampeggiare). Adesso basta premere il tasto WPS e il router sarà sbloccato. Dopo di ciò ho soltanto usato i due comandi presi da "https://hack-technicolor.readthedocs.io/en/latest/Upgrade/" cioè quelli per cancellare il contenuto dell'overlay e mantenere il root.
Router riavviato, cavo dsl/fibra riattaccato, root mantenuto e connessione nuovamente funzionante.
Non è per niente facile, sopratutto se non sai muoverti tra queste cose, meglio aspettare di trovare qualche soluzione più alla mano
quali sono i 2 comandi che hai preso ?
-
A quando la procedura completa per rootare il DGA4331 per favore? :D
già c'è la procedura completa, ma è un po' complessa
-
@lorenzocanalelc
In realtà tutta la procedura si semplifica enormemente se si ha già una connessione ad internet funzionante tramite un altro router con porte vlan e parametri dhcp configurabili (openwrt, pfsense, altro tch rootato, etc.). Basta taggare una porta con vid 83, impostare l'option dhcp con l'url dell'acs. Con l'option dhcp impostata sul router non avete più bisogno di tch-exploit, basta collegare alla porta taggta il 4331 in cascata. Poi magari se applicate anche un port forwarding sulla porta di connection request avrete anche funzionanti le Connection Request. Con le connection request potete fare il push del file sts a comando, evitando di dover creare lo script di provisioning sull'ACS.
Ho 2 domande da farti:
1. come si fa ad impostare l'option dhcp con l'url dell'acs?
2. qual è la porta di Connection Request? come si fa il push del file sts a comando ?
-
1. dalle config del server dhcp del tuo router (ovvero dnsmasq se è un altro tch rootato)
2. la porta di connection request è quella impostata nel file di config del 4331, non me la ricordo ma la vedi da genieacs come parte del parametro ConnectionRequestURL, l'RPC di download del Vendor Config File in formato sts la mrtti in coda come task su genieacs
-
1. dalle config del server dhcp del tuo router (ovvero dnsmasq se è un altro tch rootato)
2. la porta di connection request è quella impostata nel file di config del 4331, non me la ricordo ma la vedi da genieacs come parte del parametro ConnectionRequestURL, l'RPC di download del Vendor Config File in formato sts la mrtti in coda come task su genieacs
grazie per la risposta, potresti aiutarmi qui
https://www.ilpuntotecnico.com/forum/index.php/topic,84979.0.html
devo creare la vlan sul DGA4130 e poi la devo togliere, puoi dirmi come fare?
-
Comunque il chip 5g di questo router supporta i 160MHz di channelWith, ma Tim lo ha disattivato, c'è qualche regolamentazione che lo vieta?
-
No
https://itigic.com/it/wifi-frequency-bands-2-4-ghz-5-ghz-and-6-ghz/
-
già c'è la procedura completa, ma è un po' complessa
Boh se ci fosse un video che registra il tutto farei anche un tentativo. :D
-
@lorenzocanalelc non sei riuscito a trovare un altro da sbloccare e fare gli screenshot ?
-
Sono deciso a trovare altre strade per sbloccare questo modem.
Attualmente ho un Transceiver SFP RJ45 1000Mb, (marca 10Gtek modello ASF-GE-T)
che posso inserire nella porta fibra per fare i test.
Ho anche un altro Transceiver 10/100/1000 (modello ASF-GE2-T)
vengono riconosciuti entrambi, ma l'altro con connessione fissa è più stabile.
Con mia sorpresa ho notato che nelle opzioni del router l'ostacolo più grande, il VPI/VCI
si può disabilitare e l'ho disabilitato togliendomi parecchi casini.
DOMANDA: E' così semplice togliersi i problemi del VPI/VCI oppure facendo così il modem non
esegue il provisioning?
Comunque ho notato che inserire un cavo di rete nella porta LAN/WAN oppure nel
connettore RJ45 collegato alla porta fibra SFP porta a risultati identici
- sempre se non mi è sfuggito nulla.
Ho collegato un cavo di rete così
PORTA_WAN(DGA4331) --> LAN_PC
oppure questa configurazione:
PORTA_FIBRA(DGA4331)-SFP-RJ45 --> LAN PC
Mi sono costruito un mini server DHCP in C su Windows per vedere i pacchetti che
passano sulla porta 67/68 UDP e osservare la classica procedura che avviene tra
client-dhcp (la scheda di rete del pc sconfigurata) e il programma server-dhcp montato sul pc
client-dhcp (porta del DGA4331 sconfigurata) e il programma server-dhcp montato sul pc
La procedura è questa:
client:DISCOVER - > server:OFFER
client:REQUEST -> server:ACK
Lo scambio di pacchetti e la configurazione avviene sia per la scheda di rete del pc,
sia per il DGA4331 che ricevono ognuno i due IP stabiliti dal mio programma.
Ho avuto un po' di casini perché Windows mi bloccava i pacchetti UDP e dopo essere
impazzito l'ho scoperto e ho disabilitato il firewall di Windows,
ma effettivamente adesso il sistema funziona.
Ora mi chiedo, come avviene il magico trucchetto? viene passato tramite DHCP
un parametro di inizializzazione? con la famigerata opzione parametro $35/53 ?
Ho notato che ci sono una marea di codici per questo parametro, e anche
alcuni usati esclusivamente dai Windows
ma quelli che vengono effettivamente usati in fase di scambio sono pochi.
tipo il $1-NETMASK, il $3-ROUTER, il $6-DNS, il $33-LEASE, il $36-CLIENT_IP
Ecco, potreste dirmi se sono sulla buona strada o se sto perdendo tempo
perché tralascio qualcosa di fondamentale?
Grazie.
-
DOMANDA: E' così semplice togliersi i problemi del VPI/VCI oppure facendo così il modem non
esegue il provisioning?
Dipende, per poterlo cambiare hai dovuto mettere il router in modalità configurazione avanzata (aka sblocco ufficiale)? se sì allora ti ha probabilmente disabilitato cwmp.
Non credo che il VLAN ID sia considerabile un ostacolo, basta avere una scheda di rete realtek (anche usb) per farcela comodamente da Windows come se il VLAN ID non ci fosse, oppure un qualsiasi PC con linux, o un altro switch gestito anche integrato in un router.
Comunque ho notato che inserire un cavo di rete nella porta LAN/WAN oppure nel
connettore RJ45 collegato alla porta fibra SFP porta a risultati identici
Certo, sono due porte della stessa interfaccia.
Ora mi chiedo, come avviene il magico trucchetto? viene passato tramite DHCP
un parametro di inizializzazione?
Sì se leggi la specifica di CWMP ti spiega come implementare l'ACS discovery tramite DHCP. In pratica tu mandi via DHCP l'url dell'ACS da contattare e se gli metti un tuo ACS puoi mandargli lo script con i comandi di sblocco.
Tuttavia questa non è la parte "magica" per quanto riguarda il metodo di root per questo 4331 (che funziona su tutti i tch TIm da una certa versione firmware in poi) sta nell'usare come server ACS uno che dispone di certificati TLS validi compresi nella "whitelist" del technicolor. Trovi tutto spiegato molto meglio nelle prime pagine di questo thread.
-
Uhm.. leggendo la documentazione dell'URL ACS del CWMP
fonte: https://www.qacafe.com/resources/acs-discovery/ (https://www.qacafe.com/resources/acs-discovery/)
leggo che il modem richiede l'URL nel parametro 124 e 60
e gli viene inviata da TIM nel parametro 125 e 43
Ora, questo è un pezzo del log del mio finto dhcp server
<< LISTENING TO PORT 67 >>
PACKET RECEIVED FROM 0.0.0.0:68 [siz=300]
XXXX PACKET START XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX [siz=300] 01=BOOT-REQUEST
HW=01, HWLEN=06, HOPS=00 SESSION=C3-15-68-B9
CLI_TIME=00-04 FLAGS=00 00 -----> UNICAST
CLIADDRESS=00.00.00.00 (0.0.0.0)
CLIADD-SRV=00.00.00.00 (0.0.0.0)
SRVADD-SRV=00.00.00.00 (0.0.0.0)
GATEWAY=00.00.00.00 (0.0.0.0)
CLIENT-HW= (DGA4331)
SRV-HOSTN=
BOOT FNAM=
----------- PACKET IS DHCP -----------
[$35/53=COMMAND] L=01 [01] DISCOVER
{$91/145=FORCERENEW CAPAB} L=01 [01]
[$39/57=MAXLEN DHCP MSGs] L=02 [05][dc] 1500 bytes
[$37/55=PARAM REQUEST] L=11 [01][03][06][0f][21][2a][33][79][f9][d4][0c]
.............Parameter...List...................................
[$01/1=SUBNET MASK] ,[$03/3=ROUTER(S)] ,
[$06/6=DNS(S)] ,[$0f/15=DOMAIN NAME] ,
[$21/33=STATIC ROUT TABLE] ,[$2a/42=ADDR NTP SERVER(s)] ,
[$33/51=LEASE] ,{$79/121=CLASSLESS STATIC ROUTE} ,
{$f9/249=M$ CLASSLESS STAT ROUTE} ,{$d4/212=OPTION 6RD} ,
[$0c/12=HOSTNAME]
.............Parameter...List...................................
[$0c/12=HOSTNAME] L=08 [6d][6f][64][65][6d][74][69][6d] modemtim
[$ff/255=OPTIONS END] L=00
XXXX PACKET END XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Per la cronaca, io poi invio un DHCP-OFFER con IP,MASK,ROUTER,DNS,
il modem risponde con DHCP-REQUEST con l'IP da me offerto
e mi richiede gli stessi 11 parametri della DHCP-DISCOVER,
io rispondo con DHCP-ACK inserendo solo IP,MASK,ROUTER,DNS
e a questo punto il led POWER da rosso diventa verde
e mi si accendono in verde anche LINEA e WEB
Come potete vedere dal log del DHCP DISCOVER, il modem non richiede affatto
i parametri 124 e 60, 125 e 43 ma altri parametri.... alcuni strani come 121,212,249
Stavo pensando come esperimento di "forzargli" la stringa ACS
nel pacchetto DHCP-OFFER che gli invio e magari pure nel DHCP-ACK
per vedere se la prende lo stesso, o anche inserirla in un nuovo DHCP-INFORM
ma prima devo capire in quale parametro metterla
E poi mi chiedo che stringa gli metto? una cosa tipo 192.168.1.4/script
(installando un server http nel computer 192.168.1.4) potrebbe andare?
P.S. So bene che il modem potrebbe non richiedere la stringa ACS semplicemente perché
vede il VPI/VCI disabilitato. Ma non richiederla significa anche non accettarla?
Oppure potrebbe rifiutare tutte le stringhe offerte diverse da quella richiesta,
o rifiutare quelle non-HTTPS, però non si sa mai, magari c'è qualche falla nei controlli sul
protocollo DHCP
@LuKePicci per togliermi dalle scatole il Vpi/Vci vanno bene tutte le schede (usb/non-usb) realtek?
perché stavo pensando di prenderne una per approfondire i miei test.
Sai mica indicarmi un modello di un'ottima scheda realtek con vpi/vci,
magari usb così la metto e tolgo facilmente?
Poi il VPI/VCI si setta da Proprietà della scheda di rete/Avanzate?
perché io sul pc ho una Intel I211 e l'unica proprietà che ci si avvicina è "Priorità pacchetti e VLAN"
-
Puoi provare a forzarlo mandandogli comunque il messaggio ma se hanno fatto le cose per bene lo ignorerà.
Quando metti il router in modalità sbloccata (anche mantenendo il VLAN ID originale di TIM), lui disabilità la telegestione perchè fuori da rete TIM sarebbe una falla di accesso remoto.
Si le realtek (non solo le USB, e non solo le realtek ma quasi tutte le USB sono realtek e vanno bene) hanno l'opzione per il VLAN ID. Non stiamo parlando di VPI/VCI, quello c'era nelle reti ATM, quindi ADSL. Se la prova la fai dalla porta WAN ethernet SFP o RJ45 devi usare VLAN ID. L'adattatore ethernet di realtek infatti di fa impostare VLAN ID, non VPI/VCI.
Ci tengo a ripeterti che il TIM HUB si rifiuterà di connettersi alll'ACS URL che gli darai a meno che tale ACS non giri su https ed abbia un certificato TLS che lui riconosce come valido. Per questo avevamo suggerito di metterlo su qualche cloud come azure.
-
Prima di tutto vorrei ringraziarvi per l'aiuto che mi state offrendo,
soprattutto grazie alla pazienza di LukePicci.
Io sono un po' lento a capire questi meccanismi e non sono 24h/24 sul problema,
ma ovviamente è mio interesse riuscire a far qualcosa, e comunque
penso che le spiegazioni possano essere utili a chiunque altro si voglia
cimentare nell'impresa
La scheda USB che ho ordinato offre la compatibilità IEEE 802.1Q
che sembrerebbe essere quello che cerco.
Leggendo le specifiche vedo che la nuova scheda ha un hardware che
semplicemente legge i 4 bytes del VLAN TAG e, se corrisponde al numero
di TAG scelto, fa passare il pacchetto, privo dei 4 bytes, altrimenti niente.
[il tag prevede 2 bytes fissi a 0x8100 e altri 2 bytes dei quali 12 bit
contengono il VLAN ID che arriva fino a 2^12=4096, ma 0 e 4095 sono riservate]
Allora avrei due domande:
- che numero di VLAN ID usa TIM?
- capisco che non ci debbano essere falle di sicurezza, però mi sembra strano
amministrativamente parlando, che quando ho il TIM HUB sbloccato,
(che è una cosa permessa), non posso né avere il provisioning
né ricevere aggiornamenti remoti.
cmq adesso come faccio? il reset del modem rimette le cose come stavano, no?
e adesso curiosità mie relative al sito TCH:
- nel sito vedo che è stato usato il coffee script: c'è un motivo preciso
di questa scelta, visto che - per questo tipo di applicazione - io trovo
il linguaggio C puro molto più semplice?
- come mai il programma TCH richiede IP statico 58.162.0.1 per la scheda di rete PC
e assegna l'IP soltanto al modem, quando si sarebbe potuto usare
lo stesso mini-server DHCP contenuto nel TCH per inizializzare
sia l'indirizzo della scheda di rete PC che quello della porta
WAN del modem, lasciando la scheda PC con IP dinamico di default
(come faccio io nel mio programma) e quindi semplificando la procedura?
-
Esatto, in pratica tu imposti il VID (VLAN ID) che usa TIM nella scheda USB e ti ritrovi sul PC col traffico pulito senza tag. Il VID lo trovi nelle settings del firmware, i firmware spacchettati li trovi su github. Mi pare che lo avevamo comunque detto qui nei primi post.
Non è semplice trasformare un dispositivo/firmware progettato per vivere al sicuro su una sola rete di un determinato ISP in qualcosa che funzioni in sicurezza al di fuori di essa. Dato che in principio l'ACS di TIM non era nemmeno raggiungibile al di fuori della sua rete l'idea di disabilitarlo viene comoda, anche perchè nessun altro ACS dispone degli aggiornamenti firmware compatibili per questo dispositivo. Il reset riporta il dispositivo alle impostazioni di default, quindi con CWMP attivo e configurazione non sbloccata, quindi sì, va fatto.
L'IP del PC può pure essere dinamico ma allora devi dinamicizzare l'IP che proponi come ACS e webserver al router. Per altri dettagli su tch-exploit chiedi direttamente a BoLaMN, che ha scelto coffee semplicemente perchè gli veniva comodo. E' comunque inutilizzabile con questo dispositivo (a parte le funzionalità extra come TFTP), qui ti serve solo un server DHCP.
-
Nuovo Firmware Beta AGTHF_1.1.2_001_CLOSED
-
Allora Oggi mi è arrivata la scheda Realtek usb e ho subito provato il VLAN ID
che poi era banalmente 835 come scritto sulla pagina "Banda Larga" del modem.
Ho abilitato la VLAN nel modem (l'avevo disabilitata),
poi ho configurato la scheda di rete pure con 835,
e ho verificato che mi assegna correttamente i due IP (al modem e al router).
Esattamente come faceva prima quando avevo il VLAN disabilitato e una scheda di rete normale.
L'unica cosa che vedo dopo l'assegnazione dell'ip (usando wireshark, filtro ip.addr==dga4331)
è una serie di query udp al dns(53) per sapere dove stanno i ntp server (forse per l'orologio).
Poi ho resettato il modem per portarmi nella condizione di impostazioni di fabbrica e..
SORPRESA! il DHCP non funziona più e sembra che ci sia un pacchetto PADI in broadcast
che se non erro è un PPPoE Discovery.. infatti collegandomi direttamente al modem
per verificare tramite WIFI vedo che è in atto una connessione PPP.
Come mai il programma per rootare, il TCH non sembra effettuare una connessione
PPP ma un semplice dhcp diretto? Ma allora il programma TCH funziona col modem
in config estesa (sbloccato) e ppp disabilitato?
Sono profondamente demoralizzato :( :( col ppp da gestire mi si crea un ulteriore
livello di complessità sigh
Ci aiuta il nuovo firmware?
-
Io sono un po' demoralizzato perchè non sembra che tu abbia seguito il mio consiglio di leggere le prime pagine. Il VLAN ID che hai scelto è ovviamente sbagliato, devi usare il VLAN ID che TIM usa sulle linee FWA che sono in DHCP, non PPPoE. NTP serve perchè senza orologio non può validare la scadenza dei certificati TLS (che comunque non viene presa in considerazione dal client CWMP).
-
Si... verissimo, non ho letto le prime pagine, ma ora ho capito, la VLAN è la 83,
i parametri nella DHCP option 43 sono http://58.162.0.1/52162/ e Telstra
stranamente mi veniva questo nel log del modem:
Wed Jul 29 00:28:00 2020 user.err lua: [processvendorinfo] Not allowed to transition from HTTPS to HTTP
Wed Jul 29 00:28:00 2020 user.err lua: [processvendorinfo] Failed to set acs url from dhcp option 43
poi ho resettato impostazioni di fabbrica, e, senza cambiare niente nel programma dhcp server,
e pur lasciando http e non https nella opzione 43, il modem mi si connette
ad un programmino httpd installato sul pc su porta 52162 che ho preparato per testare, e guarda cosa scrive:
2021/10/25 02:20:53 Connect 58.162.0.14:51446 -> 58.162.0.1:52162
recv:[0x16][0x03][0x01]
send:test<br>
DISCONNECT
2021/10/25 02:21:31 Connect 58.162.0.14:44777 -> 58.162.0.1:52162
recv:[0x16][0x03][0x01]
send:test<br>
DISCONNECT
quindi la connessione la fa lo stesso ma in https e guarda guarda i tre bytes sono l'handshake del TLS 1.0
cfr https://wand.net.nz/trac/libprotoident/wiki/SSL (https://wand.net.nz/trac/libprotoident/wiki/SSL)
Ora: è possibile forzare in qualche modo la connessione senza crittografia? o anche abilitarla
e sperare che non controlli i certificati? non possiamo abbassare la sicurezza facendo partire da https,
ma poi facendo degradare in plain text visto che in definitiva siamo noi a servire la richiesta e al modem
basta che la connessione sia partita da un https?
sono solo idee magari senza senso...
-
Le idee hanno senso ma purtroppo in questo firmware c'è applicata una settings che appunto ti forza ad usare HTTPS con certificati validi.
-
A questo punto prima di arrendermi voglio fare altri esperimenti tipo implementare il TLS 1.0 nel mio
mini-server HTTPD per vedere se riesco a degradare la connessione che parte in HTTPS.
Ad una veloce occhiata a quel link sul SSL/TLS che ho messo ieri si legge che se una delle due parti
manda la stringa "<!DO" allora il controllo SSL va a buon fine e la connessione continua in chiaro boh.
Sarà vero?
Ad ogni modo ti chiedo: mi daresti una stringa da passare al modem per testare se ho avuto successo?
una che mi confermi che il modem ha eseguito il comando, tipo per esempio far accendere il led voce o wps
Speriamo bene
Aggiornamento di oggi. ho rifatto il server http includendo la crittografia SSL/TLS
e effettivamente il messaggio che mi da è questo:
2021/10/26 21:18:29 CONNECT 58.162.0.14:34634 -> 58.162.0.1:52162
139660896765760:error:14094418:SSL routines:ssl3_read_bytes:tlsv1 alert unknown ca:../ssl/record/rec_layer_s3.c:1543:SSL alert number 48
2021/10/26 21:18:29 DISCONNECT
e questo anche se ho usato la configurazione SSL_CTX_set_verify(ctx,SSL_VERIFY_NONE,NULL);
che dovrebbe specificare di non verificare il certificato...almeno spero che sia così.
ma ora senti la mia idea: visto che quello che comanda è il server, cioè noi non potremmo usare
una versione di SSL modificata che restituisce al client l'ok invece dell'errore certificate unknown?
o - come temo - forse è il client-modem che verifica il nostro certificato e manda l'errore al server(noi)
che però potrebbe fregarsene dell'errore.. boh sono ad un punto morto mi sa
-
Trattasi di autenticazione TLS del server, quindi è il client che comanda. Il client in modo di acconsentire alla connessione solo se il server dimostra di essere colui che il client si aspetta, ovvero colui che raggiunto ad un tale nome di dominio (a) presenta un certificato riportante al suo interno il medesimo dominio, (b) ed è anche in grado di provare crittograficamente di essere in possesso della chiave privata associata alla chiave pubblica certificata nel certificato, (c) la cui autorità emittente CA è già inclusa con certificato tra quelle conosciute al client. (d) che ne verifica crittograficamente la paternità.
In altre parole devi impostare sul tuo server TLS un certificato+chiave privata validi e riconducibili ad una delle CA installate nel technicolor. Di norma troveresti installata solo una CA fatta apposta dall'operatore per il CWMP, ma qui ci sono installate tutte le più comuni.
-
Ok... è brutto dirlo, ma mi arrendo... per ora.
Ma se qualcuno ha già rootato questo modem,
non potrebbe lasciare lo script nel server https sicuro così lo uso pure io?
mi serve solo per qualche secondo e poi è fatta
e poi.. come faccio a far si che il dga4331 riesca a raggiungere internet?
Io tolgo la connessione internet dal pc windows quando faccio le prove perché se la lascio
attiva non mi assegna l'ip probabilmente per i due default route cioè
io ho internet che va dal pc 192.168.1.30 al vecchio modem
con internet, 192.168.1.1 che è default route
e sullo stesso pc 58.162.0.1 che diventa default route per il dga4331=58.162.0.14
come faccio per far vedere internet al dga4331
in modo tale che si possa collegare al sito https sicuro?
senza internet, solo dga4331--pc
Route attive:
Indirizzo rete Mask Gateway Interfaccia Metrica
0.0.0.0 0.0.0.0 On-link 58.162.0.1 25
58.162.0.0 255.255.255.0 On-link 58.162.0.1 281
58.162.0.1 255.255.255.255 On-link 58.162.0.1 281
58.162.0.255 255.255.255.255 On-link 58.162.0.1 281
127.0.0.0 255.0.0.0 On-link 127.0.0.1 331
127.0.0.1 255.255.255.255 On-link 127.0.0.1 331
127.255.255.255 255.255.255.255 On-link 127.0.0.1 331
224.0.0.0 240.0.0.0 On-link 127.0.0.1 331
224.0.0.0 240.0.0.0 On-link 58.162.0.1 281
255.255.255.255 255.255.255.255 On-link 127.0.0.1 331
255.255.255.255 255.255.255.255 On-link 58.162.0.1 281
===========================================================================
attaccando la scheda che collega internet:
Route attive:
Indirizzo rete Mask Gateway Interfaccia Metrica
0.0.0.0 0.0.0.0 On-link 58.162.0.1 25
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.30 25
58.162.0.0 255.255.255.0 On-link 58.162.0.1 281
58.162.0.1 255.255.255.255 On-link 58.162.0.1 281
58.162.0.255 255.255.255.255 On-link 58.162.0.1 281
127.0.0.0 255.0.0.0 On-link 127.0.0.1 331
127.0.0.1 255.255.255.255 On-link 127.0.0.1 331
127.255.255.255 255.255.255.255 On-link 127.0.0.1 331
192.168.1.0 255.255.255.0 On-link 192.168.1.30 281
192.168.1.30 255.255.255.255 On-link 192.168.1.30 281
192.168.1.255 255.255.255.255 On-link 192.168.1.30 281
224.0.0.0 240.0.0.0 On-link 127.0.0.1 331
224.0.0.0 240.0.0.0 On-link 58.162.0.1 281
224.0.0.0 240.0.0.0 On-link 192.168.1.30 281
255.255.255.255 255.255.255.255 On-link 127.0.0.1 331
255.255.255.255 255.255.255.255 On-link 58.162.0.1 281
255.255.255.255 255.255.255.255 On-link 192.168.1.30 281
===========================================================================
aggiornamento del 28/10
forse... funziona facendo un route delete 0.0.0.0 mask 0.0.0.0 if 22 metric 25
dove 22 e' l'interfaccia della linea 58.162.0.x Così mi toglierei questo doppio default route
ma devo verificare se dopo questa modifica il modem riesce effettivamente a navigare
però devo risolvere la faccenda del dns (ma serve per il certificato o basta il numerico?
o basta scrivere il nome dei pc che ci servono in /etc/hosts?)
E comunque il dns sta nel modem che va su internet, sulla subnet 192.168.1.x e
non nel pc 58.162.0.1 né nella subnet 58.162.0.x
ma questa la potrei risolvere mettendo un dns-proxy sul pc che fa da ponte sulle due linee
-
Ciao, io l'ho sbloccato, ma azure è a pagamento quindi non pago un abbonamento mensile per fare sbloccare ad altri ahahah. Comunque anche se fosse dovresti prima sistemare il discorso della connessione. Se hai un'altro router che ti dia connessione funzionante basta impostare una porta del tuo router per dargli IP sulla VLAN giusta e con l'option dell'ACS url (Non ricordo quale sia). Fatto questo basta avere genieacs hostato in un sito che abbia il certificato valido
-
Io lo avevo messo su azure su una istanza gratuita e stavo aspettando le patch per farlo funzionare su un mongodb atlas gratuito, però l'accounting fa abbastanza pena,, non so se riesco a fare in modo che ognuno possa amministrare il provisioning dei suoi soli dispositivi. Se si potesse fare in modo sicuro darei volentieri accesso a chi me lo chiede per gestirsi il proprio device via CWMP.
-
@lorenzocanalelc
non avevo nessuna intenzione di chiedere un servizio senza pagarlo.
Il mio era solo un dubbio, che se avevi ancora l'abbonamento, rimettevi il server ACS su,
io modificavo l'option 43 per puntare al server, un colpo e via modem sbloccato.
Ma comunque devo ancora verificare se il modem naviga, quindi per il momento sono in fase di test.
@LuKePicci
Si, sarebbe interessante la cosa, il server gratuito -se esiste- potrebbe essere la svolta,
almeno finche' non troviamo un modo alternativo.
Poi una volta sbloccato, potremmo vedere tutti insieme se ci sono altri sistemi da provare, l'unione fa la forza!
-
Sto cercando di capire come funzionano i certificati spulciando nel mio DGA4130, visto che
il modem nuovo finora è un deliziosa quanto inutile (per me) black-box.
Nella cartella /etc/ssl/certs vedo questo:
total 273
-rw-r--r-- 1 root root 1939 Oct 24 2019 4042bcee.0
-rw-r--r-- 1 root root 1261 Oct 24 2019 653b494a.0
-rw-r--r-- 1 root root 1883 Oct 24 2019 6d41d539.0
-rw-r--r-- 1 root root 656 Oct 24 2019 8cb5ee0f.0
-rw-r--r-- 1 root root 1675 Oct 24 2019 AGprivkey.key
-rw-r--r-- 1 root root 1261 Oct 24 2019 BaltimoreCybertrustRoot.cer
-rw-r--r-- 1 root root 1500 Oct 24 2019 aee5f10d.0
-rw-r--r-- 1 root root 261407 Oct 24 2019 ca-certificates.crt
-rw-r--r-- 1 root root 1188 Oct 24 2019 ce5e74ef.0
-rw-r--r-- 1 root root 1407 Oct 24 2019 d6d84089.0
-rw-r--r-- 1 root root 737 Oct 24 2019 de6d66f3.0
-rw-r--r-- 1 root root 1430 Oct 24 2019 rootTLC-CA.cer
sono tutti del tipo -----BEGIN CERTIFICATE----- ecc ecc
però vedo anche una chiave privata AGprivkey.key.
Cos'è? Posso usarla per creare un server riconosciuto dal modem,
ammesso che si trovi la chiave pubblica corrispondente? (come?)
Per la cronaca, io per crearmi un server https ho dato il comando
$ openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem
e poi nel programma, in fase di inizializzazione,
SSL_CTX_use_PrivateKey_file(ctx, "key.pem", SSL_FILETYPE_PEM) per la chiave privata
SSL_CTX_use_certificate_file(ctx, "cert.pem", SSL_FILETYPE_PEM) per la chiave pubblica
E in alternativa, qualcuno col modem sbloccato potrebbe mandarmi l'elenco dei domini
che il DGA4331 riconosce come affidabili?
Ho provato a farmi un account gratis 30 giorni su azure ma senza numero di telefono non va
e i vari sistemini di receive-sms non funzionano perché M$ riconosce che provengono da VOIP
e non manda il codice di verifica. Ci sono altri siti meno rompiscatole da poter utilizzare?
-
però vedo anche una chiave privata AGprivkey.key.
Cos'è? Posso usarla per creare un server riconosciuto dal modem,
ammesso che si trovi la chiave pubblica corrispondente? (come?)
quella chiave privata viene usata dal modem per l'autenticazione verso l'acs di TIM, non credo ti possa servire a molto
E in alternativa, qualcuno col modem sbloccato potrebbe mandarmi l'elenco dei domini
che il DGA4331 riconosce come affidabili?
accetta certificati prodotti da Let's encrypt, io sono riuscito a farlo collegare al mio acs con uno di quelli ma fallisce lo scaricamento dello script wps per me al momento.
Puoi provare a generarti un certificato per un domino(anche un dyndns come duckdns) che possiedi con certbot ed usare quello
-
Attenzione alla data e ora del modem, a me dava problemi l'OWA a scaricare il file sts ed ho risolto configurando l'orario corretto
-
Ciao a tutti, ma è possibile cambiare i dns con router sbloccato per utilizzo con altri operatori? Ho provato a cambiarli nella scheda Rete locale, ma mi restituisce l'errore "non può essere utilizzato un IP appartenete al range degli IP pubblici" :help:
-
Se è il problema comune con gli altri technicolor bisogna mettere dns primario e secondario separato da virgola
8.8.8.8,8.8.4.4
-
Se è il problema comune con gli altri technicolor bisogna mettere dns primario e secondario separato da virgola
8.8.8.8,8.8.4.4
Giurerei di aver girato i menù in lungo e largo, ma non sono riuscito a capire dove cambiare i DNS...? 😅
-
Giurerei di aver girato i menù in lungo e largo, ma non sono riuscito a capire dove cambiare i DNS...? 😅
Scheda Rete locale, Mostra opzioni avanzate ;)
-
Dovrebbe accettare anche il terziario
(https://i.ibb.co/CmVQZW8/dns.png) (https://imgbb.com/)
-
Scheda Rete locale, Mostra opzioni avanzate ;)
Scusate, non ho detto che il mio non è rootato.
Lo dico perché a me anche andando lì non ci sono i campi del DNS...
(https://imgur.com/4dLGNlH)
-
ALLORA... grazie a Let's Encrypt HO FATTO CHIUDERE IL LUCCHETTO!!!!
Sento di essere vicino alla soluzione. Voglio spiegare a tutti i dettagli di
come si crea un certificato valido: più persone sanno come si fa, più persone possono aiutare.
Ci vuole un nome di dominio, io, per esempio, ho usato il servizio gratis su dynu.com
Si usa il programma uacme per interagire con let's encrypt.
Nel sito https://github.com/ndilieto/uacme/ (https://github.com/ndilieto/uacme/) si scarica latest.tar.gz
si scompatta e si compila. Io uso WSL su windows 10 (ubuntu 21.10) quindi:
SE MANCA pkg-config # apt install pkg-config
SE MANCA libcurl >= 7.38.0 # apt install libcurl4-openssl-dev
SE MANCA gnutls >= 3.3.30 # apt install libgnutls28-dev
SE MANCA a2x # apt install asciidoc
fate il solito $ configure e poi $ make.
Non vi consiglio di fare make install perché ci serve soltanto uacme.
Createvi una cartella pulita e copiate l'eseguibile uacme lì dentro.
Una volta dentro ad una cartella pulita createvi un nuovo account con
$ uacme -v -c . new
Poi iniziate la verifica del dominio per esempio www.mio.com
$ uacme -v -c . issue www.mio.com
adesso uacme vi darà in uscita una stringa TOKEN e una stringa KEY_AUTH
poi aspetterà che voi settiate il vostro server http in questo modo:
cercherà di trovare un file di testo a questo URL
http://www.mio.com/.well-known/acme-challenge/TOKEN
e il contenuto del file di testo TOKEN sarà la stringa KEY_AUTH
Quindi NON premete y finché non avete settato il vostro server, altrimenti dovrete
fare un'altra verifica con un nuovo token/key_auth. Quando è tutto a posto premete y
Partirà la verifica e, se viene trovato il file richiesto col contenuto richiesto, questo prova
che siete voi i proprietari del dominio www.mio.com e come premio avrete:
dentro la cartella www.mio.com il file cert.pem (la chiave pubblica firmata)
e dentro la cartella private/www.mio.com il file key.pem (la chiave privata)
Ora inserire le chiavi in un server è facilissimo:
se avete nginx basta editare /etc/nginx/nginx.conf
e inserire, dopo la listen 443 ssl; che inizia la sezione https, queste due righe:
ssl_certificate /etc/nginx/cert.pem;
ssl_certificate_key /etc/nginx/key.pem;
mettete le chiavi cert.pem e key.pem in /etc/nginx
Riavviate il server e... magia! il lucchetto si chiude!
P.S. Il certificato ha validità 3 mesi, dopodiché' va rifatto.
Quindi questa soluzione serve a noi, ma è temporanea.
Per rendere automatica la procedura ricorrente di autenticazione,
let's encrypt offre altri metodi (certbot).
-
mi vergogno a chiedrlo ma mi è arrivato oggi il modem in oggetto e non riesco a far funzionare il server samba v2 di default del modem.
mi connetto col pc win7 con app tim da telefono ma se provo con app di terze parti tipo Fx file explorer mi dice share name errato.. dove sbaglio?
oppure esiste un file explorer x android che supporta smb v2
-
Non riesco a dare internet al DGA4331 attraverso la scheda di rete aggiuntiva collegata al pc.
Vorrei capire dove sbaglio potreste aiutarmi?
Allora.. per indagare dov'è il problema ho sostituito al DGA4331 un pc portatile (e tolto il VLAN-id).
Ho collegato il portatile tramite RJ45 alla scheda di rete aggiuntiva sul pc fisso,
ho staccato il collegamento internet al pc fisso e ho fatto partire il mio
programmino DHCP che gli assegna IP, NETMASK, ROUTER. E funziona.
Sul portatile l'indirizzo è effettivamente 58.162.0.14/255.255.255.0 router 58.162.0.1
Ricollego il pc fisso a internet, e il router gli da indirizzo 192.168.1.30/255.255.255.0 router 192.168.1.1
Quindi il pc fisso viene ad avere due indirizzi: 192.168.1.30 e 58.162.0.1
(Per quanto riguarda il DNS, ho messo sul pc fisso un programma che fa da ponte
e trasferisce le richieste della rete 58.162.0.x sul router 192.168.1.1, e funziona,
ma non è questo il punto perché prima di tutto voglio che il routing funzioni usando IP numerici).
Il routing non va. Il portatile non naviga e facendo da lì il TRACERT ad esempio su 8.8.8.8
fallisce con le stelline. Sul pc fisso ci sono due default route, e quello con metric minore è quello che porta
sul router che ha internet (192.168.1.1). Dove sbaglio?
-
Ma hai attivato il routing tra schede in windows?
-
Grazie, @LuKePicci ho trovato il problema.. ci vuole ICS, Internet connection sharing.
Ma ICS usa differenti IP (non sarebbe un problema), però
ha anche un suo server DHCP e questo vanificherebbe l'uso del mio server DHCP
che mi serve per mandare l'option 43. Ma allora cosa ha ICS in più che a me manca?
Quello che a me mancava è che ICS fa il NAT tra le due schede di rete.
Quindi per la comunicazione oltre al DHCP serve anche un programma
a livello IP che risiede sul pc con doppio indirizzo e che fa da ponte tra le due schede
cambiando indirizzi e porte con l'aiuto di una tavola di corrispondenza tra la LAN1 e la LAN2
La tavola serve per dare alla macchina corretta i pacchetti di ritorno da Internet.
Assumendo di voler far comunicare la macchina 58.162.0.14 tramite il pc della rete locale
192.168.1.30 che si collega a internet tramite il router 192.168.1.1 avremo questo schema:
Pacchetto di andata
(58.162.0.14:12345->GOOGLE:80) ==MIONat==> (192.168.1.30:23456->GOOGLE:80) // il prog scrive nella tavola
(192.168.1.30:23456->GOOGLE:80) ==RoutNat==> (RouterIP:34567->GOOGLE:80) // questo lo fa il modem
Pacchetto di ritorno
(GOOGLE:80->RouterIP:34567) ==RoutNatINV==> (GOOGLE:80->192.168.1.30:23456) // questo lo fa il modem
(GOOGLE:80->192.168.1.30:23456) ==>MIONatINV==> (58.162.0.14:12345) // il prog usa la tavola
insomma un ci vuole un NAT .. ma a me serve senza DHCP.
C'è qualcosa di pronto per Windows o quantomeno qualcosa che inibisca il DHCP di ICS?
Altrimenti mi sa che dovrò reinventare la ruota e "costruirmi" anche questo NAT in versione
stringata ed essenziale.
-
Aggiornamento..
La prima prova l'ho fatta simulando il modem con un pc portatile così vedo se naviga.
collegato il portatile alla scheda di rete usb sul pc fisso (senza VLAN=83) . Stacco Internet:
scheda di rete principale disabilitata, inserito macaddr del pc portatile nel mio programma dhcp,
che assegna ip 192.168.137.1 al pc fisso e 192.168.137.14 al portatile(simula-modem), senza lease.
il pc portatile riceve gw=192.168.137.1, mentre il pc fisso non riceve gw. DOPODICHE'
abilito scheda di rete principale, e dopo CONDIVIDO la connessione
con Internet Connection Sharing che guarda caso utilizza lo stesso ip e non lo riassegna,
quindi adesso il pc portatile naviga (verificato, ping, tracert, telnet funzionano)
Rifaccio la prova, tolgo il pc portatile, metto il modem collegato su wan, abilito vlan=83
scheda di rete principale pc fisso disabilitata, inserito macaddr del modem nel mio programma,
che assegna 192.168.137.1 al pc fisso e 192.168.137.14 al modem, senza lease.
(su wireshark vedo i due DHCPACK). A questo punto su pcfisso abilito scheda di rete principale
e dopo condivido la connessione con ICS e adesso su wireshark vedo
sia la QUERY "A" DNS al mio server (il mio stesso modem DGA4130 con dynamic dns)
(quindi il modem ha preso la DHCP option 43)
e infatti dal wireshark vedo pure la SYN TCP del modem sul mio server, porta 443,
e poi tutti i pacchetti TCP e TLSv1.2 di Client Hello,
il Certificate Server Key Exchange il Server Hello Done
Client Key Exchange, Change Cipher Spec, Encrypted Handshake message
Poi vedo un po' di pacchetti Tlsv1.2 di Application Data, Application Data,
e un Encrypted Alert [ Content Type Alert(21) ]
e poi pacchetti tcp di [FIN, ACK] e alla fine il pacchetto [ACK]
che conferma la terminazione!!!! GRRRR
Eppure il server è buono, se mi ci collego a mano il lucchetto si chiude!
cosa mai fa scattare l'Encrypted Alert? Dove sto sbagliando?
Che stringa esattamente devo mettere sul mio https server?
io nel file /test sul mio server ho messo esattamente questo:
reboot on
reboot
ma non so se va bene per farlo riavviare.. e per il root che stringa uso?
Aggiornamento: nel server https ho trovato questa roba che forse spiegherebbe qualcosa
La richiesta proviene dall'ip del pc fisso che condivide la connessione.
192.168.1.30 - - [23/Nov/2021:01:39:51 +0100] "POST /test HTTP/1.1" 405 166 "-" ""
192.168.1.30 - - [23/Nov/2021:01:40:52 +0100] "POST /test HTTP/1.1" 405 166 "-" ""
192.168.1.30 - - [23/Nov/2021:01:43:07 +0100] "POST /test HTTP/1.1" 405 166 "-" ""
192.168.1.30 - - [23/Nov/2021:01:47:37 +0100] "POST /test HTTP/1.1" 405 166 "-" ""
192.168.1.30 - - [23/Nov/2021:01:52:58 +0100] "POST /test HTTP/1.1" 405 166 "-" ""
192.168.1.30 - - [23/Nov/2021:01:57:26 +0100] "POST /test HTTP/1.1" 405 166 "-" ""
perche' il DGA4331 richiede un POST e non GET del file test?
e quindi errore 405 "Method not allowed"
Nuovo aggiornamento:
usato il "workaround" sul server nginx che permette il POST senza dover ricompilare
Editato /etc/nginx.conf e inserita questa riga per la sezione https:
# To allow POST on static pages
error_page 405 =200 $uri;
(e poi # /etc/init.d/nginx reload)
ed effettivamente, testando da pc, wget --method=POST https://mioserver.dominio/test ritorna codice 200
e ottiene fisicamente il file test. Per ulteriore controllo, nel log del server https ho correttamente
192.168.1.30 - - [23/Nov/2021:10:57:26 +0100] "POST /test HTTP/1.1" 200 25 "-" "Wget/1.21.1"
ma ancora qualcosa non va... ecco il nuovo log del server quando il modem prende il file
192.168.1.30 - - [23/Nov/2021:12:05:10 +0100] "POST /test HTTP/1.1" 200 25 "-" ""
192.168.1.30 - - [23/Nov/2021:12:10:15 +0100] "POST /test HTTP/1.1" 200 25 "-" ""
192.168.1.30 - - [23/Nov/2021:12:10:22 +0100] "POST /test HTTP/1.1" 200 25 "-" ""
192.168.1.30 - - [23/Nov/2021:12:10:39 +0100] "POST /test HTTP/1.1" 200 25 "-" ""
-
Ma scusa ce lo hai messo genieacs o un altro finto ACS dietro il server https? Ora che sei riuscito a convincere il router TIM a dialogare con un tuo ACS devi rispondere e dialogare come un vero ACS fino al punto di dargli una RPC di Download per l'sts.
Tutte le chiamate SOAP di CWMP sono chiaramente su POST, altrimenti il messaggio SOAP non ci passa.
-
@LuKePicci
Ok.. allora credo di essere a buon punto..
sono proprio un pollo! Pensavo che il modem accettasse direttamente i comandi.
Però io se voglio usare il nginx standard del DGA4130 con il workaround,
non posso servire pagine dinamiche con il POST, quindi mi chiedo:
Non è possibile editare il file https://mioserver.dominio/test
e farlo diventare un messaggio SOAP statico fatto a mano che fa scaricare l'sts?
Se c'e' di mezzo un handshake dinamico sono fregato!
e non saprei nemmeno come mettere programmi completi ACS esterni
Ci sto studiando sopra, ma tu non hai o sai come preparare uno di questi messaggi SOAP fatto a mano?
Grazie per la pazienza - e con il tuo aiuto spero di riuscire a sbloccare questo $#@@% di modem
-
E' quello che fa tch-exploit, ma sono dinamici, non è un singolo messaggio statico. Ti conviene impostare nginx come proxy verso tch-exploit o verso un vero ACS.
-
Salve a tutti,
di recente ci hanno installato il modem router in oggetto
al momento il firmware è
Release AGTHF_1.1.1.
Modem TIM HUB+ DGA4331
Fornitore del prodotto Technicolor
Nome prodotto AGMY2020
Versione Software 19.4
Sul server windows da sempre era configurata eperfettamente funzionate un semplice VPN PPTP. Passando alla fibra FFTH e al nuovo modem risulta impossibile collegarsi
L'errore segnalato dal server :
La causa più comune di questo problema è un firewall o un router tra il server e il client VPN
non configurato per consentire la trasmissione di pacchetti Generic Routing Encapsulation (GRE) (protocollo 47).
Pensando che il tecnico telecom avesse accesso a più opzioni di configurazione ho anche accettato il loro intervento ( a pagamento) ma dubito abbia capito il problema e dopo 10 minuti e un riavvio del modem ha fatto cadere la linea ed è sparito.
Premesso che ovviamente ho configurato al solito il port forwarding, mi chiedevo se qualcuno ha idea di come risolvere e/o abilitare GRE.
Grazie anticipatamente per l'eventuale aiuto.
-
Che router avevi prima? Guardando nelle config del 4331 vedo che ora gli helper sono applicati per singola zona del firewall, quello pptp è applicato su lan (per consentire pptp iin uscita da pc in lan) ma non lo vedo applicato su wan. Nei precedenti firmware ad esempio per DGA l'helper pptp era attivato globalmente. Se il problema fosse questo l'unica cosa che puoi fare è rootarlo e abilitare l'helper su wan, ma ti conviene prima appurare che il problema sia effettivamente lì. É l'helper pptp che si occupa di gestire il reindirizzamento di GRE, che in generale è già "abilitato".
-
Che router avevi prima? Guardando nelle config del 4331 vedo che ora gli helper sono applicati per singola zona del firewall, quello pptp è applicato su lan (per consentire pptp iin uscita da pc in lan) ma non lo vedo applicato su wan. Nei precedenti firmware ad esempio per DGA l'helper pptp era attivato globalmente. Se il problema fosse questo l'unica cosa che puoi fare è rootarlo e abilitare l'helper su wan, ma ti conviene prima appurare che il problema sia effettivamente lì. É l'helper pptp che si occupa di gestire il reindirizzamento di GRE, che in generale è già "abilitato".
Grazie per la risposta. Il root mi pare procedura complessa e comunque eviterei non essendo mio il modem. Non ho esperienza con questo modem , mi sembrava di aver capito che eventualmente se lo si sbloccava per utilizzo con altri operatori compariva configurazione estesa e una scheda Helpers NAT ma forse confondo con altro modello.(sulla scheda tim scrive che è sbloccabile)
Sto anche valutando di chiedere a tim cambio modem ma ...non ho idea se ha altri modelli che possano supportare pptp.
-
Sbloccandolo per altri operatori mi pare che non si possa abilitare il Nat Helper, dovrebbero sistemare loro con qualche Update se come dice @LuKePicci si sono dimenticati una regola
-
Sbloccandolo per altri operatori mi pare che non si possa abilitare il Nat Helper, dovrebbero sistemare loro con qualche Update se come dice @LuKePicci si sono dimenticati una regola
Ehh ipotizzavo dopo aver visto questo pdf https://assistenzatecnica.tim.it/at/ShowBinary%3FnodeId%3D/AT_REPOSITORY/1096033
"Loro" ...la prima volta che li ho chiamati mi ha ricontattato un tecnico dopo 10 minuti ... ha fallito e ha fatto cadere la linea. Ho chiamato altre 3 volte ... e nessun presunto tecnico si è più fatto vivo .. ma provo a insistere
p.s avevo visto in questa foto configurazione estesa
(https://i.fibra.click/size=1024/2021/04/1618257560_11766_0.jpg)
-
Quel PDF è strano, perché in realtà l'assistenza remota non è abilitata dopo lo sblocco, immagino che fosse una vecchia versione dello sblocco. Però effettivamente sembra che con lo sblocco dovrebbero attivare le configurazioni di NAT Helper, ma non ho provato se funziona, a te l'onore :rotfl:
-
Domanda...
Visto che sarei riuscito a far partire il famigerato POST dal DGA4331 verso il mio vecchio modem DGA4130 improvvisato server https nginx autenticato con let's encrypt, a questo punto per evitare sbattimenti
(che consisterebbero nella ricompilazione di un nginx meno stringato capace di mandare veri POST e non pagine statiche
e poi di un programma accessorio che crea la roba da POSTare usando SOAP e le sue dannate Envelope),
non potrei sfruttare in qualche modo il già esistente tch-exploit per completare l'opera?
E se usassi un port forward sul modem internet DGA4130 che redirige la porta 443 su un pc della mia LAN?
E se il pc della LAN, se facesse girare un qualche server web HTTPS, non sarebbe per così dire
autenticato pure lui da let's encrypt, avendo lo stesso ip pubblico?
(a patto di copiare sul server HTTPS quei cert.pem e key.pem che ho messo nel modem DGA4130)
E a questo punto mi domando: ma non si potrebbe semplificare tutto usando unicamente
il port forwarding del modem internet sulla porta HTTPS di un pc della mia LAN,
e quel pc della lan dovrebbe soltanto far girare il tch exploit, che ha già il server HTTPS/SOAP.
Però tale server non sarebbe autenticato a meno che non utilizzi i certificati che io posseggo!
Sarebbe facile modificare il tch-exploit per accettare certificati forniti dall'utente? Funzionerebbe?
Ti prego @LuKePicci dimmi che si può fare!!
-
Assolutamente si, si può fare. E se non ci riesci modificando tch-exploit basta metterci davanti stunnel o socat in modo da creare un proxy https certificato (con i certificati che già hai) sopra la porta standard di tch-exploit
Modificare tch-exploit dovrebbe essere molto semplice, devi solo usare https invece di http sul create server e dargli come parametri i file di chiave e certificato.
Poi ovviamente devi dare al 4331 un dns (sul PC, quello del 4130 o anche uno pubblico) che possa risolvere il tuo dominio certificato con l'ip privato del PC, oppure come già stavi facendo lo fai risolvere con l'ip pubblico del 4130 e da lì fai un forward,
-
Salve ragazzi, da pochissimi giorni sono passato da adsl a Fibra e posseggo anche io questo modem che mi ha consegnato il tecnico Telecom configurato con connessione TIM e più precisamente queste sono le mie caratteristiche:
Fornitore del prodotto: Technicolor
Nome prodotto: AGMY2020
Versione Software: 19.4
Versione Firmware: AGTHF_1.1.1
Versione Hardware: VCNT-3
Seguo attentamente la discussione per lo sblocco del suddetto modem nella speranza che in futuro ci sia una procedura molto più semplice da seguire per le mie competenze per effettuare lo sblocco, come ho già fatto in passato per i vari modem AGA ecc..
Nell'attesa, una curiosità vi chiedo: visto che siete davvero esperti nel decompilare / modificare il firmware dei vari modem, cosa che purtroppo io non sono in grado, stavo pensando che si potrebbe creare un tool, come sui vecchi AGA, che inserendo il serial number del modem, ti rileva la password di fabbrica posta sull'etichetta dietro al modem. Questo tool stavo pensando che sarebbe molto utile se per esempio si va a cancellare l'etichetta o si stacca del tutto. Se va a succedere questo, neanche il 187 potrà aiutare nessun utente perchè la password è unica per quel serial number. Se succedesse questo non si avrebbe più accesso in nessun modo al modem e non so come ci si dovrà comportare per una evenenienza del genere.
Dite che è fattibile creare questo tool magari decompilando il firmware e capire come viene generata la password partendo dal serial number oppure dal MAC Address?
-
Tutto ciò che è univoco per quel dispositivo sta in una partizione a sè, allcuni sono esplicitamente random e da questi derivano una serie di cose. Altri sono diversi per ogni esemplare e non so dirti se siano anche loro random o ricavati da altro, ma non vedo che necessità avessero di non renderli casuali. Di solito generi materiale a partire da altro (come il MAC) quando non disponi sulla piattaforma di una porzione di dati "caratterizzante" il singolo esemplare e inizializzata in fabbrica. Qui esiste, quindi non vedo perchè debbano essere correlati.
Per leggere quei dati ci sono già alcuni tool, e molti li puoi leggere direttamente da riga di comando (da root ovviamente). Se leggi la wiki di hack-technicolor trovi altre info a riguardo.
-
Ciao LuKePicci grazie innanzitutto per avermi risposto. Seguirò la guida tecnicholor ed attenderò che ci sia lo sblocco per questo modem in maniera facilitata in modo tale da poter cambiare la password di accesso al modem in "admin" come ho scritto nella mia discussione in quanto non sono in grado ad oggi per le mie competenze di poter effettuare lo sblocco..
Grazie ancora!! Siete i migliori!!
-
Allora.. sto cercando di venire a capo dei problemi riguardanti lo sblocco del modem
allo scopo di capirci qualcosa e possibilmente realizzare tutto in Windows col meno
dispendio di energie disponibili.
Prima di tutto vorrei cercare di far chiarezza sui motivi per i quali
TCH così com'è non funziona, che -da quanto ho capito- sarebbero due:
- TCH funziona su HTTP, non autenticato mentre il modem nuovo vuole HTTPS su dominio autenticato
- TCH non usa VLAN ID mentre il modem nuovo vuole anche il VLAN ID=83
Correggetemi se sbaglio!
Per rimediare a questo io cerco di fare i minimi passi possibili e devo:
- Avere un nome di dominio fisso di quelli gratis per il mio IP dinamico già settato
e funzionante sul modem vecchio
- Tramite "let's encrypt" devo ottenere il certificato valido per il mio nome di dominio
quindi in sostanza le due chiavi pubblica/privata che mi validano il dominio.
Aggiungo solo a quanto spiegato diversi messaggi fa, che tutta la procedura può
essere fatta più comodamente da Windows, redirigendo con port forward la porta HTTPS
del modem vecchio su un pc locale su cui gira un server HTTPS, e facendo girare "uacme" pure su tale pc
Questa procedura per fortuna si fa una volta e basta - i certificati durano 3 mesi.
- Avere una scheda di rete aggiuntiva con VLAN, settata su 83
- Dare internet alla rete aggiuntiva potendo modificare l'ip di base di Windows Internet Connection Sharing
toccando (!) questa chiave di registro (regedit)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters
modifico sia la chiave ScopeAddress che ScopeAddressBackup e li porterò temporaneamente
da 192.168.137.1 a 58.162.0.1 per renderli compatibili con TCH
- far girare tch su windows
- Aprire una port forward sul modem vecchio che, quando il modem nuovo stimolato dal DHCP del TCH
inizia a dialogare col https://miodominio:porta mi ridirige la connessione sul pc locale, su socat che, grazie
alle mie chiavi pubbliche e private ascolta sulla porta HTTPS e poi ridirige sulla porta HTTP di TCH
MA C'E' UN PROBLEMA: TCH tramite DHCP option 43 manda al modem la richiesta di mandare i POST
su http://58.162.0.1:portavariabile ed essendo HTTP e senza dominio, il modem la rifiuterà!!!
in aggiunta a ciò la porta è casuale cioè la richiesta corretta doveva essere https://miodominio:portafissa
E visto che TCH manda la richiesta su porte variabili, varierà anche la porta dove il TCH ascolta la risposta
quindi ho problemi sia sul numero di porta da usare per il port forward del modem vecchio,
sia sulla porta di socat che mi fa la conversione HTTPS->HTTP e alla quale il pc rimanda i dati al TCH
Spero di essermi espresso bene. Che casino!
C'e' un rimedio che mi consenta di usare TCH o devo andare avanti per la mia strada
spulciando le specifiche di TR-069 e costruendomi io un programma adatto,
visto che senza tch riesco comunque a far dialogare il modem?
-
E' tutto giusto. Dovrebbero esserci delle opzioni a riga di comando per tch-exploit che ti permettono di cambiare l'url proposto in option 43 con quello del tuo dominio. Porta e indirizzo li puoi scegliere con questi parametri: https://github.com/hack-technicolor/hack-technicolor/issues/122#issuecomment-683316309
-
Ok. proverò a usare queste opzioni e vediamo se va.
Ma ne frattempo non c'è una possibilità di fare una modifica "facile"
per far dialogare il tch in https, indicando i certificati?
Per usare socat io faccio cosi':
socat openssl-listen:MIAPORTA,fork,reuseaddr,cafile=pub.pem,cert=priv.pem,verify=0 tcp4:IPLOCALE-TCH:PORTA-TCH
Se fosse possibile potrei togliere il socat e quindi avrei
un livello di complessità in meno.
Però non saprei nemmeno da che parte iniziare per modificare il tch,
la versione windows e' un exe, dovrei lavorare su quella unix?
-
tch-exploit è scritto in nodejs, immagino bast sostituire http.createServer in https.createServer e dargli i certificati, ma ti conviene scrivere direttamente a BoLaMN su github, se è una cosa banale da fare te la fa lui in cinque minuti. L'exe e l'eseguibile linux vengono fuori da un packaging del codice più il runtime nodejs. Tu per debugging puoi anche installare nodejs e lanciare i file js
-
Ecco il punto della situazione di oggi. Ho studiato (!) e mi sono documentato su nodejs.
Dopo avere installato nodejs, è incredibile notare come si possa costruire un server https
con pochissima fatica rispetto al codice C che ho sempre usato. Ecco il codice
$ cat basic.js
const https = require('https');
const fs = require('fs');
const options = {
key: fs.readFileSync('miopriv.pem'),
cert: fs.readFileSync('miopub.pem')
};
https.createServer(options, (req, res) => {
res.writeHead(200);
res.end('hello world\n');
}).listen(8443);
e redirigendo la porta esterna 8443 tramite port-forward sulla porta 8443 del mio pc locale
e poi facendo partire il server con $ node basic.js,
effettivamente il comando $ curl https://miodominio restituisce hello, world
(non uso curl -k perché voglio controllare se i certificati funzionano)
e se lo provo da un browser digitando https://miodominio, il lucchetto si chiude.
BENE! ora devo solo trovare 2 cose:
1) come compilare i file coffee del tch.tar.gz senza modificare nulla (sto tentando di capire)
2) come inserire questa modifica nel tch e ricompilare senza errori.
#update di sabato:
la fase 1 è risolta, riesco a compilare la versione "standard"
ma non è stato per niente facile per via delle dipendenze
(e dei relativi conflitti) dei vari package coffeescript, pkg, npm.
Cmq è fatta. Nella cartella "release" ora ho le 3 versioni, linux, mac, win
Adesso la fase 2: modifica -- torno a studiare
aggiornamento.. penso di aver trovato il file da modificare
che sembra essere src/http/index.coffee ma essendo un coffeescript
che compila in nodejs, ha una sintassi diversa e fatico a trovare un modo
per passare il parametro delle chiavi pem a createServer
nuovo aggiornamento: sono riuscito a far funzionare le modifiche
usando la cartella dist dove ci sono tutti i nodejs ed evitandomi così
possibili errori se avessi toccato i coffeescript. Il server https sembra
funzionare, (non capivo dove mettere le opzioni fin quando non ho esplicitato
alcune delle contorte funzioni-freccia, cioè le funzioni anonime con => )
Adesso se non ci sono altri intoppi dovrei riuscire ad andare avanti,
anche se il server dhcp deve dare al modem l'ip locale 58.162.0.X,
ma gli passa l'opzione 43 specificando il mio nome di dominio:miaporta
mentre il server https(soap) ascolta sulla 58.162.0.1:miaporta
quindi ci sono altre piccole modifiche da fare, ma spero piccole!
lunedi sera:
le modifiche sembrano essere terminate... certo la procedura e' un po'
piu' laboriosa perche' si tratta di far partire il tch che trova già il pc con ip
statico 58.162.0.1, far assegnare al DGA4331 l'ip staccando internet (altrimenti
cicla tra DHCPDISCOVER e DHCPOFFER). Quando vedo il DHCPACK
abilito la condivisione windows, che condivide la 58.162.0.1 senza
cambiargli ip. Pero' il programma non logga nessun pacchetto SOAP.
Quello che ho provato a fare e' stato un
$ curl -X POST https://miodominio:8443 o
$ curl -X POST 58.162.0.1:8443
( grazie al port forward i due curl sono equivalenti)
la risposta sulla finestra del tch è stata questa (in colore verde)
[
404,
{
'Content-Type': 'text/xml; charset="utf-8"',
Server: 'ACSServer',
SOAPServer: 'ACSServer'
},
null
]
la modifica al file http/index.js è banale, serve solo per attivare il server https.
createServer = require('https').createServer; //Cambio in https
e piu sotto
myfs = require('fs'); // necessario per leggere dal filesystem
const options = {
key: myfs.readFileSync('miopriv.pem'), //la chiave privata
cert: myfs.readFileSync('miopub.pem') //la chiave pubblica
};
srv = createServer(options,route); //ho incluso l'opzione chiavi
srv.keepAliveTimeout = 30000;
invece la modifica al file principale index.js è stata questa:
if (args.tftp) {
servers.push.apply(servers, tftp(args));
} else if (args.dhcponly) {
servers.push(dhcpd(ip, args.acsurl, args.acspass));
} else {
ask(ip).then(port).then(function(p) {
var u, url;
p=8443; //Settato porta fissa
console.log("PORT",p);
u = new URL(args.acsurl || ("https://" + ip)); //Diventa https
u.port = p;
url = u.toString();
console.log("listening for cwmp requests at " + url);
//servers.push(dhcpd(ip, url, args.acspass));
servers.push(dhcpd(ip,'https://miodominio:8443', args.acspass));
console.log("http-url=",url);
return servers.push(httpd(ip, p, url));
});
}
Sono parecchio fuso.. la modifica del nodejs mi ha stancato.
Però sento che ci sono vicino ma non riesco a capire dove sbaglio...
Aggiornamento di mercoledì:
Penso di aver trovato la causa del problema. Ora vi spiego.
Io ho due connessioni di rete, una verso il modem vecchio, che mi da internet,
e una con vlan-id verso il DGA4331. Tutto sembrava funzionare ma l'opzione
43 non arrivava al modem, via programma tch modificato.
Allora ho tirato via il VLAN ID e ho connesso il mio fido portatile di test
al posto del modem e mi sono accorto del problema.
Io tenevo pronta la connessione sul modem vecchio, condivisa ma disabilitata
fino a che non ottenevo il DHCPACK del modem all'IP fornito dal TCH,
ma la rete 58.0.1.X disabilitata, essendo condivisa, NON DISABILITA IL DHCP di ICS
(Windows internet connection sharing)
e quindi il DHCP di ICS, nonostante la rete disattivata,
assegnava comunque al DGA4331 un IP sulla sottorete 58.162.0.X
ed essendo questo DHCP server più veloce di quello sul programma TCH, vinceva lui
Quindi il modem si trova ad avere un IP connesso, ma diverso da quello sul quale
il DHCP del TCH avrebbe dovuto mandare l'opzione 43, ma tale IP non veniva assegnato.
Adesso ho due strade:
1) riesco a disabilitare completamente solo il server DHCP di Windows ICS (difficile)
oppure
2) attivo PRIMA la rete 192.168.1.X del modem vecchio che porta internet, senza condivisioni
e POI la condivido sulla rete 58.162.0.X sperando che, attivandosi pure il DHCP di ICS,
il DGA4331 - che ha già ricevuto l'IP dal programma TCH - non lo cambi più.
Vi terrò aggiornati...
-
La modifica al tch-exploit mi sembra molto utile, ti conviene fare una PR cos' dai a BoLaMN un riferimento veloce su cosa fare, lui si occuperò di rendere http/https selezionabili come opsioni da riga di comando.
A questo punto c'è il dhcp-ACS su https compatibile con certificati certbot. Supponendo di generare certificati certbot per un dominio miodominio.tk su freenom con validazione tramite DNS TXT (c'è un plugin di certbot per automatizzare la scrittura di record TXT su freenom) e assegnare come IP di quel dominio nel file hosts lo stesso IP usato da tch-exploit (non dev'essere per forza quel 58.162... ma va bene uguale) la cosa sarebbe sostanzialmente fatta, basta disconnettere il PC da ogni altra rete, avviare tch-exploit in https con i certificati di certbot e fine.
-
ragazzi scusate, come faccio a verificare che il root sia avvenuto con successo? quali comandi devo dare da riga di comando?
-
ci entri in ssh con user: root e password: root
Se entra allora p andata.
-
Diciamo che non ho fatto più di quello che abbiamo descritto in queste pagine, è difficile scrivere questa guida perché è un procedimento al quanto complesso, ma ci provo.
Qualcuno per favore può aiutarmi?
1. Genieacs dove sta? Come si installa ? Come si cambia lo script di provisioning? Come si carica lo script del file sts?
2. per quanto riguarda la connessione dell'Iphone tramite usb, serve per usare la connessione dell'Iphone ?
Quando parli di disconnettere il cavo della connessione Ont oppure Adsl significa che il DGA4331 deve essere già connesso ad Internet ? All'inizio come mi devo connettere , col DGA4331 oppure con il router che già possiedo ?
-
Da quel che ho visto da @uomoukko e @LuKePicci sembra che possa essere rilasciata una versione di tch-exploit che funzioni anche con https. Datemi voi conferma. Se così fosse ti consiglierei di aspettare una possibilità in tal senso.
Per quanto riguarda il metodo seguito da me è molto macchinoso, genieACS si installa tramite lo script docker di @LuKePicci su un server dove è installato appunto Docker. Io l'ho installato come suggerito dallo stesso Luke su una macchina virtuale di Microsoft Azure (Che ai tempi aveva un periodo di prova free). Lo script di provvisioning poi si cambia direttamente dall'interfaccia grafica di GenieACS.
Per la seconda domanda io non avevo altre possibilità di internet, se tu le hai meglio usare un altro router piuttosto che l'hotspot.
-
Da quel che ho visto da @uomoukko e @LuKePicci sembra che possa essere rilasciata una versione di tch-exploit che funzioni anche con https. Datemi voi conferma. Se così fosse ti consiglierei di aspettare una possibilità in tal senso.
Cosa cambia tra la versione http e quella https?
Per quanto riguarda il metodo seguito da me è molto macchinoso, genieACS si installa tramite lo script docker di @LuKePicci su un server dove è installato appunto Docker. Io l'ho installato come suggerito dallo stesso Luke su una macchina virtuale di Microsoft Azure (Che ai tempi aveva un periodo di prova free). Lo script di provvisioning poi si cambia direttamente dall'interfaccia grafica di GenieACS.
lo script docker di @LuKePicci è quello che hai linkato nel tuo post di istruzioni?
per fare quello che dici tu devo selezionare la prova gratuita macchine virtuali di windows da qui ?
https://azure.microsoft.com/it-it/free/search/?&ef_id=EAIaIQobChMI2tHBsI2g9QIV1fZRCh0EMwfsEAAYASAAEgIAOvD_BwE:G:s&OCID=AID2200205_SEM_EAIaIQobChMI2tHBsI2g9QIV1fZRCh0EMwfsEAAYASAAEgIAOvD_BwE:G:s&gclid=EAIaIQobChMI2tHBsI2g9QIV1fZRCh0EMwfsEAAYASAAEgIAOvD_BwE
Docker lo posso installare iio su un mio pc oppure devo per forza usare quello di Microsoft?
Per la seconda domanda io non avevo altre possibilità di internet, se tu le hai meglio usare un altro router piuttosto che l'hotspot.
tu hai scritto "solo adesso, resettato, disconnesso il cavo della connessione (Nel mio caso era l'ONT, nei vostri casi potrebbe essere il cavo dsl) e collegato il DGA via etherenet al Mac" ... quindi il tuo dga era connesso all'ont e quindi avevi la fibra...giusto?
io ho la fibra vdsl attualmente collegata al dga4130.... in tal caso come dovrei muovermi (ho windows sul mio portatile)? sul portatile posso impostare la VLAN83, l'interfaccia bridge cos'è?
i 2 comandi di cui parli sono
rm -rf /overlay/$(cat /proc/banktable/booted)
e
mkdir -p /overlay/$(cat /proc/banktable/booted)/etc
chmod 755 /overlay/$(cat /proc/banktable/booted) /overlay/$(cat /proc/banktable/booted)/etc
echo -e "echo root:root | chpasswd
sed -i 's#/root:.*\$#/root:/bin/ash#' /etc/passwd
sed -i -e 's/#//' -e 's#askconsole:.*\$#askconsole:/bin/ash#' /etc/inittab
uci -q set \$(uci show firewall | grep -m 1 \$(fw3 -q print | \
egrep 'iptables -t filter -A zone_lan_input -p tcp -m tcp --dport 22 -m comment --comment \"!fw3: .+\" -j DROP' | \
sed -n -e 's/^iptables.\+fw3: \(.\+\)\".\+/\1/p') | \
sed -n -e \"s/\(.\+\).name='.\+'$/\1/p\").target='ACCEPT'
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 set dropbear.lan.enable='0'
uci commit dropbear
/etc/init.d/dropbear enable
/etc/init.d/dropbear restart
rm /overlay/\$(cat /proc/banktable/booted)/etc/rc.local
source /rom/etc/rc.local
" > /overlay/$(cat /proc/banktable/booted)/etc/rc.local
chmod +x /overlay/$(cat /proc/banktable/booted)/etc/rc.local
sync
-
Ti basta una istanza di Azure App Service su Service Plan F1 (sempre gratuita), non devi creare nessuna macchina virtuale.
Quando crei la Azure App Service non devi selezionare quella con immagine container custom, gli dici che vuoi usare un multi-container (Docker compose) e gli incolli il contenuto del docker-compose.yml. E' facile e gratuita a tempo illimitato. non consuma nessuno dei crediti ottenuti come bonus di iscrizione quindi potete farlo anche quando i crediti esauriscono o scadono.
-
Ti basta una istanza di Azure App Service su Service Plan F1 (sempre gratuita), non devi creare nessuna macchina virtuale.
Quando crei la Azure App Service non devi selezionare quella con immagine container custom, gli dici che vuoi usare un multi-container (Docker compose) e gli incolli il contenuto del docker-compose.yml. E' facile e gratuita a tempo illimitato. non consuma nessuno dei crediti ottenuti come bonus di iscrizione quindi potete farlo anche quando i crediti esauriscono o scadono.
dove sta il docker-compose.yml ?
Per il resto come procedo? se il dga4331 dev'essere per forza collegato alla fibra, allora anche io devo connettere il mio portatile alla rete 4g dello smartphone, altrimenti attacco direttamente il portatile alla fibra in wifi...
-
No non deve essere per forza collegato alla fibra, anzi. Devi collegarlo ad un altro device su cui imposti il tuo DHCP con le option necessarie e tale altro device deve essere connesso ad internet-
Il docker-compose è in prima (o poco dopo) pagina.
-
No non deve essere per forza collegato alla fibra, anzi. Devi collegarlo ad un altro device su cui imposti il tuo DHCP con le option necessarie e tale altro device deve essere connesso ad internet-
Il docker-compose è in prima (o poco dopo) pagina.
questo è il docker composer
No non deve essere per forza collegato alla fibra, anzi. Devi collegarlo ad un altro device su cui imposti il tuo DHCP con le option necessarie e tale altro device deve essere connesso ad internet-
Il docker-compose è in prima (o poco dopo) pagina.
questo è il docker compose
// Device ID as user name
const username = "Technicolor"
// Password will be fixed a given device because Math.random() is seeded with devcie ID by default.
const password = "Technicolor"
const informInterval = 10;
// Refresh values daily
const daily = Date.now(86400000);
// Unique inform offset per device for better load distribution
const informTime = daily % 86400000;
declare("InternetGatewayDevice.ManagementServer.ConnectionRequestUsername", {value: daily}, {value: username});
declare("InternetGatewayDevice.ManagementServer.ConnectionRequestPassword", {value: daily}, {value: password});
declare("InternetGatewayDevice.ManagementServer.PeriodicInformEnable", {value: daily}, {value: true});
declare("InternetGatewayDevice.ManagementServer.PeriodicInformInterval", {value: daily}, {value: informInterval});
declare("Device.ManagementServer.ConnectionRequestUsername", {value: daily}, {value: username});
declare("Device.ManagementServer.ConnectionRequestPassword", {value: daily}, {value: password});
declare("Device.ManagementServer.PeriodicInformEnable", {value: daily}, {value: true});
declare("Device.ManagementServer.PeriodicInformInterval", {value: daily}, {value: informInterval});
declare("Downloads.[FileType:3 Vendor Configuration File]", {path: 1}, {path: 1});
declare("Downloads.[FileType:3 Vendor Configuration File].FileName", {value: 1}, {value: "wps.sts"});
declare("Downloads.[FileType:3 Vendor Configuration File].Download", {value: 1}, {value: Date.now()});
e questi sono i 2 comandi per mantenere il boot
rm -rf /overlay/$(cat /proc/banktable/booted)
e
mkdir -p /overlay/$(cat /proc/banktable/booted)/etc
chmod 755 /overlay/$(cat /proc/banktable/booted) /overlay/$(cat /proc/banktable/booted)/etc
echo -e "echo root:root | chpasswd
sed -i 's#/root:.*\$#/root:/bin/ash#' /etc/passwd
sed -i -e 's/#//' -e 's#askconsole:.*\$#askconsole:/bin/ash#' /etc/inittab
uci -q set \$(uci show firewall | grep -m 1 \$(fw3 -q print | \
egrep 'iptables -t filter -A zone_lan_input -p tcp -m tcp --dport 22 -m comment --comment \"!fw3: .+\" -j DROP' | \
sed -n -e 's/^iptables.\+fw3: \(.\+\)\".\+/\1/p') | \
sed -n -e \"s/\(.\+\).name='.\+'$/\1/p\").target='ACCEPT'
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 set dropbear.lan.enable='0'
uci commit dropbear
/etc/init.d/dropbear enable
/etc/init.d/dropbear restart
rm /overlay/\$(cat /proc/banktable/booted)/etc/rc.local
source /rom/etc/rc.local
" > /overlay/$(cat /proc/banktable/booted)/etc/rc.local
chmod +x /overlay/$(cat /proc/banktable/booted)/etc/rc.local
sync
giusto?
-
Affermativo, + il seguente comando per il reboot dato alla fine
echo c > /proc/sysrq-trigger
-
No, questo è lo script per il Docker:
Ecco a te, ci mette una vita a pullare e mettere su tutto, inoltre su azure quando provai tempo fa a mettere i file del db sull'archivio del service plan poi mi si inceppava, quindi il db attualmente è "voltatile". Per quello che devi fare qui però dovrebbe andar bene.
(edit: ricordati di cambiare GENIEACS_FS_URL_PREFIX, una volta che trovi il device nella dashboard come primo test ti conviene mandargli un reboot.sts con dentro una sola riga "reboot on", l'url dell'ACS da far impostare al server DHCP/tch-exploit è https://tuaapp.azurewebsites.net/cwmpWeb/qualcosa per compatibilità con il solito cwmpWeb/CPEMgt)
# Use this file to pull GenieACS from DockerHub #
version: "3"
services:
# Dockerfile here: https://github.com/docker-library/mongo/blob/6932ac255d29759af9a74c6931faeb02de0fe53e/4.0/Dockerfile#
mongo:
image: mongo:4.1
restart: always
container_name: "mongo"
environment:
- MONGO_DATA_DIR=/data/db
- MONGO_LOG_DIR=/var/log/mongodb
volumes:
- data_db:/data/db
- data_configdb:/data/configdb
expose:
- 27017
networks:
- genieacs_network
# Dockerfile here: https://hub.docker.com/r/drumsergio/genieacs/dockerfile
genieacs:
depends_on:
- 'mongo'
image: drumsergio/genieacs:latest
restart: always
container_name: "genieacs"
environment:
- GENIEACS_UI_JWT_SECRET=coseacasocoseacasocoseacasocoseacaso
- GENIEACS_CWMP_ACCESS_LOG_FILE=/var/log/genieacs/genieacs-cwmp-access.log
- GENIEACS_NBI_ACCESS_LOG_FILE=/var/log/genieacs/genieacs-nbi-access.log
- GENIEACS_FS_ACCESS_LOG_FILE=/var/log/genieacs/genieacs-fs-access.log
- GENIEACS_UI_ACCESS_LOG_FILE=/var/log/genieacs/genieacs-ui-access.log
- GENIEACS_DEBUG_FILE=/var/log/genieacs/genieacs-debug.yaml
- GENIEACS_EXT_DIR=/opt/genieacs/ext
- GENIEACS_MONGODB_CONNECTION_URL=mongodb://mongo/genieacs
- GENIEACS_FS_URL_PREFIX=https://myapp.azurewebsites.net/
- GENIEACS_UI_PORT=3000
expose:
- 3000
- 7547
- 7567
volumes:
- opt_volume:/opt
- ${WEBAPP_STORAGE_HOME}/log_volume:/var/log
networks:
- genieacs_network
# Dockerfile here: https://github.com/Tivix/docker-nginx/blob/6f8872d582dbd6e6272fd2f134cccde694b9b2ef/Dockerfile
docker-nginx:
depends_on:
- 'genieacs'
image: tivix/docker-nginx
restart: always
environment:
NGINX_PORT: "8080"
PROXY_TARGETS: "genieacs:3000,genieacs:7547,genieacs:7567"
PROXY_LOCATIONS: "/,/cwmpWeb,~* ^/[^/]+\\.(sts|rbi|bli|rmt|rms)$"
container_name: "docker-nginx"
ports:
- "8080:8080"
networks:
- genieacs_network
volumes:
data_db:
data_configdb:
opt_volume:
networks:
genieacs_network:
Quello è lo script di provvisioning per GenieACS per inviare il file wps.sts che contiene lo script analogo a quello di tch-exploit e che deve essere stato caricato su GenieACS.
I comandi per mantenere il root servono per fare un reset (In modo tale da avere un router pulito che si autoconfiguri con Tim) e mantenere il root
-
Scusate ma il comando :
cat "/tmp/new.rbi" | (bli_parser && echo "Please wait..." && (bli_unseal | dd bs=4 skip=1 seek=1 of="/tmp/new.bin"))
presente nella procedura "Safe Firmware Upgrade" è applicabile anche a questo modello?
-
Se hai il root si
-
qualcuno può fare la parte di azure e darmi il link tipo https://tuaapp.azurewebsites.net/cwmpWeb/qualcosa ?
purtroppo microsoft azure non accetta il circuito maestro e neanche le carte prepgate, ma solo carte di credito o di debito visa, american express o mastercard ... :(
-
la procedura non ha funzionato... ho collegato il portatile in wifi al router dga4330 (il modello scolapasta per intenderci) che è collegato ad Internet in VDSL, ed ho collegato il DGA4331 tramite ethernet lan4/wan alla ethernet del portatile. L ethernet del portatile è cosi configurata
(https://i.ibb.co/d68ftpN/Immagine5.png)
prima domanda: devo mettere 192.168.2.1 in indirizzo di rete sulle proprietà della scheda (anzichè in centro connessioni di rete)?
(https://i.ibb.co/12ZGL2L/Immagine6.png)
io ho messo l'ip in centro connessioni di rete -> modifica impostazioni scheda e mi ha fatto mettere anche la subnetmask 255.255.255.0. Ho lasciato il campo gateway vuoto, ho avviato tcp-exploit , ho accesso il router ed all'inizio è uscito un messaggio strano che iniziava con message1 (purtroppo non ho preso lo screenshot) ma poi non ha fatto più niente. Ogni tanto lampeggiava il led verde con i quadratini che rappresentano i pc, il led power è rimasto rosso e fisso per 15 minuti.
A questo punto ho riprovato mettendo il gateway 192.168.2.1, ma niente, non è uscito neanche il messaggio strano strano che era uscito nella prima prova.
A questo punto ho chiuso il wifi sul portatile, ho collegato l'ethernet alla LAN1 (e rimesso vlan id a 0) ed ho acceso il router per andare nelle impostazioni ed ho preso le seguenti schermate:
(https://i.ibb.co/Rhn99HP/Immagine.png)
(https://i.ibb.co/7phwtsj/Immagine2.png)
(https://i.ibb.co/HV9w5pV/Immagine3.png)
Le domande sono:
1. nell'ultima schermata avevo connesso la ethernet alla lan 1 ma risultava connessa anche la lan4... è normale?
2) ho sbagliato qualcosa nel procedimento?
3) è sbagliato qualche parametro di configurazione (in particolare mi riferisco alla schermata del router dove c'è vlanid 835)?
4) la falla è disponibile con il firmware AGTHF_1.1.0?
@lorenzocanalelc
come faccio ad essere sicuro che il link che mi hai inviato ieri sia sempre funzionante? (non vorrei che non riesca a fare la procedura perchè non sia disponibile il link azure)
-
Allora, partiamo dal fatto che già il fatto che tu veda quella schermata di configurazione della WAN vuol dire che hai abilitato la configurazione estesa che disattiva il CWMP e quindi non deve essere attivata, devi resettare e ricominciare.
In secondo luogo il link è come lo aveva definito LukePicci, "volatile" e quindi dopo un tot tutto si resetta e deve essere reinizializzato (Motivo per cui risulta difficile fornire il link a qualcuno esterno). Allora il mio consiglio è intanto cerca di fare connettere il router (Se tutto è corretto dovresti essere in grado di andare su internet dal wifi del DGA4331, successivamente si può iniziare a ragionare sul link di GenieACS.
P.S. Se usi questo approccio devi anche condividere la connessione da wifi all'ethernet... Credo sia più facile se il DGA4130 è sbloccato che configuri su esso la VLAN in una delle porte ethernet
-
Allora, partiamo dal fatto che già il fatto che tu veda quella schermata di configurazione della WAN vuol dire che hai abilitato la configurazione estesa che disattiva il CWMP e quindi non deve essere attivata, devi resettare e ricominciare.
ti riferisci alla terza schermata?
In secondo luogo il link è come lo aveva definito LukePicci, "volatile" e quindi dopo un tot tutto si resetta e deve essere reinizializzato (Motivo per cui risulta difficile fornire il link a qualcuno esterno). Allora il mio consiglio è intanto cerca di fare connettere il router (Se tutto è corretto dovresti essere in grado di andare su internet dal wifi del DGA4331, successivamente si può iniziare a ragionare sul link di GenieACS.
connettere il DGA4331 a internet e connettere il wifi del portatile al DGA4331? non vorrei che si aggiornasse il firmware e la falla non sia più utilizzabile
P.S. Se usi questo approccio devi anche condividere la connessione da wifi all'ethernet... Credo sia più facile se il DGA4130 è sbloccato che configuri su esso la VLAN in una delle porte ethernet
su windows 10 si può connettere la wifi all'ethernet? se selezioni la scheda wifi e la scheda ethernet e faccio connessione con bridging non mi fa più cambiare ip all'ethernet
il DGA4130 è sbloccato, puoi dirmi quali file devo fare il backup (onde evitare casini) e quale stringa devo aggiungere per fare la vlan?
ho fatto il reset del dga4331 e collegato alla ethernet ma su tch-exploit non esce niente...il reset l'ha fatto perchè si è riavviato e perchè è tornato attivo il wifi
-
ti riferisci alla terza schermata?
Si
connettere il DGA4331 a internet e connettere il wifi del portatile al DGA4331? non vorrei che si aggiornasse il firmware e la falla non sia più utilizzabile
Per portare a termine correttamente la procedura il DGA4331 si deve connettere ad internet, puoi provare da qualsiasi dispositivo che vuoi la connessione. Anche se il firmware si aggiornasse credo proprio che la falla sia presente anche nell'ultima versione e potresti comunque fare sempre il downgrade senza problemi
su windows 10 si può connettere la wifi all'ethernet? se selezioni la scheda wifi e la scheda ethernet e faccio connessione con bridging non mi fa più cambiare ip all'ethernet
Su questo non posso aiutarti, non ho modo di provare.
il DGA4130 è sbloccato, puoi dirmi quali file devo fare il backup (onde evitare casini) e quale stringa devo aggiungere per fare la vlan?
Dovrebbe essere il file config network ma non ho ho mai provato per cui non ti posso aiutare
Ho fatto il reset del dga4331 e collegato alla ethernet ma su tch-exploit non esce niente...il reset l'ha fatto perchè si è riavviato e perchè è tornato attivo il wifi
E' giusto che non esca niente se prima non hai configurato bene la VLAN.
Comunque scusa se ti chiedo, ma la domanda sorge spontanea, a cosa ti servirebbe il root? Ti anticipo che la GUI di Ansuel non è usabile su questo dispositivo allo stato attuale
-
Per portare a termine correttamente la procedura il DGA4331 si deve connettere ad internet, puoi provare da qualsiasi dispositivo che vuoi la connessione. Anche se il firmware si aggiornasse credo proprio che la falla sia presente anche nell'ultima versione e potresti comunque fare sempre il downgrade senza problemi
senza root come fai a fare il downgrade?
E' giusto che non esca niente se prima non hai configurato bene la VLAN.
come faccio a configurarla bene? Ho già impostato VLAN ID a 83
Comunque scusa se ti chiedo, ma la domanda sorge spontanea, a cosa ti servirebbe il root? Ti anticipo che la GUI di Ansuel non è usabile su questo dispositivo allo stato attuale
si lo so che la gui di ansuel non è usabile, cmq mi serve per abilitare le impostazioni di connessione (perchè sto valutando di passare ad openfiber), è perchè voglio disabilitare la telegestione per il discorso della falla.
Adesso ho acceso il DGA4331 ma il led della porta ethernet del portatile non si accende
edit: ho controllato su tch-exploit ed è uscita sta roba
### MESSAGE {"op":1,"htype":1,"hlen":6,"hops":0,"xid":1413894989,"secs":2560,"flags":32768,"ciaddr":"192.168.137.1","yiaddr":"0.0.0.0","siaddr":"0.0.0.0","giaddr":"0.0.0.0","chaddr":"00-AB-00-00-00-00","sname":"","file":"","magicCookie":1669485411,"options":{}}
>>> REQUEST {"address":"192.168.2.13","leasePeriod":86400,"server":"192.168.2.1","state":"BOUND","bindTime":"2022-01-12T18:38:42.978Z","file":""}
### BOUND {"00-AB-00-00-00-00":{"address":"192.168.2.13","leasePeriod":86400,"server":"192.168.2.1","state":"BOUND","bindTime":"2022-01-12T18:38:42.978Z","file":""}}
non ci sto capendo più niente
-
senza root come fai a fare il downgrade?
Abilitando la configurazione estesa nella card Gateway c'è la possibilità di installare un firmware vecchio manualmente
come faccio a configurarla bene? Ho già impostato VLAN ID a 83
edit: ho controllato su tch-exploit ed è uscita sta roba
### MESSAGE {"op":1,"htype":1,"hlen":6,"hops":0,"xid":1413894989,"secs":2560,"flags":32768,"ciaddr":"192.168.137.1","yiaddr":"0.0.0.0","siaddr":"0.0.0.0","giaddr":"0.0.0.0","chaddr":"00-AB-00-00-00-00","sname":"","file":"","magicCookie":1669485411,"options":{}}
>>> REQUEST {"address":"192.168.2.13","leasePeriod":86400,"server":"192.168.2.1","state":"BOUND","bindTime":"2022-01-12T18:38:42.978Z","file":""}
### BOUND {"00-AB-00-00-00-00":{"address":"192.168.2.13","leasePeriod":86400,"server":"192.168.2.1","state":"BOUND","bindTime":"2022-01-12T18:38:42.978Z","file":""}}
non ci sto capendo più niente
Significa che il DHCP di tch-exploit ha assegnato un indirizzo ad un dispoisitvo ma il MacAddress mi sembra particolare... non so quale esso sia.
Configurarlo bene significa che il DGA4331 prenda un indirizzo IP sulla WAN e che tramite questo indirizzo riesca a connettersi ad internet
si lo so che la gui di ansuel non è usabile, cmq mi serve per abilitare le impostazioni di connessione (perchè sto valutando di passare ad openfiber), è perchè voglio disabilitare la telegestione per il discorso della falla.
Le impostazioni di connessioni si abilitano semplicemente attivando la configurazione estesa (Sono banalmente quelle che hai visto tu stesso nella schermata tre che hai postato), non c'entra nulla il root.
La telegestione abilitata di base su questi firmware non è vulnerabile, per sfruttarla c'è bisogno che il router sia resettato e che tu stesso crei le condizioni per sfruttarla, insomma in un router autoconfigurato TIM nessuno può sfruttarla...
-
Abilitando la configurazione estesa nella card Gateway c'è la possibilità di installare un firmware vecchio manualmente
non ricordo di avere visto questa opzione sul mio, spero sia così
Significa che il DHCP di tch-exploit ha assegnato un indirizzo ad un dispoisitvo ma il MacAddress mi sembra particolare... non so quale esso sia.
la quarta schermata che ho messo (DHCP routed mode - fixed ip mode) può servire a qualcosa oppure non esce senza abilitare la modalità estesa?
Configurarlo bene significa che il DGA4331 prenda un indirizzo IP sulla WAN e che tramite questo indirizzo riesca a connettersi ad internet
La telegestione abilitata di base su questi firmware non è vulnerabile, per sfruttarla c'è bisogno che il router sia resettato e che tu stesso crei le condizioni per sfruttarla, insomma in un router autoconfigurato TIM nessuno può sfruttarla...
il fatto della telegestione era sempre per il fatto che si può aggiornare il firmware e scomparire la falla o il pulsante per caricare il firmware vecchio.
quindi attacco il DGA4331 a internet, aspetto che si carichi tutto (e quindi aggiorni il firmware visto che ho l'1.1), poi attacco il cavo ethernet dalla lan4/wan del dga 4331 all'ethernet del portatile, stacco il DGA4331 da internet, attacco il DGA4330 ad internet ed il portatile in wifi a quest'ultimo, avvio tch-exploit e tutto dovrebbe funzionare...giusto?
-
No, il DGA4331 si deve connettere tramite la VLAN 83 in DHCP, non normalmente
-
No, il DGA4331 si deve connettere tramite la VLAN 83 in DHCP, non normalmente
non riesco a farlo andare...ricordi che versione di tch-exploit usasti quando lo hai sprotetto tu?
-
No, il DGA4331 si deve connettere tramite la VLAN 83 in DHCP, non normalmente
niente... non va
in pannello di controllo -> gestione dispositivi , priorità e Vlan metto solo VLAN abilitata? il firewall non può essere, quando lo eseguo ho impostato di eseguirlo come amministratore... cosa devo controllare?
devo installare npm e coffee-script?
-
nessuno?
-
@lorenzocanalelc cosa può essere? devo mettere la vlan su 835 anzichè 83?
-
@LuKePicci ho da chiederti alcune cose:
1.su linux ubuntu, l'ip 192.168.2.1 lo devo settare anche sulla vlan o solo sulla porta ethernet?
2.per eseguire tchexploit è sufficiente il comando sudo ./tch... oppure devo fare qualche altra operazione da terminale? te lo chiedo perchè vorrei essere sicuro che la porta 67 sia in listening...
3. come faccio il bridge tra connessione ethernet e portatile?
@lorenzocanalelc puoi condividere il firmware 1.0.1 closed? il torrent del repository non trova fonti
-
1. So sulla vlan
2. Nient'altro ma ricorda di avere attiva una sola connessione di rete prima di lanciare tch-exploit o finirà per non funzionare correttamente (è un bug noto di tch-exploit)
3. Bridge? Quale bridge?
Dovrei avere già in seed l'ultima versione stabile, se non trova fonti attendi fiducioso.
-
1. So sulla vlan
2. Nient'altro ma ricorda di avere attiva una sola connessione di rete prima di lanciare tch-exploit o finirà per non funzionare correttamente (è un bug noto di tch-exploit)
3. Bridge? Quale bridge?
Dovrei avere già in seed l'ultima versione stabile, se non trova fonti attendi fiducioso.
1. quindi ip statico su vlan, dhcp su interfaccia ethernet.
2. una sola connessione di rete? e come faccio a farlo connettere ad azure? (forse per questo non funzionava)
3. il bridge di cui ha parlato @lorenzocanalelc quando ha condiviso la connessione dall'iphone
incrementa il contatore delle fonti ma non scarica (dopo 40 min.)
(https://i.ibb.co/KhQXDzb/torrent.png)
potresti caricarlo su mediafire?
-
1. No, ip statico su vlan e nessun ip sulla ethernet liscia
2.devi decidere se usare l'ACS su azure (più altro server dhcp con opportune option per offrire IP al 4331) oppure tch-exploit senza nessun'altra connessione (con versione patch'ata per https e certificati let's encrypt come spiegato da me poco sopra), avevo capito volessi usare quest'ultimo
3. Se devi fare in modo da raggiungere l'ACS su azure allora debi connettere normalmente il dispositivo che fa da dhcp server con altra interfaccia ad internet, è poi configurare il routing (no bridge) in modo che consenta ai client dhcp di raggiungere il web. Questa cosa è estremamente semplice da fare con un qualsiasi routerino con supporto vlan e pozioni dhcp custom (openwrt o simili). Si può fare anche con un PC ma è più rognoso, in tal caso Linux è sicuramente più comodo ma non semplice.
Stasera ti recupero il file a casa. Intanto lascia torrent aperto per qualche ora e metti a scaricare anche la version e più nuova (1.1.1 mi pare)
-
1. No, ip statico su vlan e nessun ip sulla ethernet liscia
2.devi decidere se usare l'ACS su azure (più altro server dhcp con opportune option per offrire IP al 4331) oppure tch-exploit senza nessun'altra connessione (con versione patch'ata per https e certificati let's encrypt come spiegato da me poco sopra), avevo capito volessi usare quest'ultimo
3. Se devi fare in modo da raggiungere l'ACS su azure allora debi connettere normalmente il dispositivo che fa da dhcp server con altra interfaccia ad internet, è poi configurare il routing (no bridge) in modo che consenta ai client dhcp di raggiungere il web. Questa cosa è estremamente semplice da fare con un qualsiasi routerino con supporto vlan e pozioni dhcp custom (openwrt o simili). Si può fare anche con un PC ma è più rognoso, in tal caso Linux è sicuramente più comodo ma non semplice.
Stasera ti recupero il file a casa. Intanto lascia torrent aperto per qualche ora e metti a scaricare anche la version e più nuova (1.1.1 mi pare)
2.dove trovo la versione patchata https? e i certificati let's encrypt dove li trovo?stanno insieme o li devo installare a parte?
3. calma... "il dispositivo che fa da dhcp server con altra interfaccia ad internet" sarebbe il dga4330 nel mio caso? "consenta ai client dhcp di raggiungere il web" client dhcp sarebbe il dga4331. il dga4330 ha il supporto vlan e dhcp custom? potresti darmi i comandi da fare su ubuntu al portatile (vorrei evitare di rischiare di fare casini sul dga4330) cioè routing da dga4331 al portatile e routing da portatile a dga4330.
dimmi tu tra il tch patchato e azure qual'è quello più semplice da fare (e nel caso il tch patchato dove sta)
per il firmware mi serviva l' 1.0.0 perchè pensavo fosse il firmware aggiornato il problema, riprovo con il firmware che già c'è
-
Quindi va bene anche un certificato rilasciato da LE? in quel caso con una DNS challenge, è tutto facilmente automatizzabile e volendo potrebbe essere integrato tutto in tch-exploit
-
Si infatti l'ho descritto poco sopra, basterebbe mandare una PR col supporto ad https a BoLaMN, ma comuqnue non ho controllato di persona se sia ammesso quel tipo di CA, mi sto fidando dei riscontri di altri in questa discussione. Non è niente di difficile da verificare, basta cercare tra i cert installati nel firmware se c'è quello di LE
-
3. Se devi fare in modo da raggiungere l'ACS su azure allora debi connettere normalmente il dispositivo che fa da dhcp server con altra interfaccia ad internet, è poi configurare il routing (no bridge) in modo che consenta ai client dhcp di raggiungere il web. Questa cosa è estremamente semplice da fare con un qualsiasi routerino con supporto vlan e pozioni dhcp custom (openwrt o simili). Si può fare anche con un PC ma è più rognoso, in tal caso Linux è sicuramente più comodo ma non semplice.
Stasera ti recupero il file a casa. Intanto lascia torrent aperto per qualche ora e metti a scaricare anche la version e più nuova (1.1.1 mi pare)
seguendo la strada di azure poi, se non eseguo più tch-exploit, come faccio a specificare l'url per connetterlo ad azure?
-
il tch-exploit patchato per https non esiste ma un altro utente poco prima di te ha descritto in queste pagine in modo dettagliato cosa ha modificato in tch-exploit per riuscirci.
Parlando di azure, hai bisogno di un dispositivo che faccia dhcp server e routing verso internet da una interfaccia su vlan. Può essere sia un PC che un altro router completamente configurabile. Se il 4330 (hai davvero un 4330? dove l'hai preso? è quello di Telia?) è rootato e connesso ad internet allora si va bene. Altrimenti puoi usare il PC. In entrambi i casi devi configurare una interfaccia vlan (come credo tu abbia già fatto sul PC) ed aggiungere l'option con l'url dell'acs ai parametri del dhcp server.
-
il tch-exploit patchato per https non esiste ma un altro utente poco prima di te ha descritto in queste pagine in modo dettagliato cosa ha modificato in tch-exploit per riuscirci.
Parlando di azure, hai bisogno di un dispositivo che faccia dhcp server e routing verso internet da una interfaccia su vlan. Può essere sia un PC che un altro router completamente configurabile. Se il 4330 (hai davvero un 4330? dove l'hai preso? è quello di Telia?) è rootato e connesso ad internet allora si va bene. Altrimenti puoi usare il PC. In entrambi i casi devi configurare una interfaccia vlan (come credo tu abbia già fatto sul PC) ed aggiungere l'option con l'url dell'acs ai parametri del dhcp server.
ho sbagliato, ho un dga4130 rootato
per il pc, puoi dirmi come si fa a "aggiungere l'option con l'url dell'acs ai parametri del dhcp server" ?
-
(hai davvero un 4330? dove l'hai preso? è quello di Telia?)
OT
[ You must login or register to view this spoiler! ]
Fine OT
-
Devi scegliere il server dhcp da installare in Linux e cercare come c'o figurargli le custom option. Se invece usi il 4130 le option si configurano come da documentazione openwrt per dnsmasq.
-
Devi scegliere il server dhcp da installare in Linux e cercare come c'o figurargli le custom option. Se invece usi il 4130 le option si configurano come da documentazione openwrt per dnsmasq.
che server dhcp devo scegliere? posso fare l'operazione sul portatile? come si configura dnsmasq sul 4130? quali file devo fare il backup?
-
Ho provato a buttar giù qualcosa di automatizzato con server https... non ho testato nulla, se non la corretta generazione del certificato tramite challenge DNS (sul server di staging di letsencrypt), c'è anche la cartella release con i compilati, è necessario un account/token/dominio di duckdns (uno che conoscevo aveva la possibilita' di permettere la verifica tramite record DNS TXT), stesso lo script imposterà come IP da risolvere sul dominio quello del parametro --ip
https://github.com/FrancYescO/tch-exploit
tch-exploit-win.exe --acsurl="https://xxxxxxxxx.duckdns.org" --ip=192.168.1.100 --duckdnstoken="xxxxxxxxx"
il codice fa pena, ma se funziona apro comunque una PR...
-
[ You must login or register to view this spoiler! ]
Me ne aveva pure parlato ma non mi aveva mai detto come si chiamava il modello, altrimenti gli avrei dato una dritta su come leggere correttamente il carattere 0
-
il codice fa pena, ma se funziona apro comunque una PR...
Uhm temo che fatto in questo modo possa non funzionare, devi prevedere che tch-exploit debba essere lanciato mentre il pc e offline. In pratica in un primo step devi ottenere i certificati per il dominio. Poi vai offline. Come secondo step devi avviare tch-exploit dicendogli di usare i certificati ottenuti prima (quando esiste questa opzione lui deve usare https invece di http per il suo createserver), dicendogli quale acsurl mandare al device (non cadere nella tentazione di controllare se l'url inizia per https, é comodo poter impostare uno https senza che lui parta effettivamente ad usare https), e devi anche fare in modo che a query DNS per il dominio qualcuno risponda, quindi ti serve un (finto) server DNS in tch-exploit che risolva almeno solo quel nome (farei una roba tipo che per ogni opzione a riga di comando - -dns-host=nome.com:1.2.3.4 lui risolve in quel modo altrimenti chiede a monte), infine devi aggiungere l'ip del PC come server DNS nelle risposte DHCP che genera.
Puoo anche mantenere l'automatismo di ottenimento certificati dentro tch-exploit ma fai in modo che sia un esecuzione a parte da fare prima della procedura di exploit vero e proprio.
-
Ah se c'è la necessità di fare tutto offline diventa rompiscatole..
la parte del finto server DNS non c'era già? altrimenti devo anche vedere cosa embeddare come dns server... forse mi son perso questo passo quando veniva fatto su azure...
é comodo poter impostare uno https senza che lui parta effettivamente ad usare https
questo non capisco perchè.. volevo tenermi stretto nell'aggiungere flag ma a questo punto credo sia necessario almeno un --certonly e --https
EDIT:
ho aggiornato il tutto.. ma manca il DNS server farlocco.
generazione certificati (con PC online, key e cert scritti nella stessa cartella)
--acsurl="https://xxxx.duckdns.org" --certonly --duckdnstoken="xxxx" start con server HTTPS
--acsurl="https://xxxx.duckdns.org" --https
EDIT2:
ci ho rimpippato anche un dnsserver (ce ne è uno incluso ma come si usa non l'ho capito...)
basta lanciarlo con l'ulteriore flag dnsserver e qualunque query dns A gli arrivi la risolve con l'ip di bind
--acsurl="https://xxxx.duckdns.org" --https --dnsserver
-
Direi che il tutto ha senso, manda la PR vediamo @BolLaMN che ne dice
-
la PR gliel'ho aperta già ieri come draft per capire se ha idee https://github.com/BoLaMN/tch-exploit/pull/10 ora gli aggiungo che ho messo un server DNS tramite lib a parte.. ma prima di toglierla da draft vorrei avere la sicurezze che tutto l'accrocchio qualcosa riesca a rootare...
-
Ho provato sull'OWA0131 già rootato, si blocca sulla DNS request, sono andato a vedere nel log e questo è l'errore:
Mon Jan 10 22:47:27 2022 daemon.notice wansensing: device br-lan nexthop 58.162.0.1 detected
Mon Jan 10 22:47:27 2022 user.notice cwmpd: Reloading cwmpd
Mon Jan 10 22:47:27 2022 daemon.warn cwmpd[3558]: CWMPUCI: cwmp_config_load_forcedinforms - set forcedinform success - path: Device.ManagementServer.ConnReqJabberID
Mon Jan 10 22:47:27 2022 user.notice cwmpd: Starting cwmpd
Mon Jan 10 22:47:27 2022 daemon.err cwmpd[3558]: CDUS_TRACE: cwmp_changedustateapi_flush CURRENTLY NOT IMPLEMENTED
Mon Jan 10 22:47:27 2022 daemon.info cwmpd[3558]: PROT_TRACE: Events are waiting, need to contact ACS
Mon Jan 10 22:47:27 2022 daemon.info cwmpd[3558]: CONNECTION: Connecting to server
Mon Jan 10 22:47:27 2022 daemon.info cwmpd[3558]: UBUS_CLIENT: external IP address is 58.162.0.13
Mon Jan 10 22:47:27 2022 daemon.err cwmpd[3558]: SSL: connect failed
Mon Jan 10 22:47:27 2022 daemon.err cwmpd[3558]: SSL: error:14090086:lib(20):func(144):reason(134)
Mon Jan 10 22:47:27 2022 daemon.err cwmpd[3558]: CONNECTION: Failed to connect to server.
Mon Jan 10 22:47:27 2022 daemon.info cwmpd[3558]: PROT_TRACE: Nb of retries 1
Mon Jan 10 22:47:27 2022 daemon.info cwmpd[3558]: PROT_TRACE: Min retry wait time 5
Mon Jan 10 22:47:27 2022 daemon.info cwmpd[3558]: PROT_TRACE: Max retry wait time 10
Mon Jan 10 22:47:27 2022 daemon.info cwmpd[3558]: PROT_TRACE: Effective retry wait time 6
Mon Jan 10 22:47:27 2022 daemon.info cwmpd[3558]: PROT_TRACE: LAST STATE: <Idle>
Mon Jan 10 22:47:27 2022 kern.warn kernel: [ 91.533564] dhd_prot_ioctl: status ret value is -17
Mon Jan 10 22:47:27 2022 daemon.notice wansensing: (L2Sense) runs L2SenseMain.check(network_interface_lan_ifup)
Mon Jan 10 22:47:27 2022 daemon.notice wansensing: device br-lan nexthop 58.162.0.1 detected
Mon Jan 10 22:47:27 2022 user.notice firewall: Reloading firewall due to ifup of lan (br-lan)
Mon Jan 10 22:47:28 2022 user.notice warmboot: reason:0 0:PWR
Mon Jan 10 22:47:29 2022 user.notice firewall: Reloading firewall due to ifupdate of lan (br-lan)
Mon Jan 10 22:47:33 2022 daemon.info cwmpd[3558]: PROT_TRACE: Events are waiting, need to contact ACS
Mon Jan 10 22:47:33 2022 daemon.info cwmpd[3558]: CONNECTION: Connecting to server retry 1.
Mon Jan 10 22:47:33 2022 daemon.info cwmpd[3558]: UBUS_CLIENT: external IP address is 58.162.0.13
Mon Jan 10 22:47:33 2022 daemon.err cwmpd[3558]: SSL: connect failed
Mon Jan 10 22:47:33 2022 daemon.err cwmpd[3558]: SSL: error:14090086:lib(20):func(144):reason(134)
Mon Jan 10 22:47:33 2022 daemon.err cwmpd[3558]: CONNECTION: Failed to connect to server.
Mon Jan 10 22:47:33 2022 daemon.info cwmpd[3558]: PROT_TRACE: Nb of retries 2
Mon Jan 10 22:47:33 2022 daemon.info cwmpd[3558]: PROT_TRACE: Min retry wait time 10
Mon Jan 10 22:47:33 2022 daemon.info cwmpd[3558]: PROT_TRACE: Max retry wait time 20
Mon Jan 10 22:47:33 2022 daemon.info cwmpd[3558]: PROT_TRACE: Effective retry wait time 18
Mon Jan 10 22:47:33 2022 daemon.info cwmpd[3558]: PROT_TRACE: LAST STATE: <Idle>
Mi sa che non gli piace il certificato di LetsEncrypt...
-
L'orario sul modem era corretto? se la risposta è si, allora l'unico colpevole può essere solo il certificato (credo ne stia generando uno crosssignato, forse si può provare quello che ha come chain di firma solo la nuova ISRG Root X1), se la risposta è no, mi sà che a tutto il giochino c'è da aggiungere (o far funzionare quello che c'è) anche un server NTP.
direi di assicurarci prima che abbiamo nel firmware una Root CA con cui possiamo giocare...
-
Salve a tutti,
di recente ci hanno installato il modem router in oggetto
al momento il firmware è
Release AGTHF_1.1.1.
Modem TIM HUB+ DGA4331
Fornitore del prodotto Technicolor
Nome prodotto AGMY2020
Versione Software 19.4
Sul server windows da sempre era configurata eperfettamente funzionate un semplice VPN PPTP. Passando alla fibra FFTH e al nuovo modem risulta impossibile collegarsi
L'errore segnalato dal server :
La causa più comune di questo problema è un firewall o un router tra il server e il client VPN
non configurato per consentire la trasmissione di pacchetti Generic Routing Encapsulation (GRE) (protocollo 47).
Pensando che il tecnico telecom avesse accesso a più opzioni di configurazione ho anche accettato il loro intervento ( a pagamento) ma dubito abbia capito il problema e dopo 10 minuti e un riavvio del modem ha fatto cadere la linea ed è sparito.
Premesso che ovviamente ho configurato al solito il port forwarding, mi chiedevo se qualcuno ha idea di come risolvere e/o abilitare GRE.
Grazie anticipatamente per l'eventuale aiuto.
buondì. dopo quasi 2 mesi di lotte con Telecom non ho risolto nulla ( se non che i tecnici cambiando di nascosto impostazioni router avevano bloccato la normale navigazione) e non mi han cambiato router. Forse sono leggermente OT ma vorrei profittare della vs competenza per sapere con cosa potrei sostituirlo e non avere problemi con protocollo x vpn. Fritz ?
-
il tch-exploit patchato per https non esiste ma un altro utente poco prima di te ha descritto in queste pagine in modo dettagliato cosa ha modificato in tch-exploit per riuscirci.
Parlando di azure, hai bisogno di un dispositivo che faccia dhcp server e routing verso internet da una interfaccia su vlan. Può essere sia un PC che un altro router completamente configurabile. Se il 4330 (hai davvero un 4330? dove l'hai preso? è quello di Telia?) è rootato e connesso ad internet allora si va bene. Altrimenti puoi usare il PC. In entrambi i casi devi configurare una interfaccia vlan (come credo tu abbia già fatto sul PC) ed aggiungere l'option con l'url dell'acs ai parametri del dhcp server.
puoi spiegare più dettagliatamente la strada Azure? come aggiungo l'option con l'url dell'acs ai parametri del dhcp server? di regola non devo cambiare il dns in modo che cerca di connettersi ai server telecom e invece lo reindirizzo su azure?
-
@lorenzocanalelc mi raccomando il certificato di let's encrypt assicurati che sia quello vero e non quello di staging
Appena posso provo a controllare se c'è la CA e in che date è valida.
-
Il problema, a parte il server NTP da integrare, potrebbe essere la chain del certificato:
di default ad oggi LE rilascia i certificati con questa chain..
---
Certificate chain
0 s:CN = community.letsencrypt.org
i:C = US, O = Let's Encrypt, CN = R3
1 s:C = US, O = Let's Encrypt, CN = R3
i:C = US, O = Internet Security Research Group, CN = ISRG Root X1
2 s:C = US, O = Internet Security Research Group, CN = ISRG Root X1
i:O = Digital Signature Trust Co., CN = DST Root CA X3
---è possibile richiederli (devo capire come si fa con quel client acme che ho usato..) saltando la DST Root CA X3 che potrebbe dar fastidio ai nostri dispositivi embedded:
---
Certificate chain
0 s:CN = asdasd.duckdns.org
i:C = US, O = Let's Encrypt, CN = R3
1 s:C = US, O = Let's Encrypt, CN = R3
i:C = US, O = Internet Security Research Group, CN = ISRG Root X1
---
Ad ora il risultato del server https che tiro su in tch-exploit è questo (test di @lorenzocanalelc ):
$ openssl s_client -connect xxxxx.duckdns.org:53871 -servername xxxxx.duckdns.org
CONNECTED(00000005)
depth=0 CN = xxxxxx.duckdns.org
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 CN = xxxxxx.duckdns.org
verify error:num=21:unable to verify the first certificate
verify return:1
depth=0 CN = xxxxx.duckdns.org
verify return:1
---
Certificate chain
0 s:CN = xxxxx.duckdns.org
i:C = US, O = Let's Encrypt, CN = R3
a:PKEY: rsaEncryption, 2048 (bit); sigalg: RSA-SHA256
v:NotBefore: Jan 19 11:25:50 2022 GMT; NotAfter: Apr 19 11:25:49 2022 GMT
---
...
Quindi forse a parte la chain faccio anche qualcosa di strano con la chiave privata (io non ho fatto altro che integrare questo esempio: https://git.rootprojects.org/root/acme.js/src/branch/master/examples/get-certificate-full.js )
-
puoi spiegare più dettagliatamente la strada Azure? come aggiungo l'option con l'url dell'acs ai parametri del dhcp server? di regola non devo cambiare il dns in modo che cerca di connettersi ai server telecom e invece lo reindirizzo su azure?
@LuKePicci
puoi rispondermi? lo so che sono un pò scarso però ti chiedo un pò di pazienza
-
La option con l'url la aggiungi seguendo le istruzioni del server dhcp che intendi utilizzare, quindi prima di potertele indicare devi scegliere. Non devi fare nulla di strano in termini di DNS perchè il technicolor non andrà a connettersi ai server telecom ma all'URL che indicherai, e che dovrà essere risolto correttamente.
@FrancYescO ti suggerirei di mettere un attimo da parte la generazione del certificato, fallo fare a certbot e metti le chiavi come parametri di https.createServer (o chi per esso).
-
ad ora già si può fare... la flag --https legge i file key.key e cert.cert che sono nella stessa folder
-
E così funziona? Intendo, se lo navighi da browser o curl su pc ti da errori https o no?
Poi c'è anche da verificare questa pagina, sia per la questione CA che per la versione OpenSSL: https://letsencrypt.org/docs/dst-root-ca-x3-expiration-september-2021/
-
Nel caso oltre LE ci sono altri provider con protocollo ACME per certificati gratuiti che magari non hanno problemi con la vecchia openssl e che comunque sono tra le CA del firmware
es: https://www.ssl.com/it/guida/ssl-tls-emissione-e-revoca-del-certificato-con-acme/
-
Nel caso oltre LE ci sono altri provider con protocollo ACME per certificati gratuiti che magari non hanno problemi con la vecchia openssl e che comunque sono tra le CA del firmware
es: https://www.ssl.com/it/guida/ssl-tls-emissione-e-revoca-del-certificato-con-acme/
quali sono gli altri provider?
-
Ne curl, ne browser danno problemi con i certificati generati da quell'accrocchio, mi son accorto di quelle stranezze solo con openssl s_client -connect.
Per provare direttamente sul modem mi servirebbe implementare anche il server NTP, altrimenti il certificato comunque risulta issued nel futuro e (giustamente) non credo non gli vada giù.
sto provando con il primo pescato dal cilindro, ma: https://github.com/luk3skyw4lker/node-ntp-sync/issues/10
La questione della chain/scadenza certificato descritta in quel link è proprio quello che stavo accennando prima.. e nello specifico:
In OpenSSL 1.0.x, a quirk in certificate verification means that even clients that trust ISRG Root X1 will fail when presented with the Android-compatible certificate chain we are recommending by default
Per gli altri provider direi che devono essere sia ACME che con verifica dns-01, altrimenti tantovale generarselo a mano il certificato..
-
Il provider ACME che ho citato come esempio supporta anche DNS-01
La question dell'NTP è essenziale poichè in config/cwmpd "option ssl_datecheck '1', però le prove falle tranquillamente su un 4130/2 pre-rootato impostando a mano la data da shell prima di collegarlo a tch-exploit
-
Il provider ACME che ho citato come esempio supporta anche DNS-01
La question dell'NTP è essenziale poichè in config/cwmpd "option ssl_datecheck '1', però le prove falle tranquillamente su un 4130/2 pre-rootato impostando a mano la data da shell prima di collegarlo a tch-exploit
sul sito di certbot sta scritto che per essere usato ci dev'essere un server online, ma non si può usare solo per fare i 2 file del certificato ? la data va impostata indietro ?
@lorenzocanalelc potresti dirmi quale firmware avevi in uso quando hai fatto il root ?
Ieri ho fatto il bridge sul DGA4130 tra le prime 2 porte Ethernet, portatile con tch-exploit collegato alla porta 1 (eth0 nel file network) e DGA4331 collegato alla porta 2 (eth1.83 nel file/etc/network ) ... sulla console, dopo aver lanciato tch, non compaiono neanche le query. Oltre al certificato ho comunque il problema della vlan sulla porta 83 che non ne vuole sapere di andare (provato sul portatile 1 con Windows, sull'altro portatile con Ubuntu e sul DGA4130 modificando il file/etc/network), quindi penso che sia un problema di firmware
-
Fatto ieri l’ultima volta sul firmware 1.1.1, comunque il server DHCP con la configurazione che stai usando lo devi fare nel DGA4130, non con tch-exploit
-
Fatto ieri l’ultima volta sul firmware 1.1.1, comunque il server DHCP con la configurazione che stai usando lo devi fare nel DGA4130, non con tch-exploit
quindi a te la vlan del dga4331 va?
io sul dga4130, come suggerito da @FrancYescO , ho fatto queste modifiche nel file /etc/config/network
aggiunto
config interface 'lanbridgevlan'
option ifname 'eth0 eth1.83'
option type 'bridge'
e tolto eth0 ed eth1 da
config interface 'lan'
option ifname 'eth0 eth1 eth2 eth3'
option type 'bridge'
se hai un altro router dove le interfacce si configurano allo stesso modo puoi provare?
come lo faccio il server dhcp sul 4130?
con tch lancio
tch.exe --acsurl="https://xxxxxx.duckdns.org" --https --dnsserver --ip="192.168.2.1"
dopo aver ovviamente aggiornato l' ip su duckdns e con i file del certificato nella stessa directory
-
Ho fatto il downgrade al firmware 1.0.1 e ho notato 2 cose nuove:
1. quando collego wan dga4331 ethernet portatile con vlan83 appaiono ### MESSAGE {"op":1,"htype":1,"hlen":6,"hops":0,"xid":2531991 ....., >>> DISCOVER, <<< OFFER, ### MESSAGE, >>> REQUEST, ### BOUND
2. la ethernet non si spegne più come accadeva prima
la domanda è: continua a non funzionare come si deve il dga4331 oppure bisogna modificare tch-exploit?
-
ho provato ad eseguire la strada che porta al link azure di @lorenzocanalelc ma non ci sono riuscito, o meglio, sulla console compaiono solo le query che il dga4331 prova a fare. Ho svolto le seguenti operazioni
1. assegnato 192.168.2.1 alla porta ethernet con vlan 83.
2. connesso la wan del dga alla ethernet e spento il wifi.
3. eseguito tch exploit tch-exploit-win.exe --acsurl="https://<<indirizzo lorenzo>>.azurewebsites.net/cwmpWeb/acs" --ip="192.168.2.1" --dhcponly
4. alla prima query attivato il tethering usb dello smartphone e tasto destro sulla interfaccia uscita sul pannello di controllo, condivisione connessione con la ethernet, cambio ip alla ethernet in 192.168.42.90 (l'ip della nuova interfaccia ha ip 192.168.42.87, non posso dare lo stesso ip alla ethernet)
5. non succede niente su console, arrivano soltanto query e basta ed il led lampeggia solo quando vengono inviate le query e non in maniera costante
cosa sbaglio? per favore aiutatemi altrimenti butto sto router che mi ha stancato
p.s. : su windows devo solo condividere la connessione dell'interfaccia che appare quando attivo il tethering oppure devo selezionare la porta ethernet e l'interfaccia e fare tasto dx -> connessione con bridging? e per fare il bridge è meglio usare il metodo della selezione delle 2 interfacce oppure è meglio usare il driver tap di openvpn?
p.s. 2: i comandi qui
https://hack-technicolor.readthedocs.io/en/latest/Upgrade/
dove vanno inseriti? mi devo connettere con winscp o putty(ssh) al dga4331? che ip porta,user e pass devo mettere?
p.s. 3: @lorenzocanalelc puoi controllare che lo script su azurre sia ancora funzionante?
-
Purtroppo al momento mi trovo fuori Italia, ho portato il 4331 con me, ma al momento ho una connessione NAT
straniera e senza IP pubblico, quindi mi sa che dovrò abbandonare le prove almeno finche non rientrerò.
Io ero riuscito a far dialogare il modem con il pc tramite scheda usb VLAN 83, avevo creato il certificato con let's encrypt
che era stato accettato e ancora lo uso per il mio server nginx, ma per il rootare dga4331 mi ero bloccato
sulla parte finale del programma tch e allora avevo iniziato a studiare il SOAP il nodejs e il protocollo TR-069
per costruirmi un programma fatto apposta.
Secondo voi sbloccare questo modem senza doverlo mettere su internet è fattibile?
Nella condizione in cui sono ora purtroppo è l'unica alternativa che ho!
Possibile che non ci siano altri exploit o buffer overflow da sfruttare?
-
@uomoukko
che strada hai scelto, quella di usare lo script docker su Azure o quella di fare tutto in tch ed usare il tch-exploit di francyesco? la seconda dovrebbe essere più semplice in virtù del fatto che non hai bisogno di fare il bridge, se poi ti prende il certificato let's encrypt sei a buon punto... che firmware hai? Hai spostato la data ?
il certificato tuo consiste nei 2 file uno con estensione cert e l'altro key?
Nel caso oltre LE ci sono altri provider con protocollo ACME per certificati gratuiti che magari non hanno problemi con la vecchia openssl e che comunque sono tra le CA del firmware
es: https://www.ssl.com/it/guida/ssl-tls-emissione-e-revoca-del-certificato-con-acme/
ho provato a seguire la guida ma non va
Please deploy a DNS TXT record under the name:
_acme-challenge.duckdns.org.
with the following value:
xxxx
Before continuing, verify the TXT record has been deployed. Depending on the DNS
provider, this may take some time, from a few seconds to multiple minutes. You can
check if it has finished deploying with aid of online tools, such as the Google
Admin Toolbox: https://toolbox.googleapps.com/apps/dig/#TXT/_acme-challenge.duckdns.org.
Look for one or more bolded line(s) below the line ';ANSWER'. It should show the
value(s) you've just added.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Press Enter to Continue
An unexpected error occurred:
Response received didn't match the challenge's requirements :: Response received didn't match the challenge's requirements. If you need assistance, please contact [email protected]
Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile C:\Certbot\log\letsencrypt.log or re-run Certbot with -v for more details.
dopo aver aggiunto la stringa xxxx + _acme-challenge su duckdns.org , aspettato e fatto la query TXT su https://www.whatsmydns.net/ , certbot dice che ci sono degli errori quando invia una post a https://acme.ssl.com/ejbca/acme/sslcom-dv-rsa/acct/ ... "Response received didn't match the challenge's requirements. If you need assistance, please contact [email protected]" (su https://www.whatsmydns.net dopo aver eseguito la query accanto ai server rimane la x rossa ma cliccandoci sopra la x appare cmq lo stesso nome in ingresso sotto ;ANSWER)
-
@dragonx
io ho usato uacme, non certbot. Potrei provare con certbot, anche se a me non serve l'automatismo,
infatti ogni 3 mesi il certificato scade, ma per i nostri "giochetti" sul modem va benissimo.
ti rimando al mio messaggio #148 https://www.ilpuntotecnico.com/forum/index.php/topic,84353.msg275046.html#msg275046 (https://www.ilpuntotecnico.com/forum/index.php/topic,84353.msg275046.html#msg275046)
dove spiego la procedura che ho seguito e, posso garantirti, funziona.
uacme lo puoi compilare con qualsiasi unix, anche con WSL per windows, per esempio.
Ti ricordo la procedura in breve...
Compili uacme, non installi un bel niente.
Lanci uacme, creando un account (accetti i termini con y)
Lanci uacme sul dominio, ti scrive due stringhe: TOKEN e KEY_AUTH
Ti chiede di accettare la challenge premendo y
tu invece vai nel tuo server http, crei il file .well-known/acme-challenge/TOKEN che contiene KEY_AUTH
e soltanto quando hai fatto premi y
acme avrà creato una cartella DOMINIO contenente la chiave pubblica e una cartella private/DOMINIO con la chiave privata
-
Secondo voi sbloccare questo modem senza doverlo mettere su internet è fattibile?
Si. Per come è ora la situazione ti conviene:
1) mettere su un server NTP sul pc che fornirà l'ora giusta al modem per la verifica del certificato
2) generare il certificato (dato che non abbiamo la certezza che quello di cui ho inserito l'autogenerazione funziona) e usare la versione che ho modificato di tch-exploit impastandogli tu il certificato SSL
quando il tizio della libreria NTP in node la sistema proverò a risolvere la 2 inserendo l'autogenerazione di un certificato che sicuramente il modem accetta.
-
@FrancYescO
uhm.. beh non dovrebbe essere difficile, il falso DNS server l'ho già scritto in C,
il DHCP con l'opzione 43 pure,
se si riuscisse a risolvere la cosa, beh, un falso server NTP (UDP 123) che semplicemente risponde al pacchetto inviato dal client col "pacchetto ricevuta" potrei anche fabbricarlo..
Intanto inizierò a guardare in dettaglio la RFC e poi qualcosa uscirà
cmq se qualcuno lo già costruendo in nodejs, io aspetto fiducioso haha
-
non lo sto costruendo, è già fatto, leggi qui https://www.ilpuntotecnico.com/forum/index.php/topic,84353.msg275846.html#msg275846
si occupa sia del server DNS che dell'opzione 43, crea anche un certificato con letsencrypt, ma a quanto parte non sono digeriti dal modem, quindi metticene di tuoi.
appena ho il server NTP che funziona torno a fare altre prove con i certificati, ma se riesci a beccarne di gratuiti sicuramente funzionanti.. segnala.
i binari già buildati li trovi qui: https://github.com/FrancYescO/tch-exploit/tree/master/release
-
ho riletto il tuo post... la guida ssl.com che consigliava lukepicci, c'è scritto che i record dnd devono essere di tipo TXT e non di tipo A
comunque ieri ho creato nuovi certificati con il plugin dns-duckdns for certbot ...stasera riprovo e vedo
il server ntp per forza bisogna includerlo in node-js?
la ricerca dei certificati la può fare lorenzocanalelc? perchè andare a tentativi è una cosa difficile, anche perchè tch non comunica se il router accetta o meno il certificato
-
@uomoukko come fai ad essere sicuro che il tuo certificato viene accettato?
-
@dragonx
ehm ... certezza assoluta non ce l'ho però facendo girare il mio DHCP server (sul pc della mia lan), il DGA4331 (che era collegato al pc tramite un interfaccia usb VLAN 83) prima si prendeva l'ip, e poi dopo il DHCPACK, lo mettevo in rete tramite condivisione di windows, dopodiche' il DGA4331 effettuava un POST sul dominio specificato dall'option 43 che puntava all'indirizzo esterno del vecchio modem DGA4130 e questo router aveva la porta HTTPS 443 forwardata su quel pc della mia lan dove girava un server https che effettivamente mi loggava il POST effettuati dal DGA4331.
A questo punto invece del solo server https, avrei dovuto metterci su un accrocco
che mi gestisse tutto il protocollo TR069.... e lì mi sono arenato perché non è banale (usa SOAP),
e soprattutto andavo al buio senza riscontri per lo scambio di pacchetti.
E anche per il fatto che non ci ho perso troppo tempo visto che dovevo partire.
Nota aggiuntiva: non ho dovuto gestire NTP, perche' il DGA4331 era in rete e quindi gestiva da solo la sincronizzazione coi time server.
-
Ciao a tutti, mi aggiungo a questo thread perché sto cercando anche io di sbloccare un Tim Hub+ Technicolor attraverso un server ACS custom (che da quel che ho capito è l'unico modo per ottenere una shell su questo router).
Ho configurato come spiegato da altri utenti in precedenza genieacs attraverso docker-compose sulle web app Azure (insieme alla config di provisioning che ha fatto lorenzocanalelc).
Dopo che il router parte, ho notato che si collega correttamente al server DHCP di tch-exploit, e in effetti dopo pochi secondi mi appare il dispositivo anche su geniacs, con l'unico problema che il comando di sblocco con il tasto wps non viene mai eseguito (premendolo fisicamente mi fa la sincronizzazione normale come al solito).
Sapete da cosa può essere causato? Aggiungo che utilizzo Linux come sistema operativo, per accedere alla rete uso la vlan 83, con prima la rete configurata in modalità manuale per poter usare il server DHCP e poi in modalità "sharing" (una delle opzioni di NetworkManager mi sembra).
Aggiungo qua degli screenshot, magari possono essere utili:
https://imgur.com/a/xNM2dgR
-
Sono tornato in attività con un po' di tempo da dedicare al router.
Allora: quelli che hanno effettivamente sbloccato il router, quale firmware avevano installato?
L'ultimo? lo chiedo per evitare (eventualmente) di fare un lavoro inutile.
-
Ciao a tutti, mi aggiungo a questo thread perché sto cercando anche io di sbloccare un Tim Hub+ Technicolor attraverso un server ACS custom (che da quel che ho capito è l'unico modo per ottenere una shell su questo router).
Ho configurato come spiegato da altri utenti in precedenza genieacs attraverso docker-compose sulle web app Azure (insieme alla config di provisioning che ha fatto lorenzocanalelc).
Dopo che il router parte, ho notato che si collega correttamente al server DHCP di tch-exploit, e in effetti dopo pochi secondi mi appare il dispositivo anche su geniacs, con l'unico problema che il comando di sblocco con il tasto wps non viene mai eseguito (premendolo fisicamente mi fa la sincronizzazione normale come al solito).
Sapete da cosa può essere causato? Aggiungo che utilizzo Linux come sistema operativo, per accedere alla rete uso la vlan 83, con prima la rete configurata in modalità manuale per poter usare il server DHCP e poi in modalità "sharing" (una delle opzioni di NetworkManager mi sembra).
Aggiungo qua degli screenshot, magari possono essere utili:
https://imgur.com/a/xNM2dgR
io lo ho temporaneamente accantonato, spero soltanto che la falla non sia stata chiusa, in tal caso bisogna emulare anche il server ntp e mettere un firmware vecchio... tu che versione di firmware hai?
adesso non ricordo bene, tu hai seguito il primo procedimento? hai collegato la porta wan del dga4331 al portatile linux con la vlan83 e poi il portatile linux collegato in wifi al router della rete internet? come hai fatto ad installare il server dhcp e la modalità sharing? puoi inviarmi in privato il link al tuo script Azure?
-
Per il firmware ho utilizzato il 1.0.1 proprio per assicurarmi che non avessero chiuso in qualche modo questa "falla" successivamente. Per la guida ho seguito come spiegato da lorenzocanalelc, anche se ho variato alcune cose dato che non uso macOS ma ho invece Linux. Per il collegamento come ho detto va tutto a buon fine e sniffando i pacchetti con WIreshark il router risulta connettersi pure all'ACS (e andando nei log cwmpd segnava transaction successful), ma il comando che modificava l'azione del tasto WPS è come se non venisse mai eseguito.
Tralaltro non so perché, ma riprovando adesso il router non riesce più connettersi alla webapp Azure perché non viene riconosciuto il certificato CA, come è possibile?
-
come hai fatto a vedere che il certificato CA non viene riconosciuto?
cmq ciò è accaduto perchè i certificati presenti nel firmware 1.0.1 sono scaduti e non hanno i certificati aggiornati... devi eseguire un server ntp (come diceva uomoukko)
i log cwmpd sono quelli presenti sul tuo azure?
puoi postare uno screenshot per impostare la modalità sharing?
puoi inviarmi l'url di azure in privato?
-
Ciao a tutti, l’ultimo che ho sbloccato mi pare fosse AGTHF_1.1.1, però con la versione 1.0.1 dovreste andare sul sicuro. Il problema riscontrato da @imdadadani l’avevo riscontrato anche io, non ricordo bene ma potrebbe forse nel mio caso era stato un aggiornamento del docker genieacs, e avevo risolto usando una versione vecchia. Purtroppo io stesso ho spesso problemi nella fase di invio del file sts… Mi pare che siano state diverse le cause: File STS corrotto (upload non andato correttamente), orario del router non aggiornato, versione genieacs con qualche problemino. Purtroppo non so darvi maggiori informazioni (Non ne sblocco uno da un po’…)
-
Sapresti dirmi quale versione utilizzare nel file di docker-compose? Controllando sul dockerhub esistono 3 tag, il latest di 5 anni fa e un altro di un anno fa. Quale dovrei utilizzare? (Edit: sbagliato repo, ne esistono molte di più)
(Ho risolto per quanto riguarda il problema del certificato CA, adesso ho messo tutto il locale e posso tecnicamente fare summon dalla webui di genieacs)
-
Ciao a tutti, l’ultimo che ho sbloccato mi pare fosse AGTHF_1.1.1, però con la versione 1.0.1 dovreste andare sul sicuro. Il problema riscontrato da @imdadadani l’avevo riscontrato anche io, non ricordo bene ma potrebbe forse nel mio caso era stato un aggiornamento del docker genieacs, e avevo risolto usando una versione vecchia. Purtroppo io stesso ho spesso problemi nella fase di invio del file sts… Mi pare che siano state diverse le cause: File STS corrotto (upload non andato correttamente), orario del router non aggiornato, versione genieacs con qualche problemino. Purtroppo non so darvi maggiori informazioni (Non ne sblocco uno da un po’…)
ah detto che ha un problema con la CA dopo aver messo il firmware vecchio... che versione bisogna mettere del docker acs?
-
Sapresti dirmi quale versione utilizzare nel file di docker-compose? Controllando sul dockerhub esistono 3 tag, il latest di 5 anni fa e un altro di un anno fa. Quale dovrei utilizzare? (Edit: sbagliato repo, ne esistono molte di più)
(Ho risolto per quanto riguarda il problema del certificato CA, adesso ho messo tutto il locale e posso tecnicamente fare summon dalla webui di genieacs)
1 che significa che hai messo in locale?
2 come hai fatto a vedere che non accettava la CA ?
3 cosa è summon?
-
@imdadadani
Questo dovrebbe essere l'ultimo yml che ho usato
# Use this file to pull GenieACS from DockerHub #
version: "3"
services:
# Dockerfile here: https://github.com/docker-library/mongo/blob/6932ac255d29759af9a74c6931faeb02de0fe53e/4.0/Dockerfile#
mongo:
image: mongo:4.1
restart: always
container_name: "mongo"
environment:
- MONGO_DATA_DIR=/data/db
- MONGO_LOG_DIR=/var/log/mongodb
volumes:
- data_db:/data/db
- data_configdb:/data/configdb
expose:
- 27017
networks:
- genieacs_network
# Dockerfile here: https://hub.docker.com/r/drumsergio/genieacs/dockerfile
genieacs:
depends_on:
- 'mongo'
image: drumsergio/genieacs:1.2.3
restart: always
container_name: "genieacs"
environment:
- GENIEACS_UI_JWT_SECRET=coseacasocoseacasocoseacasocoseacaso
- GENIEACS_CWMP_ACCESS_LOG_FILE=/var/log/genieacs/genieacs-cwmp-access.log
- GENIEACS_NBI_ACCESS_LOG_FILE=/var/log/genieacs/genieacs-nbi-access.log
- GENIEACS_FS_ACCESS_LOG_FILE=/var/log/genieacs/genieacs-fs-access.log
- GENIEACS_UI_ACCESS_LOG_FILE=/var/log/genieacs/genieacs-ui-access.log
- GENIEACS_DEBUG_FILE=/var/log/genieacs/genieacs-debug.yaml
- GENIEACS_EXT_DIR=/opt/genieacs/ext
- GENIEACS_MONGODB_CONNECTION_URL=mongodb://mongo/genieacs
- GENIEACS_FS_URL_PREFIX=https://NOMETUAAPP.azurewebsites.net/
- GENIEACS_UI_PORT=3000
expose:
- 3000
- 7547
- 7567
volumes:
- opt_volume:/opt
networks:
- genieacs_network
# Dockerfile here: https://github.com/Tivix/docker-nginx/blob/6f8872d582dbd6e6272fd2f134cccde694b9b2ef/Dockerfile
docker-nginx:
depends_on:
- 'genieacs'
image: tivix/docker-nginx
restart: always
environment:
NGINX_PORT: "8080"
PROXY_TARGETS: "genieacs:3000,genieacs:7547,genieacs:7567"
PROXY_LOCATIONS: "/,/cwmpWeb,~* ^/[^/]+\\.(sts|rbi|bli|rmt|rms)$"
container_name: "docker-nginx"
ports:
- "8080:8080"
networks:
- genieacs_network
volumes:
data_db:
data_configdb:
opt_volume:
networks:
genieacs_network:
Guardandolo ho ricordato che una volta non mi funzionava perché avevo dimenticato di aggiornare il parametro GENIEACS_FS_URL_PREFIX :facepalm:
-
Sono riuscito a sbloccare il router, non ho utilizzato genieacs per farlo in quanto non mi andava in nessun modo, ma ho sfruttato tch-exploit con delle variazioni:
1. Dovete avere un dominio con un certificato ssl valido (io ho usato Let's Encrypt) che punta verso il vostro ip del computer in locale (deve essere raggiungibile dal router, nel mio caso era 10.42.1.1)
2. Configurate una istanza di NGINX nel vostro computer con proxy pass verso http://localhost:PORTA (su PORTA metteteci quello che volete) e ssl attivo con un certificato valido
3. Avviate una istanza di tch-exploit con dhcponly e l'url acs con lo stesso dominio di prima che ha il certificato valido
sudo ./tch-exploit-linux --acsurl="https://VOSTRODOMINIO.xyz/" --ip="10.42.1.1" --dhcponly4. Resettate il Tim Hub+ e attendete finché il router si collegherà al server DHCP
5. Appena il router si è connesso, avviate un'altra istanza di tch-exploit con questa volta il server acs attivo e la stessa porta di prima che avete impostato su NGINX:
sudo ./tch-exploit-linux --port=4346 --ip="10.42.1.1" 6. Dopo qualche instante, dovreste iniziare a vedere nel log del programma delle richieste HTTP, infine vi verrà chiesto di premere il tasto WPS
7. Connettetevi via SSH, e buon divertimento!
Guida scritta velocemente, potrei fare una spiegazione più completa.
1 che significa che hai messo in locale?
2 come hai fatto a vedere che non accettava la CA ?
3 cosa è summon?
1. Avevo configurato prima genieacs direttamente nel mio computer, anche se dopo è diventato inutile (vedi la guida all'inizio).
2. Ho utilizzato Wireshark collegandomi nella vlan dove il Tim Hub+ si connette.
3. Una funzione di Genieacs che è come se "chiamasse" il router per vedere lo stato.
-
continuo a non capire come sbloccare sto coso...
1. il dominio è un nome a caso? come devo fare il certificato con Let's encrypt ? cosa vuol dire che punta al vostro pc in locale? per farlo puntare devo usare il file host ed associare ip computer con url del dominio?
2. per creare un istanza di nginx su linux è sufficiente scrivere da terminale .\ ?cosa è proxy pass? devo creare un altro certificato?
3. come faccio a capire che il router si è connesso al server dhcp?
-
1. Il dominio deve essere uno valido, se non vuoi spendere soldi basta che ne fai uno da Freenom (tipo quelli .tk), per il certificato Let's Encrypt puoi farlo direttamente dal tuo computer utilizzando la challenge DNS da certbot
2. Basta che lo installi con il tuo package manager preferito e cambi la configurazione (solitamente sta su /etc/nginx/nginx.conf o /etc/nginx/sites-enabled/default)
3. Il led "WEB" diventa verde
-
cosa è e come configuro proxy pass? è una cosa di linux o nginx?
-
È una configurazione del virtual server di NGINX, questo è come l'ho configurato io:
server {
listen 80 default_server;
listen [::]:80 default_server;
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
root /var/www/html;
server_name _;
location / {
proxy_pass http://localhost:4346;
}
ssl_certificate /etc/letsencrypt/live/DOMINIO/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/DOMINIO/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
}
-
@imdadadani
Ti prego fai una bella guida dettagliata e completa. Siamo tutti interessati allo sblocco
senza scomodare complicati account remoti e Genieacs, insomma come hai fatto tu,
usando unicamente un dominio autenticato + tch-exploit.
Personalmente, stavo cercando di capire come effettuare lo sblocco a partire da un sistema WINDOWS,
anche al limite usando WSL linux ma senza dover necessariamente installare un intero linux.
Penso che in teoria la cosa dovrebbe essere fattibile ugualmente.
Non mi sono chiari alcuni passaggi:
Il DGA4331 con firmware 1.0.1 viene collegato in porta WAN/LAN ad una scheda di rete presente
nel pc della nostra rete locale (pc che va su internet tramite il router di casa)
usando per la scheda il VLAN ID=83, corretto?
Il dominio "esempio.com" registrato gratis, punta al mio indirizzo esterno del modem
che corrisponde al mio ip tramite dynamic dns sul modem che va su internet,
e quando il DHCP fittizio di tch-exploit assegna l'ip al DGA4331
gli dice tramite option 43 di andare a fare un POST in "https://esempio.com:port" per attivare cwmp
Ma allora invece di scomodare un'istanza di nginx, non basterebbe un port forward del "modem ci da
internet" che rediriga il POST generato dal DGA4331 in arrivo sulla porta esterna, e lo
trasferisca sulla porta lan del pc della nostra rete locale su cui gira tch-exploit
autenticato per il dominio da cert.pem/key.pem ?
Come hai fatto a dare internet alla scheda di rete su cui è connesso il DGA4331?
Io ho usato Proprieta'-->Condivisione avendo l'accortezza di lavorare sui registri per dare alla scheda pc
un indirizzo che mi piacesse (58.162.0.1) anche perché mi hanno detto che gli indirizzi 10.x.x.x sono
percepiti come locali e quindi non validi. cioè ho fatto così:
(normalmente il valore del server per la condivisione Windows è settato a 192.168.137.1)
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters]
"ScopeAddress"="58.162.0.1"
"ScopeAddressBackup"="58.162.0.1"
Questa condivisione però crea automaticamente un altro server dhcp così alle volte il
DGA4331 risponde al server dhcp della condivisione windows e si riassegna un ip diverso.
In questo caso, essendosi sganciato dal dhcp server del tch-exploit, non
sente l'opzione 43 del tch-exploit che lo avrebbe fatto POSTare
e quindi tanti saluti.
-
Si come hai detto tu io ho collegato il router alla porta WAN.
Da Linux c'è una opzione molto comoda che mi permette di condividere in automatico la rete selezionando il tipo di connessione (e mi setta sempre l'ip del computer a 10.42.1.1 quindi è facile ricordarselo), inoltre di default non ha un server DHCP quindi è la combinazione perfetta se voglio condividere internet in questo modo. Se su Windows esiste una opzione simile (non ho idea io, non lo uso da anni) allora non bisogna installare altri sistemi operativi per farlo funzionare.
Per quanto riguarda tch-exploit, se si potesse integrare la modalità https dentro quel programma NGINX sarebbe completamente evitabile dato che l'unica cosa che fa è proxare le richieste sotto tls.
-
E' stato già fatto, ma richiede qualche rifinitura per essere mergiato
-
È una configurazione del virtual server di NGINX, questo è come l'ho configurato io:
server {
listen 80 default_server;
listen [::]:80 default_server;
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
root /var/www/html;
server_name _;
location / {
proxy_pass http://localhost:4346;
}
ssl_certificate /etc/letsencrypt/live/DOMINIO/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/DOMINIO/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
}
ma quello è il file nginx.conf in /etc/conf ? io l'ho installato su ubuntu ed è diverso ... a me l'elemento HTTP (json?) appare così
http {
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
##
# SSL Settings
##
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
##
# Logging Settings
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##
# Gzip Settings
##
gzip on;
# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
##
# Virtual Host Configs
##
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
cancello quello che c'è ed aggiungo il tuo oppure aggiungo il tuo codice senza cancellare?
edit nginx.conf test failed....non me lo fa avviare
-
poi fullchain.pem e privkey.pem come li ottengo? inizialmente i primi certificati che feci erano cert.ert e key.key, poi con uomoukko ho fatto i certificati cert.pem e key.pem... come faccio questi ultimi certificati?
-
piccolo o.t.: come compilo tchexploit presente qui https://github.com/BoLaMN/tch-exploit su linux x86 (o su windows però che l'eseguibile sia in grado di funzionare su linux x86)?
-
Veramente la compilazione serve a pacchettizzare tutto il programma, ma
non si deve necessariamente compilare niente, perché tch-exploit contiene anche
i files nodejs per cui ti basta avere node nel sistema operativo
In caso affermativo si esegue index.js che si trova nella sottocartella dist.
Come faccio a verificare che node funzioni? Basta creare un testo di esempio: esempio.js
#!/usr/bin/node
console.log("Salve, mondo\n");
e poi eseguirlo con
$ node esempio.js (o a seconda dei settaggi $ node ./esempio.js)
Salve, mondo
oppure, se si vuole accorciare il comando,
grazie alla prima riga #!/usr/bin/node (e l'eseguibilità chmod u+x esempio.js),
$ esempio.js (o anche $ ./esempio.js)
Salve, mondo
Adesso scrivo un esempio più interessante che apre
un server https alla port 8443 lo chiamo server.js
#!/usr/bin/node
const myhttps = require('https');
const myfs = require('fs');
const opzioni = {
key: myfs.readFileSync('key.pem'),
cert: myfs.readFileSync('cert.pem')
};
function sfunz(req, res) {
res.writeHead(200);
res.end('hello world\n');
}
myhttps.createServer(opzioni,sfunz).listen(8443);
key.pem e cert.pem vanno messi nella cartella corrente e il server parte con
$ server.js (non visualizza niente, è normale)
per testarlo, in un'altra finestra
$ openssl s_client -connect localhost:8443
GET / HTTP/1.0 (due volte invio)
hello world
o ancora, usando curl
$ curl -k https://localhost:8443
hello world
... tante belle parole ma non sono ancora riuscito a sbloccare il modem :(
-
@uomoukko
Grazie della risposta, ma ho optato per un altra soluzione (purtroppo peggiore): ovvero creare una macchina virtuale su windows 10 64 bit con linux ubuntu x64 (con vmware non mi vedeva proprio l'adattatore usb ethernet, co virtualbox invece linux mi vede l'adattatore usb ma non mi fa selezionare la connessione ethernet...appare ma è disabilitata)
comunque vedendo il tuo codice del post precedete i file key.pem e cert.pem non vanno bene, devono essere fullchain e privkey... per maggiori informazioni a riguardo @imdadadani dovrebbe saperti dirti meglio
-
@dragonx
mah veramente a me funziona, ho fatto un port forward della porta esterna 8443 sulla porta interna 8443
sul pc ho fatto girare il programmino nodejs del messaggio precedente.
e questo è il log di curl (SENZA -k fa la verifica) (ho cambiato domini e ip per privacy)
$ curl -v https://mionome.yyy.com:8443
* Trying 79.44.001.001:8443...
* Connected to mionome.yyy.com (79.44.001.001) port 8443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
* CAfile: /etc/ssl/certs/ca-certificates.crt
* CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN, server accepted to use http/1.1
* Server certificate:
* subject: CN=mionome.yyy.com
* start date: Feb 3 18:50:23 2022 GMT
* expire date: May 4 18:50:22 2022 GMT
* subjectAltName: host "mionome.yyy.com" matched cert's "mionome.yyy.com"
* issuer: C=US; O=Let's Encrypt; CN=R3
* SSL certificate verify ok.
> GET / HTTP/1.1
> Host: mionome.yyy.com:8443
> User-Agent: curl/7.74.0
> Accept: */*
>
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* old SSL session ID is stale, removing
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Date: Mon, 18 Apr 2022 07:28:54 GMT
< Connection: keep-alive
< Keep-Alive: timeout=5
< Transfer-Encoding: chunked
<
hello world
* Connection #0 to host mionome.yyy.com left intact
Mi permetto di aggiungere che per testare la chiave privata
C:\> openssl rsa -in key.pem -check
e per testare il certificato (la validità e il nome CN di dominio)
C:\> openssl x509 -in cert.pem -text -noout
-
@uomoukko non so che dirti, cerco di replicare ciò che ha fatto @imdadadani per essere sicuro... attualmente sono bloccato, sul portatile vecchio non posso eseguire tch exploit (perchè la cpu è x86), su quello aziendale la macchina virtuale mi rileva l'adattatore usb ma nelle connessioni l'interfaccia risulta non disponibile
per adesso la cosa sicura è che con il firmware 1.0.1 dovrebbe funzionare il tutto....
-
una giornata intera a smanettare con tch-exploit con i javascript modificati per https,
in alcuni casi arrivo al punto in cui chiede di premere il pulsante wps, (ma un tocco o tenere premuto?)
poi finalmente si accende la luce gialla... poi diventa rossa... (ci sono avvisi se la procedura ha avuto successo?)
cmq ssh non si apre. e allora... pensavo altre strade... ditemi se sbaglio
il modem ha normalmente aperte le porte:
80 http
443 https
53 dove gira pdnsd (una cache dns)
5060 credo sia sip "Technicolor / VCNT-3 / AGTHF_1.0.1 / AGTHF_1.0.1 Status: 486 Busy Here"
9443 un altro https (a che serve?)
Non sarebbe possibile indagare? per esempio per il pdnsd inferiore alla 1.2.4 c'è un exploit
https://www.cvedetails.com/cve/CVE-2006-2077/ che versione ha il modem? e i firmware precedenti?
-
Ok in questo post cercherò di fare una guida più completa su come ho sbloccato il Tim Hub+.
Requisiti:
- Un dominio con un certificato ssl valido (potete prenderne uno gratis da Freenom e poi generare un certificato con certbot, non sto a spiegare come) che punta verso 10.42.1.1 (dopo verrà spiegato perché).
- Un computer con una porta Ethernet e che abbia come sistema operativo una distribuzione Linux desktop (NON funzionano le macchine virtuali).
- Un Tim Hub+ con qualsiasi firmware (a me è andato con il 1.1.1).
Preparazione delle interfacce di reti:
Il Tim Hub+ ascolta di default richieste da parte di un server DHCP sulla VLAN 83, dobbiamo quindi crearne una dal nostro computer per procedere.
- Aprite il terminale e eseguite nm-connection-editor, si aprirà una finestra con la configurazione della rete.
- Cliccate sulla interfaccia che corrisponde alla vostra porta Ethernet, andate nelle impostazioni IPv4 e selezionate su metodo "Condiviso con altri computer", dopodiché salvate.
- Cliccate nel bottone "+" che sta al fondo della finestra e selezionate come tipo di connessione VLAN.
- Dopo aver creato la VLAN vi apparirà una finestra per la configurazione, impostate come "Interfaccia superiore" quella che corrisponde alla vostra porta Ethernet fisica, impostate 83 come Id, e selezionate nuovamente "Condiviso con altri computer" sulle impostazioni IPv4, infine salvate.
- La VLAN dovrebbe attivarsi in automatico una volta creata, in caso contrario attivatela voi dal pannello delle reti.
Risultato che dovreste avere della configurazione di rete: https://imgur.com/a/Ufkqa07 (https://imgur.com/a/Ufkqa07)
Sblocco del router [Metodo "NGINX"]:
tch-exploit è l'utility che useremo per sbloccare il router. Dato che però al momento non permette di configurare un server HTTPS, utilizzeremo NGINX come strada alternativa che farà da reverse proxy.
Ho compilato questa build di NGINX statica da utilizzare appositamente come proxy per le richieste dell'ACS, potete scaricarla qui: https://drive.google.com/file/d/1CNx8ze2GuM8vBDfbwrD9HwHkjKgxIqsw/view (https://drive.google.com/file/d/1CNx8ze2GuM8vBDfbwrD9HwHkjKgxIqsw/view)
La configurazione di base (nginx.conf) punta già verso un altro server HTTP, dovete soltanto aggiungere il vostro certificato SSL valido (fullchain.pem e privkey.pem dentro conf). Ricordatevi di avviarlo eseguendolo da terminale con ./nginx (attraverso i permessi root in caso utilizziate la porta 443).
Configurato il nostro reverse proxy, dobbiamo ora procedere con la fase più importante:
1. Scaricate tch-exploit da qui: https://github.com/BoLaMN/tch-exploit/releases/tag/2.0.2 e estraetelo.
2. Aprite il terminale nella directory dove si trova il programma e eseguite tch-exploit con questa configurazione:
sudo ./tch-exploit-linux --acsurl="https://VOSTRODOMINIO.xyz/" --ip="10.42.1.1" --dhcponly
Rimpiazzate VOSTRODOMINIO.xyz con quello che punta a 10.42.1.1
(L'ip 10.42.1.1 viene impostato automaticamente dalla configurazione delle interfacce di default e sarà usato dal router come gateway per la rete)
3. Preparate un altro terminale sempre nella stessa cartella ma con questo comando SENZA eseguirlo:
sudo ./tch-exploit-linux --port=4346 --ip="10.42.1.1"
(La porta è la stessa che ho impostato di default su nginx.conf)
4. Se non lo avete già fatto, collegate la porta ethernet del vostro computer a quella WAN del router e attivate la interfaccia.
5. Fate il ripristino di fabbrica al Tim Hub+, se non volete accedere alla webui vi basta tenere premuto il tasto reset per circa 8 secondi.
6. Attendete il primo avvio del router, se avete collegato correttamente le porte dovreste vedere dopo un po' il led "Linea" diventare verde.
7. Appena il led "Web" diventa verde (dovreste anche notare delle informazioni apparire nei log di tch-exploit), eseguite l'altro comando comando che avevate preparato.
8. Dopo qualche secondo dovreste iniziare a vedere delle richieste HTTP nel processo che avete appena eseguito, e infine un messaggio dove vi viene chiesto di premere il tasto WPS.
9. Premete il tasto WPS (singola pressione), se non appare nessun led significa che il comando di sblocco è stato eseguito.
10. Connettetevi con il vostro client ssh preferito a [email protected].
Spero di essere stato un po' chiaro con la procedura di sblocco, nel caso abbiate dubbi chiedetemi pure.
PS: Questa guida può funzionare anche nello Smart Modem Plus e nel Tim Hub "liscio" se possiedono almeno il firmware 2.3.0, ovviamente per questi modelli rimane consigliato il classico sblocco attraverso downgrade e autoflashgui in quanto più semplici.
-
CE L'HO FATTAAAAAAA, MA DA WINDzozZ.... ora vi spiego:
MATERIALI OCCORRENTI:
- Firmware tutti, almeno ad oggi fino al AGTHF_1.1.2_001
quindi non state ad usare vecchi firmware se no dovrete fare upgrade
- un dominio tipo let's encrypt con data scadenza valida
e quindi le relative chiavi pubbliche e private
- il settaggio dynamic dns sul proprio modem di casa che ridiriga
il dominio in questione sull'Ip dinamico del proprio modem di casa
- una scheda di rete aggiuntiva con VLAN ID,
- Windows con Linux WSL per far girare nginproxy e tch-exploit-linux,
- Modifiche al registro di Windows per Internet Connection Sharing,
- nginxproxy,
- tch-exploit-linux.
PROCEDIMENTO:
Ho scaricato nginxproxy, compilato staticamente da @imdadani che ho estratto su windows WSL.
(ah, ricordatevi di aggiungere nobody su /etc/group se non ce l'avete
e ricordatevi di lanciarlo da root perché lega pure la porta 80 anche se non serve)
Nella cartella conf ci copiate il file di certificato pubblico multiplo e quello di chiave privata.
i nomi non hanno alcuna rilevanza. Ricordatevi però che sotto le rispettive voci
ssl_certificate ci metterete il file con la catena di certificati (cert.pem da me)
ssl_certificate_key ci metterete la chiave privata (key.pem da me)
La chiave pubblica, la mia, sono 3 blocchi che iniziano con -----BEGIN CERTIFICATE-----
che contengono i tre certificati della mia catena di certificazione che parte da ISRG Root X1, continua con R3 e infine www.miodominio.com.
La chiave privata è un unico blocco che inizia con -----BEGIN RSA PRIVATE KEY-----
Editate nginx.conf per specificare i nomi delle chiavi che userete.
Sempre nella nginx.conf settate, nella listen
la PORT LAN sulla quale avete ridiretto la connessione ACS che
arriverà sul modem che fornisce internet, e andrà al pc locale
tramite port-forward.
io avevo ridiretto la porta WAN TCP x.x.x.x:8443 sulla LAN TCP 192.168.1.30:8443
dove 192.168.1.30 è l'Ip del pc con Windows usato per il sbloccare il modem.
Quindi il mio nginx dovra' ascoltare la porta LAN 8443. Ci metto quindi
listen 8443 ssl default_server;
listen [::]:8443 ssl default_server;
Tutto bello ma come verifico di non aver sbagliato?
Sempre in nginx.conf, modifico temporaneamente il proxy_pass
e lo faccio puntare ad un server qualsiasi, ma che sia http
proxy_pass http://www.slackware.com;
Proviamo? Dal pc di casa eseguo:
openssl s_client -connect www.miodominio.com:8443
GET / HTTP/1.0 (due volte invio)
a questo punto la richiesta di connessione (SSL) su
https://www.miodominio.com:8443
arriva all'IP pubblico del mio modem-internet e tramite
port-forward del modem-internet va sulla porta locale (SSL)
https://192.168.1.30:8443
che è gestita da nginxproxy che praticamente
trasforma https in http e ridirige su
http://www.slackware.com sulla porta 80
Quindi se tutto funziona, dopo i due INVIO,
dovrete veder passare i codici html della pagina di www.slackware.com.
Rimettete pure proxy_pass http://localhost:4346; nella conf. di nginxproxy.
(il numero di porta può essere cambiato, ma deve corrispondere allo stesso
numero di porta nel successivo comando tch-exploit-linux)
Avevo già una scheda di rete USB funzionante sotto Windows con VLAN ID modificabile
Ho connesso la LAN/WAN del DGA4331 sul connettore della scheda di rete USB
e gli ho assegnato (Proprietà-Configura-Avanzate) VLAN ID 83
Disabilito momentaneamente la scheda di rete che va su Internet.
Se non l'ho fatto prima RESETTO il modem alle impostazioni di fabbrica
questo perché un modem con configurazione estesa ha il cwmp disabilitato.
Dal menù del modem: Gateway-Configurazione-Reset
Se è già stato resettato riavvio il DGA4331, ma non è necessario:
basta scollegare e ricollegare il cavo WAN/LAN per far riassegnare gli IP
Adesso devo fornire due IP, uno per entrambi i lati del cavo
che collega il pc al DGA4331.
Uso un mio programma DHCP che ascolta i mac-address e assegna
degli IP prestabiliti, che quindi sono sempre gli stessi
sempre 58.162.0.12 per il mac corrispondente al DGA4331
e sempre 58.162.0.1 per il mac corrispondente alla scheda-usb con VLAN lato pc
Vengono assegnati due Ip dinamici, ma senza lease, quindi l'IP dura un tempo infinito.
Il programma poi tramite option 43 manda solo al DGA4331 (58.162.0.12)
il comando di connessione a https://www.miodominio.com:8443
Credo si possa fare la stessa cosa con tch-exploit-linux usando l'opzione --dhcponly
# ./tch-exploit-linux --acsurl="https://www.miodominio.com:8443/" --ip="58.162.0.1" --dhcponly
Aspetto che il mio programma mi segnali che ha dato l'ACK
alla richiesta DHCP su entrambi i lati, (quindi i due IP sono confermati),
e noto che non appena il modem riceve l'IP accende di verde Power Linea
e finalmente anche Web (che inizia a lampeggiare)
Infatti il modem ha ricevuto insieme all'Ip anche l'opzione 43
che lo comanda di collegarsi.
Allora abilito la scheda di rete che mi da internet,
quella che avevo prima disabilitato, e poi la condivido
(Proprietà-Condivisione-Consenti ad altri utenti di collegarsi...)
avendo l'accortezza di aver settato le chiavi di registro di Windows
così da far condividere Internet tramite routing su IP 58.162.0.1
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters]
"ScopeAddress"="58.162.0.1"
"ScopeAddressBackup"="58.162.0.1"
così l'IP della scheda sul pc viene ad essere identico a quello
che gli ho dato io via mio DHCP). Ma questa condivisione mi attiva
un secondo DHCP di Windows che assegna ip su 58.162.0.X
e che quindi potrebbe far cambiare l'IP del modem,
(ma non del pc, 58.162.0.1 perché è fissato dalla condivisione internet)
Test eventuale: se io dal pc facendo ping 58.162.0.12 sento la risposta,
significa che il modem DGA4331 è ancora con quell'IP quindi proseguo,
se no eventualmente rifaccio la procedura.
Nota aggiuntiva: Se dovessi rifar tutto e quindi ri-DISABILITARE lato pc
la scheda di rete collegata al DGA4331, ho notato che disabilitando
la scheda di rete condivisa, il DHCP di Windows rimane ATTIVO.
Quindi PRIMA tolgo la Condivisione, POI disabilito la scheda di rete)
Adesso, sempre da WSL, dopo aver precedentemente estratto
tch-exploit-linux, lo lancio:
# ./tch-exploit-linux --port=4346 --ip="58.162.0.1"
Quindi ricapitolando, l'opzione 43 del DHCP comanda il modem
in 58.162.0.12 di collegarsi al https://www.miodominio.com:8443
la connessione viene ridiretta dal port-forward a https://192.168.1.30:8443
la connessione viene presa da nginxproxy che a sua volta la
dirotta in http://192.168.1.30:4346
e questa connessione viene gestita da tch-exploit-linux
Alla fine vedrete scorrere un sacco di scritte verdi,
vedrete passare il file in bash che modifica il dropbear ecc
>>> .STS REQUEST
poi vedrete questo
*** PRESS AND HOLD THE WPS BUTTON ON YOUR GATEWAY ***
Toccate il tasto WPS con un tocco breve, se funziona non si deve accendere
la luce gialla del WPS e nemmeno rossa ma vedrete
>>>WPS CALLBACK
e poi All done
A questo punto tch-exploit SI FERMA e restituisce il prompt
Questo è il segno che tutto è andato bene.
Cambiate i cavi, e collegatevi alla porta LAN del DGA4331
che vi assegnerà un IP 192.168.1.x e lanciate ssh
$ ssh 192.168.1.1 -l root
[email protected]'s password:
BusyBox v1.31.0 () built-in shell (ash)
_______ __ __ __
|_ _|.-----.----.| |--.-----.|__|.----.-----.| |.-----.----.
| | | -__| __|| | || || __| _ || || _ | _|
|___| |_____|____||__|__|__|__||__||____|_____||__||_____|__|
N E X T G E N E R A T I O N G A T E W A Y
--------------------------------------------------------------------
NG GATEWAY SIGNATURE DRINK
--------------------------------------------------------------------
* 1 oz Vodka Pour all ingredients into mixing
* 1 oz Triple Sec tin with ice, strain into glass.
* 1 oz Orange juice
--------------------------------------------------------------------
:clap:
Nota finale: la procedura una volta avviata è facile, riesce alla prima
e soprattutto è ripetibile.
Infatti dopo aver provato col firmware 1.0.1 ho messo config estesa
per fare gli aggiornamenti del firmware, poi ho aggiornato alla 1.1.2_001,
poi ho resettato per togliere la config estesa
e ho ottenuto di nuovo il root YEAH!
-
Ottimo lavoro, non sapevo era possibile fare così con Windows.
Tu hai per caso provato a mettere la tch-nginx-gui? Avevo letto che non era funzionante su questo router, quindi non ho provato.
-
ehm sinceramente non sapevo neanche che esistesse.
Una cosa piuttosto banale da fare per semplificare è modificare il tch-exploit per
fargli accettare HTTPS Io qualche idea l'avevo buttata giù messaggi fa
e sembrava funzionicchiare, ma dovrebbe essere BoLaMN a fare un upgrade
breve OFF-TOPIC.
Al fine di sbloccare il modem avevo provato ad installare
Ubuntu jammy 22.04 in un hard disk separato, ma ho avuto parecchi casini perché
non volevo assolutamente cambiare BIOS in UEFI e perché volevo mantenere MBR
e ovviamente l'installazione non mi si avviava.
Poi ho avuto casini con la chiavetta usb+rufus che andava scritta con il sistema dd
e non col sistema standard altrimenti l'installazione si bloccava a metà!
dopo mezza giornata di imprecazioni ce l'ho fatta ma rispetto a Windows-WSL(Ubuntu),
Ubuntu desktop lo trovo macchinoso e ha un casino di processi attivi.
Penso che per fare gli esperimenti tornerò all'essenziale Slackware (adesso 15.0)
però è innegabile che WSL è pratico, non richiede reboot, ti lascia Windows,
insomma per la gioia di Bill Gates, se non si hanno esigenze particolari,
WSL ti toglie la voglia di un linux vero
torno ON TOPIC
Procedura per le password "complicate"
andate subito ad editare... aspettate: AVETE FATTO IL BACKUP?
Non vorrete mica sbagliare e dover resettare il modem!
# cp file file.new crea un file duplicato con data corrente
# mv file file.orig questo archivia il file con la data originale
# mv file.new file ora possiamo editare file con data corrente
lo so, sembra una banalità, ma questa procedura ha il vantaggio
che lascia inalterate le date originali dei files.
per togliere di mezzo la password complicata di login del modem
editate:
/www/docroot/js/password_20211011100328.js
function passwordCheck(password)
{
var level = 0;
nella variabile level cambiate da 0 a 5 e potrete mettere qualsiasi password (anche complicata)
per togliere di mezzo la password complicata dell'accesspoint
editate:
/www/docroot/js/wireless-ap-modal-newEM_20211011100328.js
la stessa funzione function passwordCheck(password)
la trovate stavolta al 90% di questo file. Stessa modifica, cambiate level da 0 a 5
Per l'accesspoint, credo che la password debba comunque essere
di minimo 8 caratteri da specifica WPA2
Per fortuna questo modem si comporta esattamente come i vecchi modem,
ma la funzione è sistemata un po' meglio in files js riorganizzati
con una struttura tipo YYYYMMDDvvvvvv (anno-mese-giorno-versione).
Ovviamente se non avete il mio firmware (1.1.2_001), i numeri di versione
oppure eventualmente i nomi dei files potrebbero leggermente cambiare
-
Stavo familiarizzando con il nuovo modem e ho subito notato una cosa...
portando i programmi compilati con il cross-compiler ct-ng per il dga4130
sul nuovo modem, essenzialmente funzionano quasi tutti meno quelli che usano -lcrypt
che funzionano pure ma danno un avviso che non capisco.
faccio un esempio: il mio programma lastcall che mi identifica le chiamate telefoniche
indicandone la provenienza basandosi sul prefisso, e che interroga il database /etc/lasdb.db
usando sqlite3, usa queste librerie
(ah ldd non funziona più, bisogna usare questo LD_TRACE_LOADED_OBJECTS=1)
allora scriverò alias ldd='LD_TRACE_LOADED_OBJECTS=1'
root@modemtim:~# LD_TRACE_LOADED_OBJECTS=1 ./lastcall
libpreload-tch.so => /usr/lib/libpreload-tch.so (0xb6ba2000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb6b79000)
libm.so.6 => /lib/libm.so.6 (0xb6ab5000)
libdl.so.2 => /lib/libdl.so.2 (0xb6aa2000)
libc.so.6 => /lib/libc.so.6 (0xb695e000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb6942000)
/lib/ld-linux.so.3 (0xb6bb6000)
e funziona regolarmente sia sul DGA4130 che sul DGA4331 senza alcun avviso.
invece un altro programma più semplice, ma che usa la libreria -lcrypt mi da uno strano avviso, però poi funziona regolarmente.
root@modemtim:~# LD_TRACE_LOADED_OBJECTS=1 ./testprog
libpreload-tch.so => /usr/lib/libpreload-tch.so (0xb6b99000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0xb6b5a000)
libc.so.6 => /lib/libc.so.6 (0xb6a16000)
libdl.so.2 => /lib/libdl.so.2 (0xb6a03000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb69e7000)
/lib/ld-linux.so.3 (0xb6bad000)
user@modemtim:~$ ./testprog
ERROR: ld.so: object 'libpreload-tch.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
sul DGA4130 /etc/ld.so.preload contiene: /usr/lib/libpreload-tch.so
sul DGA4331 /etc/ld.so.preload contiene: libpreload-tch.so
Cosa potrebbe essere successo? perché è stata cambiata la locazione della libreria?
Cosa mi conviene fare per togliere quell'avviso in modo "pulito"?
@larsen64it
EDIT.. l'avviso stranamente sparisce se eseguo il programma da root.
Problema di permessi quindi? Visto che quasi tutto il software viene eseguito da root,
potrebbe essere che non si siano nemmeno posti il problema di controllare
attentamente cosa succede quando un programma viene eseguito da utente normale?
Altra stranezza....
user@modemtim:~$ LD_TRACE_LOADED_OBJECTS=1 ./testprog
user@modemtim:~$
RETTIFICA 26/4/2022 15:40
questa prova che restituisce "il nulla" si verifica con testprog che include -lcrypt
con gli altri programmi funziona normalmente. Per fortuna.
E' come se la libreria crypt facesse "sballare" il sistema booooh
almeno ho isolato il problema!
Sinceramente anche io ero tentato di copiare il vecchio path della libreria del dga4130 ma
1) Ho un po' paura di bloccare il modem facendo casini toccando le librerie fondamentali
2) Se come penso il modem non ha bug, sono sicuramente io che sbaglio, e quindi non
devo modificare i files di sistema. Ma allora vorrei capire dov'è il problema, perché ci sono
altri programmi di sistema che usano quella libreria e non danno avvisi.
Perché il mio invece dà avvisi? E poi funziona lo stesso?
-
Per dga 4130/2 firmware fino 2.2.1 /etc/ld.so.preload contiene: /usr/lib/libpreload-tch.so
da 2.3.x /etc/ld.so.preload contiene: libpreload-tch.so anche se la locazione effetiva e sempre /usr/lib/libpreload-tch.so
Prova a cambiare il contenuto /etc/ld.so.preload con /usr/lib/libpreload-tch.so
-
Scusate ma @imdadadani e @uomoukko la versione di tch-exploit con il supporto HTTPS (e anche con la generazione certificato letsencrypt) che io ho messo l'avete provata?
perchè mi viene il dubbio a questo punto c'è bisogno a prescindere di un server su internet (o di mettersi un IP pubblico sulla scheda di rete) per effettuare lo sblocco.. magari per qualche protezione al dns rebind attacck..
-
@FrancYescO No, io come ho spiegato all'inizio ho usato Nginx come reverse proxy per permettere le richieste https dato che la versione con duckdns l'ho vista solo dopo. Quando avrò tempo posso provare ad utilizzarlo così vediamo se funziona
-
@FrancYescO no non l'ho provato mi dai il link?
mi sa che bisogna mettere tutti i link ai programmi utili in evidenza
per tutti quelli che devono ancora sbloccare il modem.
Cmq potrei provarlo, ma non adesso perché stavo già personalizzando il modem
e perderei tutte le modifiche che ho fatto (si, me le sono scritte, certo)
Probabilmente lo farò quando cambierà il firmware con la versione finale
-
c'è sia source che compilato https://www.ilpuntotecnico.com/forum/index.php/topic,84353.msg276110.html#msg276110
-
Ehm ho un altro problemuccio e mi rivolgo a voi per una soluzione
Stavo per mettere in pensione il dga4130 per il dga4331 fresco di cracco
(si può dire fresco di cracco? ha-ha lo dico, lo dico)
quando ho notato con orrore che il telefono non va. Cioè fa il suono
di "sconnesso" tu tu tu tu tu veloce. La pagina del modem dice: TELEFONIA ABILITATA
però nella riga subito sotto non vedo nessun client attivo, di solito diceva qualcosa come 1 account registrato.
Il modem è regolarmente connesso "Ethernet connesso VLAN 835" e PPP CONNESSO
e naviga tramite WAN e ONT esterno, esattamente come il vecchio e glorioso modem.
Non c'è tanta differenza di velocità col vecchio modem 915/313 con il vecchio e 935/313 questo nuovo.
(sono cmq soddisfatto)
Mentre rimetto momentaneamente il vecchio modem, qualche anima buona potrebbe darmi dei consigli?
è una questione di password del voip?
Ma non si dovrebbe prendere tutto automaticamente il modem?
Altra questione:
- come disabilito il cwmp visto che non vorrei un upgrade a tradimento?
- Ma non è già stato disabilitato dalla configurazione estesa?
col vecchio modem era: andare in /etc/config/cwmpd
metto upgradesmanaged '0'
poi
commento acs_url ce ne sono tre,
uno sotto single_config 'cwmpd_config'
uno sotto config operACS 'operationalACS1'
uno sotto config operACS 'operationalACS2' che guarda caso è il mio acs col mio dominio
poi sapevo che bisognava disabilitare /etc/init.d/cwmpd disable ma non c'e' disable, c'e' stop_service
e poi /etc/init.d/cwmpdboot disable ma non c'e' cwmpdboot
di sicuro sono cambiate un po' di cose
-
Sulla gui c'e l'opzione Forza provisioning CWMP che riavvia appunto /etc/init.d/cwmpd. Sui router non moddati si resetta con il router attaccato. Per resettare e mantenere il root uso questo script
https://termbin.com/xato
Per conoscere i comandi disponibili per gli script si digita /etc/init.d/comando, nello specifico
/etc/init.d/cwmpd stop
/etc/init.d/cwmpd disable
/etc/init.d/cwmpd status per controllare
Questo modifica /etc/rc.d
-
Ok... allora per quanto riguarda la telefonia, confermatemi se dico giusto,
la corretta procedura per il DGA4331 sarebbe stata:
1) root del modem(in configurazione bloccata)
2) avvio del modem rootato(in configurazione bloccata) collegato alla linea tel
(per settare i parametri sip)
3) e solo dopo configurazione estesa del modem
Quindi ora la mia unica opzione è un reset? :(
-
Due cose:
@FrancYescO Io avevo provato tch-exploit con HTTPS ma non aveva funzionato (Quindi a questo punto presumo che ci sia bisogno di una connessione internet funzionante)
@uomoukko Per resettare senza perdere il root usa questa guida https://hack-technicolor.readthedocs.io/en/stable/Upgrade/ ma senza flashare nessun firmware, così ti trovi il router pulito ma con root. Per la telefonia il consiglio è resetta con quella guida, collegalo alla linea per farlo provvisionare e poi al massimo disattivi cwmpd da root. La configurazione estesa quando si ha il root non ha senso attivarla.
Ultima cosa, se vuoi che funzioni il provvisioning ti consiglio di usare firmware non beta (L'ultimo dovrebbe essere 1.1.1) e soltanto dopo se vuoi eseguire l'aggiornamento
Ciao!
-
Ovviamente per aggiornare senza perdere il root usa la medesima guida ma senza saltare il flash del firmware.
Il mio consiglio su tch-exploit è di preparare una PR che aggiunga il supporto https con chiave e certificato da selezionare su command line. Una modifica minimale come questa credo possa essere facilmente accettata per il merge senza problemi di sorta. Se poi si vuole anche dotare tch-exploit di una feature aggiuntiva per la generazione dei certificati su challenge DNS la cosa va un attimo discussa con BoLaMN. Considerando i difetti di tch-exploit nel riuscire a funzionare con più di una interfaccia di rete attiva, io scorporerei la parte di generazione certificati (che richiede una connessione internet attiva) e la proporrei in forma manuale tramite dominio freenom + certbot. Se vediamo che il giro funziona in modo stabile poi passiamo a valutare un modo per scriptare quest'ultima parte.
-
Il casino, almeno se si vuol far funzionare tutto sotto Windows, non è il passaggio https->http
che quello si risolve in un attimo con nginx e WSL linux e si può anche testare se funziona
Certo, riconosco che ci sarebbe un livello di complessità in meno con il tch-exploit con https
e sono d'accordo con voi nel riconoscere che i certificati uno ce li deve già avere,
e questo per evitare di fare delle modifiche eccessivamente complicate in tch-exploit.
Il vero casino, secondo me, se si vuole usare Windows o al massimo Windows+WSL
è quello del pasticcio della la condivisione della rete
su cui è connesso il al DGA4331, senza fare quei giri che ho fatto io:
disabilito internet per fornire gli Ip al modem e al pc,
e dopo riattivo internet e la condivido alla scheda di rete vlan 83
attivando un DHCPD di Windows non voluto e sperando che vada tutto bene
Ci vorrebbe un metodo alternativo
Nota: se prima non disabilito Internet, lasciando su soltanto l'interfaccia di rete
a cui è collegato il DGA4331, il client DHCP del DGA4331 dopo aver ricevuto
il mio DHCPOFFER dell' (IP + "biscottino" dell'option 43), lo ignora,
ovvero non risponde con un DHCPREQUEST contenente gli stessi parametri dell'offerta
al quale risponderò per conferma con DHCPACK.
Temo che questo sia lo stesso "difetto" della parte dhcp di tch-exploit,
anche se tch-exploit assegna dinamicamente solo l'Ip del modem richiedendo statico quello della scheda di rete pc, che dovrà essere identico a quello della condivisione di Windows
Cambio decisamente argomento:
Io uso ONT esterno. Se inserisco un modulo SFP 1000 RJ45
oppure un SFP 10/100/1000 RJ45 (confermo che funzionano entrambi)
nella porta SFP del modem questo per tenermi tutte e 4 le porte gialle RJ45 come LAN
il cassettino nero non si chiude per via di un rigonfiamento del modulo SFP!
E cala leggermente di prestazioni! E comunque scalda! No no no
-
La condivisione della connessione ti serve solo per fornire il servizio DNS di risoluzione del dominio che usi per il certificato HTTPS. Puoi evitare la condivisione della connessione e quindi evitare il DHCPD non voluto, ti basta un server DNS su windows o WSL che quando interrogato dia l'ip di tch-exploit in TLS o dell'nginx. Anche questo server DNS si può aggiungere in tch-exploit.
Ovviamente nell'altra soluzione con GenieACS su Azure la connessione ad internet invece serve.
-
Vi faccio una piccola domanda: è possibile, utilizzando l'altro modem, che
utilizza regolarmente la linea telefonica, copiare la configurazione evitando il re-provisioning
del DGA4331? Sto parlando in linea teorica perché so bene che i dati potrebbero cambiare
Ed è possibile sempre in linea teorica disabilitare
la configurazione estesa del modem usando root?
Basterebbe sapere quali files di sistema va a cambiare la config estesa no?
Per quanto riguarda la voce da una rapida indagine ho scoperto che
nel VECCHIO modem (un dga4130) i files che contengono
il mio numero di telefono sono
/etc/config/env
option unlockGUIbutton '0' guarda guarda!!
option provisioningcode 'RFV020E-YYYYYYYYYY-000<MIOTELEFONO>-IP.IP.IP.IP '
(nel DGA4331 invece abbiamo questa variabile
option unlockedstatus '1' sarà questa?)
e poi
/etc/config/mmpbxrvsipnet
config profile 'sip_profile_0'
option user_name '+39<MIOTELEFONO>'
option uri '+39<MIOTELEFONO>'
option password '$00$03$<SALT>$<PASSWORD>' un HASH HEX a 80 bytes con salt 16 bytes
invece il sip_profile_0 nel DGA4331 è vuoto.
(Quasi quasi copio questi tre campi dal vecchio modem e vedo cosa succede)
uhm si probabilmente il provisioning metterà parametri personalizzati per il DGA4331
però ciò non toglie che una volta settati io mi possa salvare questi due files per rimetterli, no?
mi piace smanettare, questo lo sapete già :)
UPDATE... tentativo fallito!
questo e' il log del modem
[ You must login or register to view this spoiler! ]
ok vado per la configurazione pulita ufficiale :)
-
Si i dati per il login sip sono quelli, a furia di aggiungere quello che manca nelle config funzionerà ma l'idea di partire da una configurazione pulita ufficiale non è da buttare.
Tu della configurazione estesa te ne dovresti fregare, fai il bank planning come da guida, poi il reset con upgrade firmware mantenendo il root come da guida linkata sopra e lascialo autoconfigurare. Poi entra in ssh e fai un bel backup di overlay sempre come da guida. Poi applica le customizzazioni che ti interessano. Se ti serve modificare qualche impostazione che vedevi nella GUI con configurazione estesa cercala nei file e modificala a mano.
-
Allora: TUTTO OK.
Modem tornato a versione 1.1.1
Differenze con la beta? Ho notato per esempio che in /var/docroot/js
non ci sono più le versioni di prova numerate
(ehm mi vergogno a dirlo ho preferito uploadare il firmware,
poi ho resettato il modem e infine ri-rootato, e tutto questo per paura di incasinarmi con la procedura spiegata su hack-technicolor.readthedocs.io)
Poi ho collegato il modem all'ONT esterno e dopo alcuni minuti di panico
la linea telefonica si è messa a funzionare con un bel led verde
a forma di telefono e l'arcinoto TU-TUUU.
Strano, l'opzione della configurazione estesa è sparita dopo il provisioning.
Ma non era l'ultimo box del menù principale?
Mi sono fatto un tar.gz di /etc PRIMA e DOPO il provisioning ed ecco cosa e' cambiato:
in /etc: cwmpd.db, lasdb.db, lastaccess, pppoesession_waneth4(nuovo),
random-seed, transformer.db, transformer.db-wal
in /etc/config: cwmpd, dlnad, env, firewall, mmpbx, mmpbxrvsipnet,
multiap, network, qos, system
I due files in grassetto contengono il mio n.di telefono.
Quando ho provato a copiare i dati della mia linea, evidentemente a me mancava
il provisioning_code inserito nel file env - forse solo quello boh?
NOTA: si sono decisi a cambiare il formato telefonico, infatti, facendo
$ sqlite3 /etc/lasdb.db "select startTime, Remote from calllog where Direction=1;"
(comando per vedere le ultime chiamate telefoniche)
escono fuori i numeri internazionali con (finalmente!) 00 davanti
Faccio un esempio: se un utente dalla Bulgaria (+359) mi volesse chiamare
il vecchio DGA4130 mi visualizzerebbe questo numero:
359xxXXXXXXX Purtroppo viene confuso con i cellulari italiani
che iniziano tutti col 3, e l'unico modo di capire è il numero di cifre
infatti un numero di cell. italiano è del tipo 3xxXXXXXXX quindi più corto.
Adesso invece con il DGA4331 se chiamasse lo stesso utente bulgaro leggerei
00359xxXXXXXXX che è corretto (anche se lungo)
-
Ho appena dato un'occhiata ai processi che girano sul DGA4331
e ho notato due gruppi di processi dei quali non so molto e vi chiedo spiegazioni
Ecco il primo:
10578 nanocdn 55140 S /usr/bin/nanocdn-core --conf /etc/broadpeak/nanocdn.conf
10579 nanocdn 37656 S /usr/bin/nanocdn-rr --conf /etc/broadpeak/nanocdn.conf
questo nanocdn sembra sia un processo per gestire le trasmissioni sui box timvision
per convertire (se non ho capito male) una multicast in unicast e quindi occupare meno
banda in caso di più utenti TIM che nella stessa casa stiano guardando uno stesso canale tv.
Cambiamo processo e veniamo a questo:
10821 root 97.8m S python3 /Acotel_UA/main.py
Guardate qui cosa fanno: https://acotel.com/en/smart-router/
si occupano di TELEMETRIA ovvero il programma invia dati di profilazione
e scopre addirittura quando la famiglia è a casa e le abitudini di ogni utente
E se ancora non mi credete loro "mission" è (cito testualmente)
Profiling customers more precisely with information on their behaviour in real time
ora:
in /etc/config/system vedo:
config agent 'acotel'
option enabled '1'
config agent 'mabr'
option enabled '1'
Potrei disabilitarli entrambi semplicemente azzerando l'opzione?
-
Per Alcotel era già stato affrontato il problema per la gui
https://www.ilpuntotecnico.com/forum/index.php/topic,78162.msg275941.html#msg275941 e seguenti
https://github.com/Ansuel/tch-nginx-gui/commit/77113729bc675c1b7507485dd4c2ad116d2ab622 per la fix
da non escludere che sia la causa di alcuni soft brick in sede di installazione della gui prima del fix.
Non usando tim vision ho eliminato i comandi di rc.local.
-
@larsen64it
Avevi ragione!! Acotel in due giorni mi aveva già fatto 2 mega di TRACER.log.
E mandava i nomi tutti i miei pc, della wireless, e un timestamp sulla connessione ogni 10 secondi!!
Assurdo di come possano aver messo a tradimento questo programma.
Ho settato su /etc/config/system sia mabr che acotel a zero, incrociato le dita, riavviato
ed effettivamente i processi sono spariti.
Domanda n.1
Tu come hai fatto? hai commentato le righe di rc.local o hai settato /etc/config/system?
Io per sicurezza ho anche inserito un telnetd & alla fine di rc.local
(un busybox con telenetd abilitato che mi ero ricompilato per il vecchio DGA4130)
del quale eseguo un KILL -9 ad ogni reboot per sicurezza. Ma se ssh dovesse fallire almeno ho un'altra strada.
Domanda n.2
Ci sono altre cose che dovrei sapere sul nuovo modem? tipo processi strani, roba da togliere?
Domanda n.3
Credo sia un problema puramente estetico. Come mai quando entro da windows con ssh 192.168.1.1
e faccio vi di un file, la visualizzazione mi mangia dei caratteri proprio in alto a sinistra, all'inizio schermata
e quando invece entro con telnet vi dello stesso file me lo visualizza correttamente?
Domanda n.3
Come mai nel mount hanno messo tutti questi overlayfs?
E come mai in /etc/config/mountd hanno settato noexec quasi tutti i filesystem?
Ho dovuto togliere il noexec altrimenti la mia chiavetta usb formattata ext4 non
poteva eseguire un bel niente, però adesso me la monta così, cioè sotto /chroot
/dev/sda1 on /chroot/tmp/run/mountd/sda1 type ext4 (rw,relatime,data=ordered)
io col vecchio modem, sulla chiavetta ci avevo messo il gcc compilato tramite
ct-ng crosstool (opzione canadian) su windows e poi e trasferito sulla chiavetta. E ora?
Grazie in anticipo per la tua pazienza
-
1) Le ho proprio tolte di mezzo, non mi servono lasciando solo exit 0 ovviamente. Se ti dovesse servire te me puoi fare una copia o ricaricarlo da /rom/etc/rc.local.
2) Ho solo dga4130/2 non 4331 ma i firmware sono simili.
3) Non saprei non uso windows.
3-bis) Perché in caso di ravvio i log rimangono e riempono la nand e rompono i .....
noexec serve proprio per impedire l'esecuzione dei programmi da chiavetta
ct-ng crosstool, per me questo sconosciuto, per te cosa cambia?
-
Stavo preparando una serie di comandi per esercitare tch-exploit in https fingendo di essere il DGA
quindi prima di provarli dovrete lanciare tch-exploit-https ...ricordatevi i certificati
Questi comandi sono utili per capire come funziona tutto il sistema exploit.
Potrebbe essere utile salvare ogni comando separatamente, in cinque files .BAT
Ho provato la mia versione modificata tch-https e fa tutti e 5 i comandi.
Se volete testare i comandi con tch-exploit normale, togliete https//
Il -k è l'opzione di curl che, se fate un test usando https, non controlla i certificati
1:ehi sono il modem xxxx ho capito sei il modem xxxx
1:DGA POST <cwmp:Inform> e il tch/acs risponde con OK 200 setta Set-cookie e manda <cwmp:InformResponse>
2:non ho niente da dirti modem, ti devi scaricare ed eseguire questo file che ti indico
2:DGA POST vuoto e il tch/acs risponde con OK 200 e manda <cwmp:Download>
3:dammi il file indicato eccoti il file
3:DGA GET file.sts e il tch/acs risponde con OK 200 e manda il file.sts
4:l'ho scaricato in xx secondi bene
4:DGA POST <cwmp:DownloadResponse> e il tch/acs risponde con ERROR 404
(qui il file.sts scaricato modifica il comportamento del pulsante Wps:
alla pressione viene eseguito l'exploit, poi viene ripristinato il normale funzionamento
del pulsante Wps e alla fine viene richiesto un file di conferma)
5:richiedo file (segnalo exploit ok) bene chiudo i server ed esco
5:DGA GET done e il tch/acs risponde con OK 200 ed esce
curl -k -v --request POST --url https://localhost:7443 -H "Connection: close" -H "Accept:" -H "User-Agent:" -H "Content-Type: text/xml" --data @x1sta.xml
curl -k -v --request POST --url https://localhost:7443 -H "Connection: close" -H "Accept:" -H "User-Agent:" -H "Content-Type: text/xml" -H "cookie: $Version=\"0\"; session=7b0fa33078153e5c"
curl -k -v --url https://localhost:7443/file.sts -H "Connection: close" -H "Accept:" -H "User-Agent:"
curl -k -v --request POST --url https://localhost:7443 -H "Connection: close" -H "Accept:" -H "User-Agent:" -H "Content-Type: text/xml" -H "cookie: $Version=\"0\"; session=7b0fa33078153e5c" -H "soapaction: " --data @x4end.xml
curl -k -v --url https://localhost:7443/done -H "Connection: close" -H "Accept:" -H "User-Agent:"
i comandi vanno dati usando questi due xml che salverete nella cartella corrente
(i nomi dei due xml sono quelli che i comandi si aspettano di trovare)
x1sta.xml generico, non serve specificare modello e n.serie
<soapenv:Envelope soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cwmp="urn:dslforum-org:cwmp-1-2">
<soapenv:Header>
<cwmp:ID soapenv:mustUnderstand="1">2_THOM_TR69_ID</cwmp:ID>
</soapenv:Header>
<soapenv:Body>
<cwmp:Inform>
<DeviceId>
<Manufacturer>Technicolor</Manufacturer>
<OUI>111111</OUI>
<ProductClass>DGAXXXX</ProductClass>
<SerialNumber>CPXXXXXXXXX</SerialNumber>
</DeviceId>
<Event soap:arrayType="cwmp:EventStruct[02]">
<EventStruct>
<EventCode>1 BOOT</EventCode>
<CommandKey></CommandKey>
</EventStruct>
<EventStruct>
<EventCode>4 VALUE CHANGE</EventCode>
<CommandKey></CommandKey>
</EventStruct>
</Event>
<MaxEnvelopes>1</MaxEnvelopes>
<CurrentTime>2000-01-01T00:00:01+02:00</CurrentTime>
<RetryCount>6</RetryCount>
<ParameterList soap:arrayType="cwmp:ParameterValueStruct[10]">
<ParameterValueStruct><Name>Device.DeviceInfo.HardwareVersion</Name><Value xsi:type="xsd:string">VXXX-X</Value></ParameterValueStruct>
<ParameterValueStruct><Name>Device.DeviceInfo.SoftwareVersion</Name><Value xsi:type="xsd:string">AGXXX_0.0.0</Value></ParameterValueStruct>
<ParameterValueStruct><Name>Device.DeviceInfo.ProvisioningCode</Name><Value xsi:type="xsd:string"></Value></ParameterValueStruct>
<ParameterValueStruct><Name>Device.ManagementServer.ParameterKey</Name><Value xsi:type="xsd:string"></Value></ParameterValueStruct>
<ParameterValueStruct><Name>Device.ManagementServer.ConnectionRequestURL</Name><Value xsi:type="xsd:string">http://localhost:7170/ConnectionRequest</Value></ParameterValueStruct>
<ParameterValueStruct><Name>Device.ManagementServer.AliasBasedAddressing</Name><Value xsi:type="xsd:boolean">0</Value></ParameterValueStruct>
<ParameterValueStruct><Name>Device.RootDataModelVersion</Name><Value xsi:type="xsd:string">0.00</Value></ParameterValueStruct>
<ParameterValueStruct><Name>Device.DSL.Line.1.LinkStatus</Name><Value xsi:type="xsd:string">NoSignal</Value></ParameterValueStruct>
<ParameterValueStruct><Name>Device.DSL.Line.1.StandardUsed</Name><Value xsi:type="xsd:string">G.992.1_Annex_A</Value></ParameterValueStruct>
</ParameterList>
</cwmp:Inform>
</soapenv:Body>
</soapenv:Envelope>
x4end.xml
<soapenv:Envelope soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cwmp="urn:dslforum-org:cwmp-1-2">
<soapenv:Header>
<cwmp:ID soapenv:mustUnderstand="1">7b0fa33078153e5c</cwmp:ID>
</soapenv:Header>
<soapenv:Body>
<cwmp:DownloadResponse>
<Status>1</Status>
<StartTime>0001-01-01T00:00:00Z</StartTime>
<CompleteTime>0001-01-01T00:00:00Z</CompleteTime>
</cwmp:DownloadResponse>
</soapenv:Body>
</soapenv:Envelope>
Non so se questo lavoro possa servire a qualcuno per creare un tool più raffinato /user-friendly
-
Non ho approfondito, ma nel firmware 2.3.4 (e quindi ipotizzo a cascata su tutti questi fratelli) credo sia cambiato qualcosa con i certificati, perchè c'è stata la necessità di questo fix sulla GUI (= non accettava il certificato di github)
https://github.com/Ansuel/tch-nginx-gui/commit/00526d0e5d80353789f4cbc2966e5f2b8f6ff4f2
non vorrei che stanno tagliando qualche CA "volutamente"
-
In teoria si stanno preparando a vendere servizi su OF in area bianca. Se fosse OpenStream, a seconda di come OF riuscirà a dare a TIM i dettagli sulla porta a cui il cliente è connesso potrebbero dover cambiare qualche dettaglio della procedura di identificazione del dispositivo/linea ai fini del provisioning.. Se ne fai l'unpack su github gli do una occhiata al volo.
-
Scusate se tra tutti i vostri messaggi tecnici arrivo io con una domanda stupida:
volevo sapere, se conviene passare da un timhub rootato a questo.
Lo farei soprattutto perchè il timhub ha il wifi che fa pena, però rootare questo al momento cosa permette di avere in più o cosa permette di modificare?
-
Ciao a tutti. :help:
Come si utilizza il fork tch-exploit da questo post (https://www.ilpuntotecnico.com/forum/index.php/topic,84353.msg276110.html#msg276110) ?
1. Faccio login su Duckdns e mi prendo un dominio e un token.
2. Condivido internet all'interfaccia ethernet (con vlan 83) collegato alla WAN
Quali sono i comandi che devo scrivere prima di resettare il router?
-
Ciao a tutti, purtroppo ho perso il root e adesso il metodo di GenieAcs non sembra volerne sapere… Potrebbe essere un problema mio o è cambiato effettivamente qualcosa? (Ho visto che Azure non usa più il certificato Baltimore per tutto)
-
Ciao a tutti, purtroppo ho perso il root e adesso il metodo di GenieAcs non sembra volerne sapere… Potrebbe essere un problema mio o è cambiato effettivamente qualcosa? (Ho visto che Azure non usa più il certificato Baltimore per tutto)
come hai fatto a perdere il root? Cmq se ti consola io lo devo ancora fare, speriamo che uomoukko si colleghi e ci dia l'utility del DNS (a me servono anche i certificati che non so come generarli)
-
Ho ricevuto qualche impostazione credo dal cwmp di TIM e non riuscivo più ad accedere… Comunque il metodo di @imdadadani ha funzionato perfettamente
-
Ho ricevuto qualche impostazione credo dal cwmp di TIM e non riuscivo più ad accedere… Comunque il metodo di @imdadadani ha funzionato perfettamente
a proposito, visto che a breve lo dovrei fare anche io, sai per caso quale eseguibile eliminare dal router per scongiurare in tutti i modi la rogna della telegestione?
poi potresti dirmi i passaggi per generare i certificati e se vanno bene per il metodo di @uomoukko ?
-
a proposito, visto che a breve lo dovrei fare anche io, sai per caso quale eseguibile eliminare dal router per scongiurare in tutti i modi la rogna della telegestione?
poi potresti dirmi i passaggi per generare i certificati e se vanno bene per il metodo di @uomoukko ?
@lorenzocanalelc
-
a proposito, visto che a breve lo dovrei fare anche io, sai per caso quale eseguibile eliminare dal router per scongiurare in tutti i modi la rogna della telegestione?
poi potresti dirmi i passaggi per generare i certificati e se vanno bene per il metodo di @uomoukko ?
I certificati io li ho generati con CertBot, nel loro sito hanno tutte le istruzioni necessarie.
Credo che puoi seguire sia la procedura di uomoukko sia quella di imdadadani.
Per la tele gestione disattivi il cwmp e dovresti essere apposto (Io non l’avevo disattivato perché ho ricevuto le configurazioni della linea fissa)
-
I certificati io li ho generati con CertBot, nel loro sito hanno tutte le istruzioni necessarie.
Credo che puoi seguire sia la procedura di uomoukko sia quella di imdadadani.
Per la tele gestione disattivi il cwmp e dovresti essere apposto (Io non l’avevo disattivato perché ho ricevuto le configurazioni della linea fissa)
quella di imdadadani non funziona, volevo provare quella di uomoukko ma non ho capito a quale utility del dns si riferisce (l'ha fatta lui?)
-
nessuno sa niente della utility in wsl?
-
non lo sto costruendo, è già fatto, leggi qui https://www.ilpuntotecnico.com/forum/index.php/topic,84353.msg275846.html#msg275846
si occupa sia del server DNS che dell'opzione 43, crea anche un certificato con letsencrypt, ma a quanto parte non sono digeriti dal modem, quindi metticene di tuoi.
appena ho il server NTP che funziona torno a fare altre prove con i certificati, ma se riesci a beccarne di gratuiti sicuramente funzionanti.. segnala.
i binari già buildati li trovi qui: https://github.com/FrancYescO/tch-exploit/tree/master/release
Non è che potresti darmi qualche indicazione su come usare questo tool? Ho dei repeater OWA0131 che vorrei sbloccare per ridurne la potenza WiFi.
-
ragazzi tra questi https://letsencrypt.org/docs/client-options/ ho scelto https://www.win-acme.com/ ma se installo nginx in locale, faccio il ddns, verso il router e quindi port forwarding verso il mio pc, come faccio a trasformare nginx che sta sul mio pc in un acme server?
-
nessuno?
-
Non devi trasformare niente in acme server.
Devi fare in modo che la verifica per farti dare il certificato abbia successo: per let’s encrypt è richiesto mettere un file nella cartella .well-known del server http
-
Ma che voi sappiate, ci sono differenze tra il Tim Hub+ e il (credo nuovo) Tim Hub+ Executive?
Da quello che vedo dalle immagini, il nuovo ha una porta USB sul fianco e una sul retro, anziché 2 posteriori, ma a livello di software?
Ho appena sottoscritto un nuovo contratto con tim e lunedì mi dovrebbe arrivare il modem, e ovviamente avrei voglia di metterci sopra le mani.
-
Ma che voi sappiate, ci sono differenze tra il Tim Hub+ e il (credo nuovo) Tim Hub+ Executive?
Da quello che vedo dalle immagini, il nuovo ha una porta USB sul fianco e una sul retro, anziché 2 posteriori, ma a livello di software?
Ho appena sottoscritto un nuovo contratto con tim e lunedì mi dovrebbe arrivare il modem, e ovviamente avrei voglia di metterci sopra le mani.
Li ho smontati entrambi sia il timhub+ che la versione executive che ha "Ont" da 2.5 gigabit.
non è un vero ont l'elettronica è sposata col in router infatti il serial è sull'etichetta e vanno a braccetto, non li puoi separare non funzionerebbero più.
executive manca di elettronica sulla parte VDSL per cui la porta rj11 per fttcab è solo per far figura. le porte lan sono sempre da 1 Gb come per timhub+ Zte base , non so se ho detto tutto o se serve altro
-
Quindi, a livello software, è lo stesso modem? Per sbloccarlo si può fare uguale? Anche se ho notato che sarebbe uno ZTE H388XF, e non un technicolor, quindi magari sono abbastanza OT.
In ogni caso vorrei chiedere, lo sblocco, che benefici dà? La GUI di ansuel non è compatibile, giusto? Si possono installare altri pacchetti tipo nano, o anche altre cose più elaborate, tipo uno scaricatore di torrent? I DNS sono bloccati?
-
Sullo ZTE non si può fare niente di quanto leggi in queste pagine, e nemmeno gui ansuel ovviamente.
-
E' arrivato oggi. Alla fine non è uno ZTE, ma un DGA 4331. La velocità è sorprendente. Appena avrò tempo proverò a sbloccarlo. Grazie comunque per le risposte.
-
E' arrivato oggi. Alla fine non è uno ZTE, ma un DGA 4331. La velocità è sorprendente. Appena avrò tempo proverò a sbloccarlo. Grazie comunque per le risposte.
se usi il metodo di uomoukko puoi fare un videotutorial o dei screenshot sia per la parte dei certificati che per quella dello sblocco su WSL? Tra difficoltà tecniche, tempo scarso e robe varie non riesco a sbloccare sto coso
-
Non credo che proverò a sbloccarlo nel breve. La procedura mi pare assai complicata rispetto ai vantaggi che offre.
Se e quando sarà possibile installare la gui di ansuel, magari ci proverò.
-
Ciao a tutti.. sono tornato e ho un po' di tempo da dedicare al forum.
Ecco una brutta notizia:
In breve: il sistema di sblocco basato su TR-069 sembra non funzionare più.
Stavo tentando di rootare un vecchio modem, il DGA4130 aggiornato con firmware AGTEF_234,
con la procedura analoga al DGA4331 ovvero il protocollo TR-069 che ben conosciamo.
Ho fatto questo per non rischiare di perdere il root al DGA4331 che posseggo in
unico esemplare. Avevo usato in precedenza questa procedura per rootare in modo
alternativo il DGA4130, e tutto funzionava tranquillamente, ma stavolta mi sono accorto
che il tch-exploit rimaneva fermo senza le scritte che scorrevano,
quindi ne ho dedotto che dal modem non usciva più niente,
nemmeno il primo POST di Inform (il primo messaggio in cui il modem dice all'ACS
tutte le sue caratteristiche).
Ovviamente so bene che per questo tipo di modem esiste una procedura meno complicata per
fare il rooting, ma lo facevo solo per esercizio.
Qui sto solo cercando di capire se sia cambiato qualcosa a livello procedura di sblocco con TR-069
Io ho mio.sito.com ospitato sul mio router e una porta è rediretta con port forward sul PC di sblocco
Il mio dominio con chiavi let's encrypt funziona, il sito collegato ha il lucchetto chiuso,
i certificati sono OK, la catena mi dice ISRG Root X1 -> R3 -> mio.sito.com
Quindi, armato di Wireshark sono andato a vedere cosa fosse successo.
Collegandomi all'interfaccia di rete del modem<->PC, il dialogo modem-mio.sito.com dice questo
TLSv1.2 Client Hello
TLSv1.2 Server Hello
TLSv1.2 Certificate, Server Key Exchange, Server Hello Done
TLSv1.2 Alert (Level:Fatal, Description: Unknown CA)
e poi chiusura della connessione e di conseguenza canale di sblocco chiuso.
Ora io sono estremamente preoccupato, potrei sicuramente aver sbagliato qualcosa
ma se così non fosse, sembrerebbe che il modem (almeno questo DGA4130 firmware 234)
non autentichi più le chiavi let's encrypt così come ho letto velocemente alcuni post fa.
Mi confermate questo cambiamento?
Fine dei giochi per il DGA4331, per il quale il TR-069 è l'unico metodo di sblocco?
Per fortuna il mio è stato rootato in precedenza e.. no, non ci farò esperimenti sopra
per ovvi motivi.
Ora.. se prima il root funzionava e ora non funziona più e se il modem è rimasto uguale,
a parte il cambio firmware i casi sono due: o nel nuovo firmware hanno tolto qualcosa,
(e questo posso risolverlo -in parte- downgradando e vedendo se funziona di nuovo)
oppure qualcosa deve essere cambiato a livello autorità di certificazione.. boh?
In quale cartella in generale vengono salvati i certificati accettati dal modem?
-
Salve
Tra pochi giorni riceverò il DGA4331 e ho alcune domande:
1. Quali di questi metodi per il root funzionano al momento?
2. Se entrambi, quale dei due è più facile per una persona con competenze di base?
-
Ciao a tutti..
ciao, non so se ricordi ma,per quelle che sono le mie basi, i certificati hanno la data di scadenza... quindi, prima fai un downgrade del firmware e poi eventualmente prova ad usare i vecchi certificati ed a spostare la data del router.
p.s.: puoi rispondermi in pvt?
Salve
Tra pochi giorni riceverò il DGA4331 e ho alcune domande:
1. Quali di questi metodi per il root funzionano al momento?
2. Se entrambi, quale dei due è più facile per una persona con competenze di base?
gli unici metodi root che esistono sono quello di @imdadadani e @uomoukko ... tutti e 2, con il firmware vecchio e al netto della data di scadenza dei certificati, dovrebbero funzionare ... è consigliato l'uso di ubuntu per la vlan
-
Grazie per le informazioni, sto facendo alcuni preparativi e sono bloccato. Sapete come ottenere il certificato per il dominio. Ho già ottenuto il dominio ma non so cosa fare dopo
-
Grazie per le informazioni, sto facendo alcuni preparativi e sono bloccato. Sapete come ottenere il certificato per il dominio. Ho già ottenuto il dominio ma non so cosa fare dopo
non appena @uomoukko mi da l'utility che ascolta i mac-address e assegna degli IP prestabiliti catturo degli screenshot man mano che provo a sbloccare il router ... se riesco te li posto qui
-
Sono riuscito a far eseguire il certificato a nginx ma poi non riesco a farlo. Sto eseguendo il tch ma niente. Come faccio a sapere se il mio dominio punta a 10.42.1.1?
Per favore aiutatemi :help:
-
Sono riuscito a far eseguire il certificato a nginx ma poi non riesco a farlo. Sto eseguendo il tch ma niente. Come faccio a sapere se il mio dominio punta a 10.42.1.1?
Per favore aiutatemi :help:
ciao, io purtroppo non ho un computer con cui posso eseguire ubuntu 64 bit, @uomoukko lo ha sprotetto da windows con wsl... io ti posso solo sconsigliare l'uso di macchine virtuali e livecd... non so poi come abbia fatto a fare il programma DHCP che ascolta i mac-address e assegna degli IP prestabiliti... perchè secondo me sarebbe meglio evitare 2 istanze di tch-exploit... se ti serve il firmware AGTHF_1.0.1_CLOSED.rbi chiedi pure, se poi c'è un problema di validità dei certificati relativo alla scadenza delle date allora bisogna vedere se il router interroga un server ntp: in caso affermativo oltre al programma sopra citato bisogna creare un server ntp con una data prestabilita che sia compatibile con i certificati, in caso negativo non so proprio come procedere
-
Allora.... sono purtroppo ripartito all'estero e ho poco tempo per giocare con il DGA4331, che funziona
perfettamente, e che anche se e' rimasto a casa ad aspettarmi, vi saluta tutti da remoto con un bel #
Cmq scherzi a parte, spero di rispondere a tutti e aiutarvi.
Ecco un programma che serve quando avrete rediretto con PORT FORWARD il vostro dominio
ad un ip della rete locale, infatti quando il modem stimolato dal DHCPD fara' un POST (o un GET)
sul vostro dominio, tale POST sara' rediretto sulla vostra rete locale e verra' gestito in https
usando questo micro server https su WSL
Il programma e' scritto in puro nodejs quindi senza fronzoli e senza npm
Per installare nodejs sotto WSL dovete scrivere
$ sudo apt install nodejs
$ node
Welcome to Node.js v18.7.0.
Type ".help" for more information.
Attenzione: Ecco il rimedio se invece avrete questo risultato
node cannot execute binary file: exec format error
$ sudo mv /usr/bin/node /usr/bin/node-orig
$ printf '#!/bin/sh\nexec /lib64/ld-linux-x86-64.so.2 /usr/bin/node-orig "$@"' | sudo tee /usr/bin/node
$ sudo chmod a+x /usr/bin/node
il server RICHIEDE che le chiavi key.pem e cert.pem siano salvate in una cartella ~user/.pem
LOGGA su console tutte le richieste sia GET che POST. (il protocollo tr069 del modem dialoga per lo piu' con i POST)
ESCE quando riceve un GET /done esattamente come il tch-exploit.
IN TEORIA questo programma con qualche aggiunta (per es. invio dei files di sblocco) potrebbe fungere da tch-exploit
ma non voglio certamente reinventare la ruota. Serve solo come test.
il file si chiama server.js
#!/usr/bin/node
const myhttps = require('https');
const myfs = require('fs');
const myserv = '0.0.0.0';
const myport = 8443;
const options = {
key: myfs.readFileSync('/home/user/.pem/key.pem'), //chiave privata
cert: myfs.readFileSync('/home/user/.pem/cert.pem') //cert pubblico
};
function sfunz(req, res)
{
console.log(req.method + ' ' + req.url);
if(req.method == 'GET')
{
if(req.url.startsWith('/done'))
{
res.writeHead(200);
res.end();
}
else
{
res.writeHead(200);
res.write('GET-TEST ok<BR>\n');
res.end();
}
}
else if(req.method == 'POST')
{
res.writeHead(200);
res.write('POST-TEST ok<BR>');
res.end();
}
else
{
res.writeHead(404);
res.write('UNKNOWN METHOD<BR>\n');
res.end();
}
}
myhttps.createServer(options,sfunz).listen(myport,myserv);
console.log('Server running at '+ myserv + ':' + myport);
Come faccio partire il server?
$ node server.js
come si testa? Col browser ma anche cosi' (sia da Windows che da WSL)
C:\Users\user\Desktop>curl -k https://localhost:8443/prova
GET-TEST ok<BR>
C:\Users\user\Desktop>curl -k https://localhost:8443/provadue -d x
POST-TEST ok<BR>
ovviamente poi dovrete testarlo sostituendo a localhost il vostro dominio, questo servira' a vedere
che il PORT FORWARD funziona. E per testare la validita' dei certificati dovrete togliere il -k dal curl
o in alternativa se usate il browser verificare che il lucchetto si chiuda senza dare avvisi di sicurezza con https sbarrato
Per quanto riguarda il programma per il dhcpd, l'ho messo nel mio sito github/uomoukko.
ho dovuto rivederlo per togliere tutti i macaddress e farli leggere da un file separato
e ho fatto lo stesso con l'option43 per adattarla ai diversi domini.
Non l'ho testato accuratamente ma sembra funzionare.
Per il momento e' tutto.
-
TUTORIAL PER CREARE LE CHIAVI PER I SERVER HTTPS
NOTA BENE: PER CREARE LE CHIAVI HTTPS NON E' RICHIESTO ALCUN SERVER HTTPS
SE NON CE L'HAI ANCORA, VAI A https://letsencrypt.org/ (https://letsencrypt.org/) E CREA UN NUOVO
DOMINIO GRATIS. IN QUESTO TUTORIAL SI SUPPONE TU POSSEGGA my.server.org
SI SUPPONE CHE TU ABBIA WINDOWS CON WSL (Windows Subsystem for Linux)
DOVREMO USARE UACME PER CREARE LE NOSTRE CHIAVI.
HAI DUE SCELTE: COMPILARE UACME DAI SORGENTI OPPURE SEMPLICEMENTE INSTALLARLO.
root@PC6700K:/home/user# apt install uacme
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
uacme is already the newest version (1.7.2-1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
root@PC6700K:/home/user# exit
CREO NUOVO ACCOUNT DI LET'S ENCRYPT
questo crea una nuova chiave privata private/key.pem
Di norma si fa una sola volta e per i rinnovi si usa quella che hai perche' e' solo il certificato pubblico che cambia, ma crearne una nuova ogni volta va bene lo stesso.
user@PC6700K:~$ mkdir myuacme
user@PC6700K:~$ cd myuacme
user@PC6700K:~/myuacme$ uacme -v -c . new
uacme: version 1.7.2 starting on Thu, 22 Dec 2022 12:37:39 +0100
uacme: created directory ./private
uacme: loading key from ./private/key.pem
uacme: ./private/key.pem not found
uacme: generating new 2048-bit RSA key
uacme: key saved to ./private/key.pem
uacme: fetching directory at https://acme-v02.api.letsencrypt.org/directory
uacme: creating new account at https://acme-v02.api.letsencrypt.org/acme/new-acct
uacme: type 'y' to accept the terms at https://letsencrypt.org/documents/LE-SA-v1.3-September-21-2022.pdf
y
uacme: account created at https://acme-v02.api.letsencrypt.org/acme/acct/883313507
user@PC6700K:~/myuacme$
ADESSO O SI HA IL DYNAMIC DNS SETTATO NEL MODEM PER IL DOMINIO my.server.org
OPPURE FACCIO PUNTARE A MANO IL MIO DOMINIO my.server.org AD UN IP CHE CONTROLLO
CIOE' L'IP PUBBLICO DEL MODEM (se non hai ip pubblico fine del tutorial)
PER FARE QUESTO, CON LA PASSWORD ACCEDO AL PANNELLO DI CONTROLLO DI LET'S ENCRYPT
E FACCIO PUNTARE my.server.org ALL'IP PUBBLICO DEL MODEM,
IN TAL MODO SARA' INDIFFERENTE USARE AD ESEMPIO http://111.222.31.45 o http://111.222.63.32
(cioe' un ip esterno pubblico variabile) OPPURE http://my.server.org
LA PORT, SE NON SPECIFICATA, SI INTENDE LA 80, NON SERVE SCRIVERE http://my.server.org:80
PER SERVIRE LE RICHIESTE, SCEGLIAMO UN PC DELLA LAN DOVE FARO' GIRARE IL
SERVER HTTP E TALE PC, IN QUESTO ESEMPIO, AVRA' IP LOCALE 192.168.1.40
CI COLLEGHIAMO AL PANNELLO DI CONTROLLO DEL MODEM E CON LA FUNZIONE PORT FORWARD
FACCIAMO PUNTARE LA PORTA 80 ESTERNA AD UNA PORTA QUALSIASI DEL
PC DELLA NOSTRA LAN, IN QUESTO ESEMPIO SCELGO LA 8080 OVVERO
REINDIRIZZIAMO WAN=80 ----> LAN=192.168.1.40:8080
(SE SCELGO LA STESSA PORTA, LA LAN=192.168.1.40:80 VA BENE,
MA IL SERVER DOVRA' GIRARE CON I PRIVILEGI DI ROOT)
SUL PC DI CASA, 192.168.1.40, DOVRO' QUINDI INSTALLARE UN SERVER HTTP
SI PUO' INSTALLARE UN QUALSIASI SERVER HTTP IN PORT 8080 E POI CONFIGURARLO.
PER NON INSTALLARE NESSUN SERVER IO CONSIGLIO DI USARE nodejs SOTTO WSL
SE NON PRESENTE, INSTALLIAMO NODEJS
root@PC6700K:/home/user$ sudo apt install nodejs
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
nodejs is already the newest version (18.12.1-deb-1nodesource1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
root@PC6700K:/home/user$
NELLA CARTELLA node-dir CREO IL FILE DEL SERVER, server.js
#!/usr/bin/node
const myhttp = require('http');
const myfs = require('fs');
const myserv = '0.0.0.0';
const myport = 8080;
const mytoken = 'hwccLceoyzqliArrl6VVMCXuX4BbkKrovMwc1OumhW4';
const mykauth = 'hwccLceoyzqliArrl6VVMCXuX4BbkKrovMwc1OumhW4.7nSoy3TidIwqfjaejJOiTAQyx_N0E6KyHe6rm5ggaqI';
const myurlst = '/.well-known/acme-challenge/' + mytoken;
function sfunz(req, res)
{
console.log(req.socket.remoteAddress.padStart(15,' ') + ' ' + req.method.padStart(4,' ') + ' ' + req.url);
if(req.url.startsWith(myurlst))
{
res.writeHead(200);
res.write(mykauth + '\n');
res.end();
}
else
{
res.writeHead(404);
res.write('ACME string not found<BR>\n');
res.end();
}
}
myhttp.createServer(sfunz).listen(myport,myserv);
console.log('Server running at ' + myserv + ':' + myport);
NEL server.js FACCIAMO ATTENZIONE A QUELLE 2 STRINGHE CHE DOVREMO CAMBIARE
QUESTE ***VARIANO AD OGNI CHIAMATA DI UACME** E IN QUESTO ESEMPIO SONO
hwccLceoyzqliArrl6VVMCXuX4BbkKrovMwc1OumhW4 CHE E' IL TOKEN
hwccLceoyzqliArrl6VVMCXuX4BbkKrovMwc1OumhW4.7nSoy3TidIwqfjaejJOiTAQyx_N0E6KyHe6rm5ggaqI CHE E' LA KEY_AUTH
FACCIAMO PARTIRE IL SERVER
user@PC6700K:~/node-dir$ node server.js
Server is running at 0.0.0.0:8080
ORA LASCIAMO IL SERVER A GIRARE IN QUESTA FINESTRA
PER VERIFICARE CHE TUTTO IL SISTEMA FUNZIONI OVVERO CHE
my.server.org SIA REDIRETTO ALL'IP DEL PC DELLA MIA LAN 192.168.1.40
E CHE MI ATTIVI IL SERVER CHE GIRA IN PORT 8080 CON nodejs
SEMPLICEMENTE CON UN BROWSER APRIAMO http://my.server.org
e notiamo la scritta ACME string not found<BR>
OPPURE DA UN'ALTRA FINESTRA DIGITIAMO:
user@PC6700K:~$ curl http://my.server.org
ACME string not found<BR>
LA SCRITTA "ACME string not found<BR>" CONFERMA CHE E' TUTTO A POSTO:
IL SERVER GIRA COME SE FOSSE INSTALLATO SUL TUO DOMINIO MA SICCOME
NON E' STATO RICHIESTO IL TOKEN, RITORNA LA SCRITTA DI DEFAULT.
INFATTI COL TOKEN SPECIFICATO NEL server.js RITORNA LA STRINGA KEY_AUTH:
user@PC6700K:~$ curl http://my.server.org/.well-known/acme-challenge/hwccLceoyzqliArrl6VVMCXuX4BbkKrovMwc1OumhW4
hwccLceoyzqliArrl6VVMCXuX4BbkKrovMwc1OumhW4.7nSoy3TidIwqfjaejJOiTAQyx_N0E6KyHe6rm5ggaqI
FERMA PURE IL SERVER.
ORA TUTTO E' PRONTO PER FAR VERIFICARE IL DOMINIO E CREARE LE CHIAVI
user@PC6700K:~/myuacme$ uacme -v -c . issue my.server.org
uacme: version 1.7.2 starting on Thu, 22 Dec 2022 13:30:53 +0100
uacme: loading key from ./private/key.pem
uacme: loading key from ./private/my.server.org/key.pem
uacme: checking existence and expiration of ./my.server.org/cert.pem
uacme: ./my.server.org/cert.pem does not exist
uacme: generating certificate request
uacme: fetching directory at https://acme-v02.api.letsencrypt.org/directory
uacme: retrieving account at https://acme-v02.api.letsencrypt.org/acme/new-acct
uacme: account location: https://acme-v02.api.letsencrypt.org/acme/acct/883313507
uacme: creating new order at https://acme-v02.api.letsencrypt.org/acme/new-order
uacme: order location: https://acme-v02.api.letsencrypt.org/acme/order/883313507/154265112377
uacme: retrieving authorization at https://acme-v02.api.letsencrypt.org/acme/authz-v3/189066480387
uacme: challenge=http-01 ident=my.server.org token=hwccLceoyzqliArrl6VVMCXuX4BbkKrovMwc1OumhW4 key_auth=hwccLceoyzqliArrl6VVMCXuX4BbkKrovMwc1OumhW4.7nSoy3TidIwqfjaejJOiTAQyx_N0E6KyHe6rm5ggaqI
uacme: type 'y' followed by a newline to accept challenge, anything else to skip
NON PREMERE y E NON INTERROMPERE IL PROGRAMMA!
NELLA PENULTIMA RIGA E' SCRITTO IL VALORE CHE DOVRAI DARE A token e a key_auth
QUINDI PRIMA DI PREMERE y BISOGNA ANDARE NELLA FINESTRA DOVE GIRAVA server.js
BISOGNA EDITARE server.js E VANNO CAMBIATE LE STRINGHE COSTANTI
mytoken e mykauth. POI SI DEVE FAR RIPARTIRE IL SERVER WEB
user@PC6700K:~/node-dir$ node server.js
Server is running at 0.0.0.0:8080
ADESSO SI PUO' TORNARE NELLA FINESTRA DI UACME E PREMERE y
y
uacme: starting challenge at https://acme-v02.api.letsencrypt.org/acme/chall-v3/189066480387/8DK75A
uacme: polling challenge status at https://acme-v02.api.letsencrypt.org/acme/chall-v3/189066480387/8DK75A
uacme: polling challenge status at https://acme-v02.api.letsencrypt.org/acme/chall-v3/189066480387/8DK75A
uacme: polling order status at https://acme-v02.api.letsencrypt.org/acme/order/883313507/154265112377
uacme: finalizing order at https://acme-v02.api.letsencrypt.org/acme/finalize/883313507/154265112377
uacme: polling order status at https://acme-v02.api.letsencrypt.org/acme/order/883313507/154265112377
uacme: retrieving certificate at https://acme-v02.api.letsencrypt.org/acme/cert/037e325cd4f8f2bd0e4fd768081ca730daf0
uacme: saving certificate to ./my.server.org/cert.pem.tmp
uacme: renaming ./my.server.org/cert.pem.tmp to ./my.server.org/cert.pem
user@PC6700K:~/myuacme$
ABBIAMO TERMINATO. AVREMO DUE CARTELLE, my.server.org e private
user@PC6700K:~/myuacme$ ls
my.server.org private
user@PC6700K:~/myuacme$
nella cartella my.server.org
ci sara' il cert.pem ovvero la chiave pubblica comprendente la catena di certificati (3)
che vanno al tuo sito: ISRG Root X1 -> R3 -> my.server.org
nella cartella private c'e':
la tua chiave privata di base key.pem (che potresti usare anche per altri siti) ora non serve
e nella sottocartella my.server.org la chiave privata key.pem ma relativa al tuo sito
LE CHIAVI CHE VANNO USATE PER COSTRUIRE UN SERVER HTTPS SONO QUINDI:
my.server.org/cert.pem e
private/my.server.org/key.pem
Riconosci la chiave privata perche' inizia con un blocco
-----BEGIN RSA PRIVATE KEY-----
-----END RSA PRIVATE KEY-----
Riconosci il certificato pubblico da **tre** blocchi
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
le chiavi sono valide per tre mesi alla volta
VERIFICA DELLA VALIDITA' DELLE VOSTRE NUOVE CHIAVI
METTETE LE 2 CHIAVI IN UNA CARTELLA, IO HO SCELTO LA /home/user/.pem
PER SERVIRE LE RICHIESTE HTTPS, SCEGLIAMO IL PC DELLA LAN DOVE FARO' GIRARE IL
SERVER HTTPS E TALE PC, IN QUESTO ESEMPIO, AVRA' IP LOCALE 192.168.1.40
QUANDO SCRIVO https://my.server.org SI INTENDE https://my.server.org:443 PERCIO'
CI COLLEGHIAMO AL PANNELLO DI CONTROLLO DEL MODEM E CON LA FUNZIONE PORT FORWARD
FACCIAMO PUNTARE LA PORTA 443 ESTERNA AD UNA PORTA QUALSIASI DEL SOLITO
PC DELLA NOSTRA LAN, IN QUESTO ESEMPIO SCELGO LA 8443 OVVERO
REINDIRIZZIAMO WAN=443 ----> LAN=192.168.1.40:8443
(SE SCELGO LA STESSA PORTA, LA LAN=192.168.1.40:443 VA BENE,
MA IL SERVER DOVRA' GIRARE CON I PRIVILEGI DI ROOT)
EDITATE QUESTO SERVER VELOCE
file test.js
#!/usr/bin/node
const myhttps = require('https');
const myfs = require('fs');
const myserv = '0.0.0.0';
const myport = 8443;
const options = {
key: myfs.readFileSync('/home/user/.pem/key.pem'), //chiave privata
cert: myfs.readFileSync('/home/user/.pem/cert.pem') //cert pubblico
};
function sfunz(req, res)
{
console.log(req.method + ' ' + req.url);
res.writeHead(200);
res.write('SERVER OK<BR>\n');
res.end();
}
myhttps.createServer(options,sfunz).listen(myport,myserv);
console.log('Server running at '+ myserv + ':' + myport);
FATE PARTIRE test.js
user@PC6700K:~/node-dir$ node test.js
Server is running at 0.0.0.0:8443
e poi in un'altra finestra
user@PC6700K:~$ curl -k https://my.server.org
SERVER OK<BR>
deve funzionare anche togliendo la -k se le chiavi e la redirezione del dominio sono ok.
user@PC6700K:~$ curl https://my.server.org
SERVER OK<BR>
Spero che il tutorial sia riuscito bene, ma se c'e' qualcosa mal spiegato scrivetemelo che cerchero' di chiarire meglio.
-
@uomoukko grazie per i post, quando hai scritto nel post del procedimento "ricordatevi di aggiungere nobody su /etc/group se non ce l'avete
e ricordatevi di lanciarlo da root perché lega pure la porta 80 anche se non serve)" puoi spiegarlo meglio? Io wsl l'ho impostato sulla versione 2 e
in /etc/group ho "nogroup:x:65534:" va bene oppure lo devo modificare?
lanciando ubuntu sulla console powershell all'avvio mi mostra "IPv4 address for eth0: 172.18.198.233" .... non serve che cambi ip su powershell, giusto?
-
ciao, per il nginxproxy invece di toccare il tuo /etc/group, quello del WSL fai prima ad editare nginx.conf e gli metti
user nobody nogroup;
- se il proxy dovesse "ascoltare" anche porte minori di 1024 (come la 80) su Linux richiede di essere lanciato da root.
- il tch-exploit richiede che la scheda pc collegata al modem (la scheda con vlan) sia 58.162.0.X,
mentre la LAN per esempio da me è la 192.168.1.X con il modem che va in rete (non quello da trattare) su 192.168.1.1
Ricordati di impostare le chiavi di registro per cambiare ip di condivisione della connessione a 58.162.0.1,
altrimenti di default Windows ti condivide la rete 192.168.137.X con indirizzo 192.168.137.1 assegnato alla scheda pc
-
ciao, per il nginxproxy invece di toccare il tuo /etc/group, quello del WSL fai prima ad editare nginx.conf e gli metti
user nobody nogroup;
- se il proxy dovesse "ascoltare" anche porte minori di 1024 (come la 80) su Linux richiede di essere lanciato da root.
- il tch-exploit richiede che la scheda pc collegata al modem (la scheda con vlan) sia 58.162.0.X,
mentre la LAN per esempio da me è la 192.168.1.X con il modem che va in rete (non quello da trattare) su 192.168.1.1
Ricordati di impostare le chiavi di registro per cambiare ip di condivisione della connessione a 58.162.0.1,
altrimenti di default Windows ti condivide la rete 192.168.137.X con indirizzo 192.168.137.1 assegnato alla scheda pc
per il fatto che windows assegna l'ip in automatico, se volessi bloccarlo tramite firewall lo posso fare? Devo bloccare system(cioè il sistema operativo) oppure svchost? (cioè voglio bloccare la porta UDP 67 in ingresso e la porta UDP 68 in uscita cosi non arriva proprio a parlare alla porta del DGA4331)
-
@uomoukko niente da fare, ho preparato wsl, tool e tutto ma si blocca all'assegnazione dell'ip al dga
rimane inchiodato qui
"<< LISTENING TO PORT 67 >> PC=1 DGA=0"
non arriva la richiesta di assegnazione dell'ip. che faccio? il computer in uso è windows 10 x64
può essere che il tuo programma funzioni solo con le schede ethernet usb?
ho sniffato il traffico con wireshark, potrebbe esserti utile?
-
@dragonx
che tipo di scheda hai? non penso che dovrebbero esserci problemi cmq
- sei sicuro di aver messo nel file di config i macaddress corretti per il DGA !!!!
e per la scheda aggiuntiva?
- la scheda di rete aggiuntiva era settata vlan=83?
- prima di provare hai disabilitato la scheda di rete che ti da' Internet?
Importante, altrimenti il modem non si prende l'ip !
(la riabiliterai appena entrambi PC e DGA hanno ricevuto l'ip e poi farai la condivisione)
- Non è mai necessario riavviare il modem. Per attivare il client dhcp del modem (e pure del pc)
basta semplicemente staccare e riattaccare il cavetto pc(vlan=83)--- modem-WAN (mi raccomando non LAN)
[funziona anche disabilitando da Windows la scheda di rete aggiuntiva e riabilitandola, verifica che riabilitandola non azzeri il vlan=83]
se funziona, dopo una decina di secondi dovresti vederti passare il DHCP-DISCOVER OFFER, REQUEST
sia per il pc, sia per il modem. Insomma basta che il programma mostri DGA=1 PC=1 e sei a posto
A questo punto.... e questa è la parte critica, ridai Internet, lo condividi alla scheda aggiuntiva,
(se vuoi pinghi 58.162.0.12 per verificare che il modem sia rimasto a quell'ip se no fai lavoro inutile)
e poi lanci il tch-exploit, premi il WPS quando te lo richiede e auguri!!!!
cmq a parte tutto dovrebbe sicuramente funzionare fino al punto di assegnare entrambi gli ip
perché poi i casini almeno per me sono venuti dopo, il certificato sembrava rifiutato (controllato da wireshark)
e quindi non mi si apriva il canale criptato https sul quale avviene il dialogo del protocollo tr069
Ma c'è anche da dire che recentemente ho fatto quella prova con il vecchio DGA4130 e firmware
nuovo AGTEF_234 e preso dal panico NON ho riprovato sul mio DGA4331 (che motivo c'era di
rischiare di perdere il root?) e quindi potrebbe ancora funzionare.
-
@dragonx
che tipo di scheda hai? non penso che dovrebbero esserci problemi cmq
una scheda realtek integrata (dove cmq in gestione dispositivi si può settare la VLAN)
- sei sicuro di aver messo nel file di config i macaddress corretti per il DGA !!!!
e per la scheda aggiuntiva?
si, ho controllato e sono corretti su entrambi (per la scheda aggiuntiva è sicuro visto che la tua utility funziona, anche per il DGA ho controllato ed è corretto)
- la scheda di rete aggiuntiva era settata vlan=83?
si
- prima di provare hai disabilitato la scheda di rete che ti da' Internet?
Importante, altrimenti il modem non si prende l'ip !
(la riabiliterai appena entrambi PC e DGA hanno ricevuto l'ip e poi farai la condivisione)
si l' ho fatto
- Non è mai necessario riavviare il modem. Per attivare il client dhcp del modem (e pure del pc)
basta semplicemente staccare e riattaccare il cavetto pc(vlan=83)--- modem-WAN (mi raccomando non LAN)
[funziona anche disabilitando da Windows la scheda di rete aggiuntiva e riabilitandola, verifica che riabilitandola non azzeri il vlan=83]
no, il vlan non si azzera, cmq per essere sicuro che il dga richiedesse l'ip lo spegnevo e riavviavo. la paorta è la wan
A questo punto.... e questa è la parte critica, ridai Internet, lo condividi alla scheda aggiuntiva,
(se vuoi pinghi 58.162.0.12 per verificare che il modem sia rimasto a quell'ip se no fai lavoro inutile)
e poi lanci il tch-exploit, premi il WPS quando te lo richiede e auguri!!!!
ah un'altra cosa strana mi è capitato: se da cmd eseguo "ping 58.162.0.1" (ovviamente dopo che la tua utility ha assegnato l'ip) ottengo "PING: trasmissione non riuscita. Errore generale."
cmq a parte tutto dovrebbe sicuramente funzionare fino al punto di assegnare entrambi gli ip
perché poi i casini almeno per me sono venuti dopo, il certificato sembrava rifiutato (controllato da wireshark)
e quindi non mi si apriva il canale criptato https sul quale avviene il dialogo del protocollo tr069
c'è il rischio anche del certificato? a questo punto, ammesso che funzioni l'assegnazione dell'ip, mi tocca fare una utility NTP?
Ma c'è anche da dire che recentemente ho fatto quella prova con il vecchio DGA4130 e firmware
nuovo AGTEF_234 e preso dal panico NON ho riprovato sul mio DGA4331 (che motivo c'era di
rischiare di perdere il root?) e quindi potrebbe ancora funzionare.
già, anche perchè poi gli aggiornamenti dei package si potrebbero fare anche con apt get upgrade, giusto? L'unica cosa che "ci perdi" nel non aggiornare il firmware dovrebbero essere i driver.
Cmq ci sono anche altri dubbi che mi sono venuti in mente:
1. vedendo i log di wireshark, per la scheda di rete collegata al dga, viene fatta una query a partire dai frame con l'indirizzo mac, e ad un certo punto windows risponde con 169.254.125.242 .... in seguito tutte le richieste partono con questo ip. In rete ho trovata che questa simpatica feature si chiama "windows apipa". La posso disabilitare tranquillamente oppure rischio di avere dei problemi se sono costretto a stare in reti o vpn in cui sono obbligato ad usare dhcp?
2. andando in connessioni di rete ho anche l'interfaccia per WSL (si chiama vEthernet (WSL)). andando a vedere le impostazioni ipv4, questa ha come indirizzo ip 172.25.80.1 e come subnet mask 255.255.240.0 (non c'è alcuna condivisione). E' tutto corretto oppure devo cambiare qualcosa anche qui?
-
allora... confermo che il programma funziona, per fare una prova ci ho attaccato un DGA4130
e i due ip, 58.162.0.1 e 58.162.0.12 vengono assegnati e sono entrambi pingabili
C:\Users\user\Desktop\fa>ping 58.162.0.1
Esecuzione di Ping 58.162.0.1 con 32 byte di dati:
Risposta da 58.162.0.1: byte=32 durata<1ms TTL=128
Risposta da 58.162.0.1: byte=32 durata<1ms TTL=128
Risposta da 58.162.0.1: byte=32 durata<1ms TTL=128
Risposta da 58.162.0.1: byte=32 durata<1ms TTL=128
Statistiche Ping per 58.162.0.1:
Pacchetti: Trasmessi = 4, Ricevuti = 4,
Persi = 0 (0% persi),
Tempo approssimativo percorsi andata/ritorno in millisecondi:
Minimo = 0ms, Massimo = 0ms, Medio = 0ms
C:\Users\user\Desktop\fa>ping 58.162.0.12
Esecuzione di Ping 58.162.0.12 con 32 byte di dati:
Risposta da 58.162.0.12: byte=32 durata<1ms TTL=64
Risposta da 58.162.0.12: byte=32 durata<1ms TTL=64
Risposta da 58.162.0.12: byte=32 durata<1ms TTL=64
Risposta da 58.162.0.12: byte=32 durata<1ms TTL=64
Statistiche Ping per 58.162.0.12:
Pacchetti: Trasmessi = 4, Ricevuti = 4,
Persi = 0 (0% persi),
Tempo approssimativo percorsi andata/ritorno in millisecondi:
Minimo = 0ms, Massimo = 0ms, Medio = 0ms
quindi qualcosa non funziona da te. Cerchiamo di capire cosa.
Ipconfig ti deve dire
Scheda Ethernet Ethernet 3:
Suffisso DNS specifico per connessione:
Indirizzo IPv4. . . . . . . . . . . . : 58.162.0.1
Subnet mask . . . . . . . . . . . . . : 255.255.255.0
Gateway predefinito . . . . . . . . . :
e confermo, stacchi e riattacchi il cavetto e parte il dhcp da entrambi i capi delle schede
dopo tipo 10 secondi NON serve riavviare il modem.
Disabilita pure tutte le schede di rete tranne quella collegata al DGA4331
Togli pure IPV6 dalla proprietà della scheda di rete tanto non serve.
Sicuro che un antivirus particolarmente aggressivo non ti blocchi i pacchetti UDP?
Sicuro che quando lanci il programma il firewall di windows ti chieda di consentire la porta?
Interfaccia per WSL? usi WSL2? Cmq io uso wsl1 e non ho interfacce linux in vista nel pannello di controllo
169.254. mi sembra l'indirizzo di una scheda con ip non assegnato se non ricordo male eh
stacco e riattacco il famoso cavetto SENZA avviare dhcpD e dopo 10 secondi guarda:
Scheda Ethernet Ethernet 3:
Suffisso DNS specifico per connessione:
Indirizzo IPv4 configurazione automatica : 169.254.91.232
Subnet mask . . . . . . . . . . . . . : 255.255.0.0
Gateway predefinito . . . . . . . . . :
-
allora... confermo che il programma funziona, per fare una prova ci ho attaccato un DGA4130
e i due ip, 58.162.0.1 e 58.162.0.12 vengono assegnati e sono entrambi pingabili
C:\Users\user\Desktop\fa>ping 58.162.0.1
Esecuzione di Ping 58.162.0.1 con 32 byte di dati:
Risposta da 58.162.0.1: byte=32 durata<1ms TTL=128
Risposta da 58.162.0.1: byte=32 durata<1ms TTL=128
Risposta da 58.162.0.1: byte=32 durata<1ms TTL=128
Risposta da 58.162.0.1: byte=32 durata<1ms TTL=128
Statistiche Ping per 58.162.0.1:
Pacchetti: Trasmessi = 4, Ricevuti = 4,
Persi = 0 (0% persi),
Tempo approssimativo percorsi andata/ritorno in millisecondi:
Minimo = 0ms, Massimo = 0ms, Medio = 0ms
C:\Users\user\Desktop\fa>ping 58.162.0.12
Esecuzione di Ping 58.162.0.12 con 32 byte di dati:
Risposta da 58.162.0.12: byte=32 durata<1ms TTL=64
Risposta da 58.162.0.12: byte=32 durata<1ms TTL=64
Risposta da 58.162.0.12: byte=32 durata<1ms TTL=64
Risposta da 58.162.0.12: byte=32 durata<1ms TTL=64
Statistiche Ping per 58.162.0.12:
Pacchetti: Trasmessi = 4, Ricevuti = 4,
Persi = 0 (0% persi),
Tempo approssimativo percorsi andata/ritorno in millisecondi:
Minimo = 0ms, Massimo = 0ms, Medio = 0ms
quindi qualcosa non funziona da te. Cerchiamo di capire cosa.
Ipconfig ti deve dire
Scheda Ethernet Ethernet 3:
Suffisso DNS specifico per connessione:
Indirizzo IPv4. . . . . . . . . . . . : 58.162.0.1
Subnet mask . . . . . . . . . . . . . : 255.255.255.0
Gateway predefinito . . . . . . . . . :
e confermo, stacchi e riattacchi il cavetto e parte il dhcp da entrambi i capi delle schede
dopo tipo 10 secondi NON serve riavviare il modem.
io faccio cosi: disabilito la wifi (cioè la scheda che va su Internet), avvio dhcpd come amministratore, accendo il dga4331 e, anche se la tua utility assegna 1 a pc, se faccio il ping appare "PING: trasmissione non riuscita. Errore generale."
Disabilita pure tutte le schede di rete tranne quella collegata al DGA4331
Togli pure IPV6 dalla proprietà della scheda di rete tanto non serve.
Sicuro che un antivirus particolarmente aggressivo non ti blocchi i pacchetti UDP?
Sicuro che quando lanci il programma il firewall di windows ti chieda di consentire la porta?
Interfaccia per WSL? usi WSL2? Cmq io uso wsl1 e non ho interfacce linux in vista nel pannello di controllo
169.254. mi sembra l'indirizzo di una scheda con ip non assegnato se non ricordo male eh
stacco e riattacco il famoso cavetto SENZA avviare dhcpD e dopo 10 secondi guarda:
Scheda Ethernet Ethernet 3:
Suffisso DNS specifico per connessione:
Indirizzo IPv4 configurazione automatica : 169.254.91.232
Subnet mask . . . . . . . . . . . . . : 255.255.0.0
Gateway predefinito . . . . . . . . . :
l'antivirus non c'è (sta solo windows defender), il firewall l'ho impostato manualmente sia in entrata che in uscita, nel pannello di controllo ho l'interfaccia Linux con ip 172.31.32.1 e subnetmask 255.255.240.0 e gateway vuoto (non l'ho impostato io cosi: occorre cambiare impostazioni? )
-
Aggiunto firmware 1.1.3 Beta 001 alla mia repository:
https://drive.google.com/drive/folders/1sHmL087eixCzzokBD0kWpDZ8hDF0wTjY?usp=sharing
-
Aggiunto firmware 1.1.3 Beta 001 alla mia repository:
https://drive.google.com/drive/folders/1sHmL087eixCzzokBD0kWpDZ8hDF0wTjY?usp=sharing
ho visto il tuo contenuto su onedrive e vorrei chiederti alcune cose:
1. il file AGTHF_1.1.2_CLOSED.rbi https://drive.google.com/file/d/1pYwS7d6kmHFlNMW7MjsWlF94Ib7MR-W7/view?usp=share_link è una release oppure una beta? Te lo chiedo perchè qui https://hack-technicolor.readthedocs.io/en/stable/Repository/#dga4331-vcnt-3 c'è un firmware AGTHF_1.1.2_001_CLOSED.rbi di 44 MB mentre la tua versione è di 46.9 MB.
2. do dove hai preso quel firmware? E' sicuro?
3. sai se si può fare il root? Io ho la versione 1.1.1 ed il root funziona, con la 1.1.2 continua a funzionare tch-exploit?
-
Ok in questo post cercherò di fare una guida più completa su come ho sbloccato il Tim Hub+.
Requisiti:
- Un dominio con un certificato ssl valido (potete prenderne uno gratis da Freenom e poi generare un certificato con certbot, non sto a spiegare come) che punta verso 10.42.1.1 (dopo verrà spiegato perché).
- Un computer con una porta Ethernet e che abbia come sistema operativo una distribuzione Linux desktop (NON funzionano le macchine virtuali).
- Un Tim Hub+ con qualsiasi firmware (a me è andato con il 1.1.1).
Preparazione delle interfacce di reti:
Il Tim Hub+ ascolta di default richieste da parte di un server DHCP sulla VLAN 83, dobbiamo quindi crearne una dal nostro computer per procedere.
- Aprite il terminale e eseguite nm-connection-editor, si aprirà una finestra con la configurazione della rete.
- Cliccate sulla interfaccia che corrisponde alla vostra porta Ethernet, andate nelle impostazioni IPv4 e selezionate su metodo "Condiviso con altri computer", dopodiché salvate.
- Cliccate nel bottone "+" che sta al fondo della finestra e selezionate come tipo di connessione VLAN.
- Dopo aver creato la VLAN vi apparirà una finestra per la configurazione, impostate come "Interfaccia superiore" quella che corrisponde alla vostra porta Ethernet fisica, impostate 83 come Id, e selezionate nuovamente "Condiviso con altri computer" sulle impostazioni IPv4, infine salvate.
- La VLAN dovrebbe attivarsi in automatico una volta creata, in caso contrario attivatela voi dal pannello delle reti.
Risultato che dovreste avere della configurazione di rete: https://imgur.com/a/Ufkqa07 (https://imgur.com/a/Ufkqa07)
Sblocco del router [Metodo "NGINX"]:
tch-exploit è l'utility che useremo per sbloccare il router. Dato che però al momento non permette di configurare un server HTTPS, utilizzeremo NGINX come strada alternativa che farà da reverse proxy.
Ho compilato questa build di NGINX statica da utilizzare appositamente come proxy per le richieste dell'ACS, potete scaricarla qui: https://drive.google.com/file/d/1CNx8ze2GuM8vBDfbwrD9HwHkjKgxIqsw/view (https://drive.google.com/file/d/1CNx8ze2GuM8vBDfbwrD9HwHkjKgxIqsw/view)
La configurazione di base (nginx.conf) punta già verso un altro server HTTP, dovete soltanto aggiungere il vostro certificato SSL valido (fullchain.pem e privkey.pem dentro conf). Ricordatevi di avviarlo eseguendolo da terminale con ./nginx (attraverso i permessi root in caso utilizziate la porta 443).
Configurato il nostro reverse proxy, dobbiamo ora procedere con la fase più importante:
1. Scaricate tch-exploit da qui: https://github.com/BoLaMN/tch-exploit/releases/tag/2.0.2 e estraetelo.
2. Aprite il terminale nella directory dove si trova il programma e eseguite tch-exploit con questa configurazione:
sudo ./tch-exploit-linux --acsurl="https://VOSTRODOMINIO.xyz/" --ip="10.42.1.1" --dhcponly
Rimpiazzate VOSTRODOMINIO.xyz con quello che punta a 10.42.1.1
(L'ip 10.42.1.1 viene impostato automaticamente dalla configurazione delle interfacce di default e sarà usato dal router come gateway per la rete)
3. Preparate un altro terminale sempre nella stessa cartella ma con questo comando SENZA eseguirlo:
sudo ./tch-exploit-linux --port=4346 --ip="10.42.1.1"
(La porta è la stessa che ho impostato di default su nginx.conf)
4. Se non lo avete già fatto, collegate la porta ethernet del vostro computer a quella WAN del router e attivate la interfaccia.
5. Fate il ripristino di fabbrica al Tim Hub+, se non volete accedere alla webui vi basta tenere premuto il tasto reset per circa 8 secondi.
6. Attendete il primo avvio del router, se avete collegato correttamente le porte dovreste vedere dopo un po' il led "Linea" diventare verde.
7. Appena il led "Web" diventa verde (dovreste anche notare delle informazioni apparire nei log di tch-exploit), eseguite l'altro comando comando che avevate preparato.
8. Dopo qualche secondo dovreste iniziare a vedere delle richieste HTTP nel processo che avete appena eseguito, e infine un messaggio dove vi viene chiesto di premere il tasto WPS.
9. Premete il tasto WPS (singola pressione), se non appare nessun led significa che il comando di sblocco è stato eseguito.
10. Connettetevi con il vostro client ssh preferito a [email protected].
Spero di essere stato un po' chiaro con la procedura di sblocco, nel caso abbiate dubbi chiedetemi pure.
PS: Questa guida può funzionare anche nello Smart Modem Plus e nel Tim Hub "liscio" se possiedono almeno il firmware 2.3.0, ovviamente per questi modelli rimane consigliato il classico sblocco attraverso downgrade e autoflashgui in quanto più semplici.
Ciao a tutti,
mi chiedevo, poiché io dispongo di un VPS con Linux installato e con già installato nginx che funge da reverse proxy, e certbot che mi gestisce i certificati dei domini attivi sul server, potrei svolgere tutta la procedura direttamente dal VPS?
Saluti.
Ivan
[EDIT]
Effettivamente lavorando direttamente sul VPS potrebbe esserci qualche problema con l'assegnazione dell'IP via DHCP.
-
ho visto il tuo contenuto su onedrive e vorrei chiederti alcune cose:
1. il file AGTHF_1.1.2_CLOSED.rbi https://drive.google.com/file/d/1pYwS7d6kmHFlNMW7MjsWlF94Ib7MR-W7/view?usp=share_link è una release oppure una beta? Te lo chiedo perchè qui https://hack-technicolor.readthedocs.io/en/stable/Repository/#dga4331-vcnt-3 c'è un firmware AGTHF_1.1.2_001_CLOSED.rbi di 44 MB mentre la tua versione è di 46.9 MB.
2. do dove hai preso quel firmware? E' sicuro?
3. sai se si può fare il root? Io ho la versione 1.1.1 ed il root funziona, con la 1.1.2 continua a funzionare tch-exploit?
con la versione 1.1.1 il tch exploit funziona, per aggiornare alla 1.1.2 release va seguita questa guida https://hack-technicolor.readthedocs.io/en/stable/Upgrade/ (e va necessariamente eseguito rm -rf /overlay/$(cat /proc/banktable/booted) , perchè altrimenti nginx va in 500 e non funziona).
Ciao a tutti,
mi chiedevo, poiché io dispongo di un VPS con Linux installato e con già installato nginx che funge da reverse proxy, e certbot che mi gestisce i certificati dei domini attivi sul server, potrei svolgere tutta la procedura direttamente dal VPS?
Saluti.
Ivan
[EDIT]
Effettivamente lavorando direttamente sul VPS potrebbe esserci qualche problema con l'assegnazione dell'IP via DHCP.
secondo me è meglio seguire la guida di @uomoukko con la sua utility, oltre all'ip devi metterci anche l'option43 con l'url
-
Lascio 3 firmware beta non postati prima... @TeddyRaspin76 magari aggiungi in repo..
https://www.mediafire.com/file/2yx3jnlykiedkup/AGTHF_1.1.2_003_CLOSED.rbi/file
https://www.mediafire.com/file/o4h5h6jxus8z7bw/AGTHF_1.2.0_001_CLOSED.rbi/file
https://www.mediafire.com/file/wo0fh2uro4dgavk/AGTHF_1.2.0_002_CLOSED.rbi/file
-
@FrancYescO
Aggiunti i firmwares 1.2.0 (Beta 001 e 002) alla Repository. Grazie. ;)
https://drive.google.com/drive/folders/1sHmL087eixCzzokBD0kWpDZ8hDF0wTjY
-
Ciao a tutti,
ho un DGA4331 per fare degli esperimenti :) e con il firmware 1.1.1 sono arrivato al root seguendo a grandi linee le procedure di uomoukko ed imdadadani .
Mi è rimasta una curiosità... quali sono le sezioni di configurazione del router (accessibili con "uci show" oppure nella cartella /etc/config/ ) che abilitano questo comportamento... e cioè la richiesta DHCP sulla ETH WAN e successivo tentativo di connessione all'ACS URL che gli abbiamo passato tramite option 43 ?
:-\
-
Ciao a tutti,
ho un DGA4331 per fare degli esperimenti :) e con il firmware 1.1.1 sono arrivato al root seguendo a grandi linee le procedure di uomoukko ed imdadadani .
Mi è rimasta una curiosità... quali sono le sezioni di configurazione del router (accessibili con "uci show" oppure nella cartella /etc/config/ ) che abilitano questo comportamento... e cioè la richiesta DHCP sulla ETH WAN e successivo tentativo di connessione all'ACS URL che gli abbiamo passato tramite option 43 ?
:-\
Piu' che uci show sono protocolli di zero-configuration a cui dovrebbero essere grossomodo compatibili tutti i modelli di router (per realizzare dei dispositivi plug and play, ma si sa che nessuno poi se ne frega dei protocolli esistenti e ci si diverte a reinventare la ruota).
in ogni caso, il grosso del lavoro/config su questi dispositivi è in
/etc/config/cwmpd (uci show cwmpd)
e
/etc/wansensing/
-
Ok in questo post cercherò di fare una guida più completa su come ho sbloccato il Tim Hub+.
Requisiti:
- Un dominio con un certificato ssl valido (potete prenderne uno gratis da Freenom e poi generare un certificato con certbot, non sto a spiegare come) che punta verso 10.42.1.1 (dopo verrà spiegato perché).
- Un computer con una porta Ethernet e che abbia come sistema operativo una distribuzione Linux desktop (NON funzionano le macchine virtuali).
- Un Tim Hub+ con qualsiasi firmware (a me è andato con il 1.1.1).
Preparazione delle interfacce di reti:
Il Tim Hub+ ascolta di default richieste da parte di un server DHCP sulla VLAN 83, dobbiamo quindi crearne una dal nostro computer per procedere.
- Aprite il terminale e eseguite nm-connection-editor, si aprirà una finestra con la configurazione della rete.
- Cliccate sulla interfaccia che corrisponde alla vostra porta Ethernet, andate nelle impostazioni IPv4 e selezionate su metodo "Condiviso con altri computer", dopodiché salvate.
- Cliccate nel bottone "+" che sta al fondo della finestra e selezionate come tipo di connessione VLAN.
- Dopo aver creato la VLAN vi apparirà una finestra per la configurazione, impostate come "Interfaccia superiore" quella che corrisponde alla vostra porta Ethernet fisica, impostate 83 come Id, e selezionate nuovamente "Condiviso con altri computer" sulle impostazioni IPv4, infine salvate.
- La VLAN dovrebbe attivarsi in automatico una volta creata, in caso contrario attivatela voi dal pannello delle reti.
Risultato che dovreste avere della configurazione di rete: https://imgur.com/a/Ufkqa07 (https://imgur.com/a/Ufkqa07)
Sblocco del router [Metodo "NGINX"]:
tch-exploit è l'utility che useremo per sbloccare il router. Dato che però al momento non permette di configurare un server HTTPS, utilizzeremo NGINX come strada alternativa che farà da reverse proxy.
Ho compilato questa build di NGINX statica da utilizzare appositamente come proxy per le richieste dell'ACS, potete scaricarla qui: https://drive.google.com/file/d/1CNx8ze2GuM8vBDfbwrD9HwHkjKgxIqsw/view (https://drive.google.com/file/d/1CNx8ze2GuM8vBDfbwrD9HwHkjKgxIqsw/view)
La configurazione di base (nginx.conf) punta già verso un altro server HTTP, dovete soltanto aggiungere il vostro certificato SSL valido (fullchain.pem e privkey.pem dentro conf). Ricordatevi di avviarlo eseguendolo da terminale con ./nginx (attraverso i permessi root in caso utilizziate la porta 443).
Configurato il nostro reverse proxy, dobbiamo ora procedere con la fase più importante:
1. Scaricate tch-exploit da qui: https://github.com/BoLaMN/tch-exploit/releases/tag/2.0.2 e estraetelo.
2. Aprite il terminale nella directory dove si trova il programma e eseguite tch-exploit con questa configurazione:
sudo ./tch-exploit-linux --acsurl="https://VOSTRODOMINIO.xyz/" --ip="10.42.1.1" --dhcponly
Rimpiazzate VOSTRODOMINIO.xyz con quello che punta a 10.42.1.1
(L'ip 10.42.1.1 viene impostato automaticamente dalla configurazione delle interfacce di default e sarà usato dal router come gateway per la rete)
3. Preparate un altro terminale sempre nella stessa cartella ma con questo comando SENZA eseguirlo:
sudo ./tch-exploit-linux --port=4346 --ip="10.42.1.1"
(La porta è la stessa che ho impostato di default su nginx.conf)
4. Se non lo avete già fatto, collegate la porta ethernet del vostro computer a quella WAN del router e attivate la interfaccia.
5. Fate il ripristino di fabbrica al Tim Hub+, se non volete accedere alla webui vi basta tenere premuto il tasto reset per circa 8 secondi.
6. Attendete il primo avvio del router, se avete collegato correttamente le porte dovreste vedere dopo un po' il led "Linea" diventare verde.
7. Appena il led "Web" diventa verde (dovreste anche notare delle informazioni apparire nei log di tch-exploit), eseguite l'altro comando comando che avevate preparato.
8. Dopo qualche secondo dovreste iniziare a vedere delle richieste HTTP nel processo che avete appena eseguito, e infine un messaggio dove vi viene chiesto di premere il tasto WPS.
9. Premete il tasto WPS (singola pressione), se non appare nessun led significa che il comando di sblocco è stato eseguito.
10. Connettetevi con il vostro client ssh preferito a [email protected].
Spero di essere stato un po' chiaro con la procedura di sblocco, nel caso abbiate dubbi chiedetemi pure.
PS: Questa guida può funzionare anche nello Smart Modem Plus e nel Tim Hub "liscio" se possiedono almeno il firmware 2.3.0, ovviamente per questi modelli rimane consigliato il classico sblocco attraverso downgrade e autoflashgui in quanto più semplici.
Non mi torna il passaggio 5, se faccio ciò non vado a perdermi la configurazione di port forwarding del router che ho fatto per far si che il dominio ci arrivi?
-
Con l'avvento della fibra 2.5 gigabit questo modello di router diverrà il più popolare. Quindi proporrei, se possibile, e sarei anche disposto ad occuparmene io, di fare un po' di ordine in questo thread molto disordinato. Scusate, andrò parecchio off topic in questo post.
Innanzitutto salve a tutti, io sono Tranopax, sono un nabbo e mi sono approcciato alla scena di rooting e modding dei router TIM perchè avevo due esigenze:
1) Impostare un'impostazione DNS globale dal router senza dover impostarla su ogni singolo dispositivo di casa mia
2) poter utilizzare un router di terze parti come secondo access point (slave) in modo che col cellulare posso camminare da retewifi a retewifi in parti diverse di casa mia senza alcun litigio fra le reti e problemi di buffering. Sì, di default è possibile realizzare questa cosa solo se si posseggono due modem tim (anche diversi).
Con l'originale TIM HUB (DGA4132) installare l'ansuel gui era la soluzione più semplice che sistemava tutto, ma da quel che vedo non è compatibile con questo modello e ansuel è sparito dalla faccia della terra.
temo sia necessario fare il root e applicare queste modifiche elencate in questa pagina delle wiki https://hack-technicolor.readthedocs.io/en/stable/Unlock
Comunque, riassumendo, ecco i due post chiave per fare il root:
METODO DA LINUX:
Ok in questo post cercherò di fare una guida più completa su come ho sbloccato il Tim Hub+.
Requisiti:
- Un dominio con un certificato ssl valido (potete prenderne uno gratis da Freenom e poi generare un certificato con certbot, non sto a spiegare come) che punta verso 10.42.1.1 (dopo verrà spiegato perché).
- Un computer con una porta Ethernet e che abbia come sistema operativo una distribuzione Linux desktop (NON funzionano le macchine virtuali).
- Un Tim Hub+ con qualsiasi firmware (a me è andato con il 1.1.1).
Preparazione delle interfacce di reti:
Il Tim Hub+ ascolta di default richieste da parte di un server DHCP sulla VLAN 83, dobbiamo quindi crearne una dal nostro computer per procedere.
- Aprite il terminale e eseguite nm-connection-editor, si aprirà una finestra con la configurazione della rete.
- Cliccate sulla interfaccia che corrisponde alla vostra porta Ethernet, andate nelle impostazioni IPv4 e selezionate su metodo "Condiviso con altri computer", dopodiché salvate.
- Cliccate nel bottone "+" che sta al fondo della finestra e selezionate come tipo di connessione VLAN.
- Dopo aver creato la VLAN vi apparirà una finestra per la configurazione, impostate come "Interfaccia superiore" quella che corrisponde alla vostra porta Ethernet fisica, impostate 83 come Id, e selezionate nuovamente "Condiviso con altri computer" sulle impostazioni IPv4, infine salvate.
- La VLAN dovrebbe attivarsi in automatico una volta creata, in caso contrario attivatela voi dal pannello delle reti.
Risultato che dovreste avere della configurazione di rete: https://imgur.com/a/Ufkqa07 (https://imgur.com/a/Ufkqa07)
Sblocco del router [Metodo "NGINX"]:
tch-exploit è l'utility che useremo per sbloccare il router. Dato che però al momento non permette di configurare un server HTTPS, utilizzeremo NGINX come strada alternativa che farà da reverse proxy.
Ho compilato questa build di NGINX statica da utilizzare appositamente come proxy per le richieste dell'ACS, potete scaricarla qui: https://drive.google.com/file/d/1CNx8ze2GuM8vBDfbwrD9HwHkjKgxIqsw/view (https://drive.google.com/file/d/1CNx8ze2GuM8vBDfbwrD9HwHkjKgxIqsw/view)
La configurazione di base (nginx.conf) punta già verso un altro server HTTP, dovete soltanto aggiungere il vostro certificato SSL valido (fullchain.pem e privkey.pem dentro conf). Ricordatevi di avviarlo eseguendolo da terminale con ./nginx (attraverso i permessi root in caso utilizziate la porta 443).
Configurato il nostro reverse proxy, dobbiamo ora procedere con la fase più importante:
1. Scaricate tch-exploit da qui: https://github.com/BoLaMN/tch-exploit/releases/tag/2.0.2 e estraetelo.
2. Aprite il terminale nella directory dove si trova il programma e eseguite tch-exploit con questa configurazione:
sudo ./tch-exploit-linux --acsurl="https://VOSTRODOMINIO.xyz/" --ip="10.42.1.1" --dhcponly
Rimpiazzate VOSTRODOMINIO.xyz con quello che punta a 10.42.1.1
(L'ip 10.42.1.1 viene impostato automaticamente dalla configurazione delle interfacce di default e sarà usato dal router come gateway per la rete)
3. Preparate un altro terminale sempre nella stessa cartella ma con questo comando SENZA eseguirlo:
sudo ./tch-exploit-linux --port=4346 --ip="10.42.1.1"
(La porta è la stessa che ho impostato di default su nginx.conf)
4. Se non lo avete già fatto, collegate la porta ethernet del vostro computer a quella WAN del router e attivate la interfaccia.
5. Fate il ripristino di fabbrica al Tim Hub+, se non volete accedere alla webui vi basta tenere premuto il tasto reset per circa 8 secondi.
6. Attendete il primo avvio del router, se avete collegato correttamente le porte dovreste vedere dopo un po' il led "Linea" diventare verde.
7. Appena il led "Web" diventa verde (dovreste anche notare delle informazioni apparire nei log di tch-exploit), eseguite l'altro comando comando che avevate preparato.
8. Dopo qualche secondo dovreste iniziare a vedere delle richieste HTTP nel processo che avete appena eseguito, e infine un messaggio dove vi viene chiesto di premere il tasto WPS.
9. Premete il tasto WPS (singola pressione), se non appare nessun led significa che il comando di sblocco è stato eseguito.
10. Connettetevi con il vostro client ssh preferito a [email protected].
Spero di essere stato un po' chiaro con la procedura di sblocco, nel caso abbiate dubbi chiedetemi pure.
PS: Questa guida può funzionare anche nello Smart Modem Plus e nel Tim Hub "liscio" se possiedono almeno il firmware 2.3.0, ovviamente per questi modelli rimane consigliato il classico sblocco attraverso downgrade e autoflashgui in quanto più semplici.
Per farlo da Windows è più complicato ma a quanto pare il procedimento sarebbe questo:
CE L'HO FATTAAAAAAA, MA DA WINDzozZ.... ora vi spiego:
MATERIALI OCCORRENTI:
- Firmware tutti, almeno ad oggi fino al AGTHF_1.1.2_001
quindi non state ad usare vecchi firmware se no dovrete fare upgrade
- un dominio tipo let's encrypt con data scadenza valida
e quindi le relative chiavi pubbliche e private
- il settaggio dynamic dns sul proprio modem di casa che ridiriga
il dominio in questione sull'Ip dinamico del proprio modem di casa
- una scheda di rete aggiuntiva con VLAN ID,
- Windows con Linux WSL per far girare nginproxy e tch-exploit-linux,
- Modifiche al registro di Windows per Internet Connection Sharing,
- nginxproxy,
- tch-exploit-linux.
PROCEDIMENTO:
Ho scaricato nginxproxy, compilato staticamente da @imdadani che ho estratto su windows WSL.
(ah, ricordatevi di aggiungere nobody su /etc/group se non ce l'avete
e ricordatevi di lanciarlo da root perché lega pure la porta 80 anche se non serve)
Nella cartella conf ci copiate il file di certificato pubblico multiplo e quello di chiave privata.
i nomi non hanno alcuna rilevanza. Ricordatevi però che sotto le rispettive voci
ssl_certificate ci metterete il file con la catena di certificati (cert.pem da me)
ssl_certificate_key ci metterete la chiave privata (key.pem da me)
La chiave pubblica, la mia, sono 3 blocchi che iniziano con -----BEGIN CERTIFICATE-----
che contengono i tre certificati della mia catena di certificazione che parte da ISRG Root X1, continua con R3 e infine www.miodominio.com.
La chiave privata è un unico blocco che inizia con -----BEGIN RSA PRIVATE KEY-----
Editate nginx.conf per specificare i nomi delle chiavi che userete.
Sempre nella nginx.conf settate, nella listen
la PORT LAN sulla quale avete ridiretto la connessione ACS che
arriverà sul modem che fornisce internet, e andrà al pc locale
tramite port-forward.
io avevo ridiretto la porta WAN TCP x.x.x.x:8443 sulla LAN TCP 192.168.1.30:8443
dove 192.168.1.30 è l'Ip del pc con Windows usato per il sbloccare il modem.
Quindi il mio nginx dovra' ascoltare la porta LAN 8443. Ci metto quindi
listen 8443 ssl default_server;
listen [::]:8443 ssl default_server;
Tutto bello ma come verifico di non aver sbagliato?
Sempre in nginx.conf, modifico temporaneamente il proxy_pass
e lo faccio puntare ad un server qualsiasi, ma che sia http
proxy_pass http://www.slackware.com;
Proviamo? Dal pc di casa eseguo:
openssl s_client -connect www.miodominio.com:8443
GET / HTTP/1.0 (due volte invio)
a questo punto la richiesta di connessione (SSL) su
https://www.miodominio.com:8443
arriva all'IP pubblico del mio modem-internet e tramite
port-forward del modem-internet va sulla porta locale (SSL)
https://192.168.1.30:8443
che è gestita da nginxproxy che praticamente
trasforma https in http e ridirige su
http://www.slackware.com sulla porta 80
Quindi se tutto funziona, dopo i due INVIO,
dovrete veder passare i codici html della pagina di www.slackware.com.
Rimettete pure proxy_pass http://localhost:4346; nella conf. di nginxproxy.
(il numero di porta può essere cambiato, ma deve corrispondere allo stesso
numero di porta nel successivo comando tch-exploit-linux)
Avevo già una scheda di rete USB funzionante sotto Windows con VLAN ID modificabile
Ho connesso la LAN/WAN del DGA4331 sul connettore della scheda di rete USB
e gli ho assegnato (Proprietà-Configura-Avanzate) VLAN ID 83
Disabilito momentaneamente la scheda di rete che va su Internet.
Se non l'ho fatto prima RESETTO il modem alle impostazioni di fabbrica
questo perché un modem con configurazione estesa ha il cwmp disabilitato.
Dal menù del modem: Gateway-Configurazione-Reset
Se è già stato resettato riavvio il DGA4331, ma non è necessario:
basta scollegare e ricollegare il cavo WAN/LAN per far riassegnare gli IP
Adesso devo fornire due IP, uno per entrambi i lati del cavo
che collega il pc al DGA4331.
Uso un mio programma DHCP che ascolta i mac-address e assegna
degli IP prestabiliti, che quindi sono sempre gli stessi
sempre 58.162.0.12 per il mac corrispondente al DGA4331
e sempre 58.162.0.1 per il mac corrispondente alla scheda-usb con VLAN lato pc
Vengono assegnati due Ip dinamici, ma senza lease, quindi l'IP dura un tempo infinito.
Il programma poi tramite option 43 manda solo al DGA4331 (58.162.0.12)
il comando di connessione a https://www.miodominio.com:8443
Credo si possa fare la stessa cosa con tch-exploit-linux usando l'opzione --dhcponly
# ./tch-exploit-linux --acsurl="https://www.miodominio.com:8443/" --ip="58.162.0.1" --dhcponly
Aspetto che il mio programma mi segnali che ha dato l'ACK
alla richiesta DHCP su entrambi i lati, (quindi i due IP sono confermati),
e noto che non appena il modem riceve l'IP accende di verde Power Linea
e finalmente anche Web (che inizia a lampeggiare)
Infatti il modem ha ricevuto insieme all'Ip anche l'opzione 43
che lo comanda di collegarsi.
Allora abilito la scheda di rete che mi da internet,
quella che avevo prima disabilitato, e poi la condivido
(Proprietà-Condivisione-Consenti ad altri utenti di collegarsi...)
avendo l'accortezza di aver settato le chiavi di registro di Windows
così da far condividere Internet tramite routing su IP 58.162.0.1
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters]
"ScopeAddress"="58.162.0.1"
"ScopeAddressBackup"="58.162.0.1"
così l'IP della scheda sul pc viene ad essere identico a quello
che gli ho dato io via mio DHCP). Ma questa condivisione mi attiva
un secondo DHCP di Windows che assegna ip su 58.162.0.X
e che quindi potrebbe far cambiare l'IP del modem,
(ma non del pc, 58.162.0.1 perché è fissato dalla condivisione internet)
Test eventuale: se io dal pc facendo ping 58.162.0.12 sento la risposta,
significa che il modem DGA4331 è ancora con quell'IP quindi proseguo,
se no eventualmente rifaccio la procedura.
Nota aggiuntiva: Se dovessi rifar tutto e quindi ri-DISABILITARE lato pc
la scheda di rete collegata al DGA4331, ho notato che disabilitando
la scheda di rete condivisa, il DHCP di Windows rimane ATTIVO.
Quindi PRIMA tolgo la Condivisione, POI disabilito la scheda di rete)
Adesso, sempre da WSL, dopo aver precedentemente estratto
tch-exploit-linux, lo lancio:
# ./tch-exploit-linux --port=4346 --ip="58.162.0.1"
Quindi ricapitolando, l'opzione 43 del DHCP comanda il modem
in 58.162.0.12 di collegarsi al https://www.miodominio.com:8443
la connessione viene ridiretta dal port-forward a https://192.168.1.30:8443
la connessione viene presa da nginxproxy che a sua volta la
dirotta in http://192.168.1.30:4346
e questa connessione viene gestita da tch-exploit-linux
Alla fine vedrete scorrere un sacco di scritte verdi,
vedrete passare il file in bash che modifica il dropbear ecc
>>> .STS REQUEST
poi vedrete questo
*** PRESS AND HOLD THE WPS BUTTON ON YOUR GATEWAY ***
Toccate il tasto WPS con un tocco breve, se funziona non si deve accendere
la luce gialla del WPS e nemmeno rossa ma vedrete
>>>WPS CALLBACK
e poi All done
A questo punto tch-exploit SI FERMA e restituisce il prompt
Questo è il segno che tutto è andato bene.
Cambiate i cavi, e collegatevi alla porta LAN del DGA4331
che vi assegnerà un IP 192.168.1.x e lanciate ssh
$ ssh 192.168.1.1 -l root
[email protected]'s password:
BusyBox v1.31.0 () built-in shell (ash)
_______ __ __ __
|_ _|.-----.----.| |--.-----.|__|.----.-----.| |.-----.----.
| | | -__| __|| | || || __| _ || || _ | _|
|___| |_____|____||__|__|__|__||__||____|_____||__||_____|__|
N E X T G E N E R A T I O N G A T E W A Y
--------------------------------------------------------------------
NG GATEWAY SIGNATURE DRINK
--------------------------------------------------------------------
* 1 oz Vodka Pour all ingredients into mixing
* 1 oz Triple Sec tin with ice, strain into glass.
* 1 oz Orange juice
--------------------------------------------------------------------
:clap:
Nota finale: la procedura una volta avviata è facile, riesce alla prima
e soprattutto è ripetibile.
Infatti dopo aver provato col firmware 1.0.1 ho messo config estesa
per fare gli aggiornamenti del firmware, poi ho aggiornato alla 1.1.2_001,
poi ho resettato per togliere la config estesa
e ho ottenuto di nuovo il root YEAH!
Tuttavia, non mi è ancora chiaro se entrambi i metodi sono attuali nel 2024, visto che ci sono altri post di uomouokko che parlando di certificati incompatibili e simili nelle pagine precedenti.
Aggiornerò questo post con i miei progressi man mano che li faccio lungo questo arduo percorso, sia per appuntarmeli, che per aiutare altri coraggiosi. N.B. se qualcosa si rompe non sono responsabile perchè ne capisco meno di voi.
Parte 0: preparazione.
Avrete bisogno di una connessione internet wi-fi (il mio fisso ha due porte ethernet, ho provato ad usarle, ma per me non ha funzionato) in contemporanea a quello che dovrete fare con il TIM Hub+ attraverso la porta ethernet, ovviamente la connessione wifi deve avvenire attraverso un altro router. Non so se è servito a qualcosa, ma su questo altro router ho aperto, per il mio pc, le porte TCP 80, 83 e 443. Il metodo per sbloccarle dipenderà da router a router, ma non è difficile.
Firmware usato sul timhub+ è stato AGTHP 1.1.1 non è ben documentato nei thread quali firmware funzionino oppure no, ma da quel che ho capito 1.1.1 e 1.1.2 sono quelli consigliati. Se non avete questo firmware installato lo potete ottenere da questo sito web: https://hack-technicolor.readthedocs.io/en/stable/Repository/#dga4331-vcnt-3
Scaricatelo su un dispositivo. Resettate il router alle impostazioni di fabbrica premendo sul retro il pulsante reset con una matita per 8 secondi, dopodichè aspettate il riavvio, accedete con la password di default scritta sul retro del vostro TimHub+, e vi sarà apparsa una nuova mattonella che vi permetterà di abilitare la configurazione estesa. Fatelo, dopodichè riaccedete.
Nella mattonella "generali"/"modem", abilitando le opzioni avanzate, vi apparirà l'opzione di aggiornare il firmware caricando quello che avete scaricato. Fatelo
ottenere Linux: Ho scelto Linux Mint e ho seguito la guida ufficiale per ottenere una USB live di Linux Mint. Dopodichè ho installato Linux Mint creando una partizione su un hard disk che aveva spazio, facendo coesistere Windows e Linux. Avvio in Linux
ottenere un dominio, la parte più difficile. Freenom non funziona più, perciò mi sono rifatto a questa lista su reddit https://www.reddit.com/r/freenom/comments/16kwmm2/alternatives_to_freenom_megalist/ e ho trovato una pagina github dove è descritto un metodo per ottenere un subdominio facilmente (is-probably.gay) . Come DNS del dominio ho impostato il mio IP esterno.
Dopodichè ho creato il webserver su linux seguendo questa guida https://www.linuxfordevices.com/tutorials/ubuntu/install-web-server-host-website-linux (N.B. ci sono degli errori nella guida: usate sempre sudo e state attenti quando create la directory del vostro webserver perchè la guida per errore dice di creare la directory /var/vostrodominio.com due volte)
Per ottenere il certificato ho usato Certbot, installandolo come da questa guida https://www.digitalocean.com/community/tutorials/how-to-use-certbot-standalone-mode-to-retrieve-let-s-encrypt-ssl-certificates-on-ubuntu-16-04. Dopodichè ho aperto la porta 80 e 443 sul router per accesso all'ip del mio server, e poi ho seguito questa guida per ottenere e applicare i certificati ssl https://www.linuxbabe.com/ubuntu/https-apache-letsencrypt-ubuntu (n.b. se c'è qualche problema purgate e reinstallate apache2)
il che mi ha fatto ottenere, finalmente, il certificato SSL! N.B. SEGNATEVI IL PERCORSO DEI CERTIFICATI DA QUALCHE PARTE
dopodichè, rimetto il dns del dominio che ho creato a 10.42.1.1 , riaggiorno/rifaccio di nuovo i certificati SSL, e seguo passo passo le istruzioni.
Parte 1: configurazione connessione
Seguite passo passo le istruzioni provviste per configurare correttamente la vostra porta ethernet
Parte 2: Nginx proxy
Per avviare nginx proxy, scarichiamo la build che ci è stata precompilata cordialmente e estraiamola dove ci pare. Dopodichè andiamo nella cartella conf a modificare il file di configurazione facendo i seguenti step:
click destro in un punto della cartella e selezionare "apri nel terminale"
scrivere sudo nano nel terminale
trascinare il file all'interno del terminale, così che il percorso si completi automaticamente.
invio
Come specificato, modificare il config per includere i percorsi dei certificati. Per me poi, ho scoperto successivamente esser necessario scrivere all'inizio del config la seguente linea:
user nobody nogroup;
premere ctrl+o, invio e ctrl+x per salvare.
Per avviare nginx, aprire un terminale nella cartella di nginx, scrivere sudo e trascinare dentro il terminale il file nginx. Premere invio. Se dà problemi, forse è perchè dovete spegnere il servizio apache2, che dovete spegnere col seguente comando
sudo service apache 2 stopcontrollate il suo status con il comando systemctl status nginx
Parte 3: tch-exploit
ok, per me le tempistiche, in confronto a quelle riportate nella guida, sono state molto lunghe, davvero tantissimo.
Ecco com'è andata quando ho fatto il root:
Ho spento il wifi del computer per evitare problemi di tch-exploit nell'identificare le reti (ethernet) su cui lavorare, e poi ho avviato tch-exploit come dettagliato sopra nella guida.
Non funzionava, nel senso che dopo la comparsa della lucina web, e quindi avviato tch-exploit nel secondo terminale, non ho visto succedere nulla per 5 minuti buoni. Ho riacceso il wifi per fare qualche ricerca su internet e poi sono andato al bagno perchè mi scappava lo stimolo, lasciando lì tutto in sospeso. Quando sono tornato, non era ancora successo niente nella seconda finestra, e questo in realtà era un comportamento inusuale perchè mi ero sempre fermato quando anzichè le scritte verdi mi erano apparse, nella seconda finestra, scritte insensate ma NON verdi. Dopo pochi secondi, ho visto le scritte verdi apparire! :D
In totale, da inizio a fine procedura saranno passati 20 minuti buoni. Ma ce l'ho fatta sono al settimo cielo
da qui in poi si tratta di seguire la wiki per i successivi step https://hack-technicolor.readthedocs.io/en/stable/Hacking/PostRoot/
-
Con l'avvento della fibra 2.5 gigabit questo modello di router diverrà il più popolare. Quindi proporrei, se possibile, e sarei anche disposto ad occuparmene io, di fare un po' di ordine in questo thread molto disordinato. Scusate, andrò parecchio off topic in questo post.
Innanzitutto salve a tutti, io sono Tranopax, sono un nabbo e mi sono approcciato alla scena di rooting e modding dei router TIM perchè avevo due esigenze:
1) Impostare un'impostazione DNS globale dal router senza dover impostarla su ogni singolo dispositivo di casa mia
2) poter utilizzare un router di terze parti come secondo access point (slave) in modo che col cellulare posso camminare da retewifi a retewifi in parti diverse di casa mia senza alcun litigio fra le reti e problemi di buffering. Sì, di default è possibile realizzare questa cosa solo se si posseggono due modem tim (anche diversi).
Con l'originale TIM HUB (DGA4132) installare l'ansuel gui era la soluzione più semplice che sistemava tutto, ma da quel che vedo non è compatibile con questo modello e ansuel è sparito dalla faccia della terra.
temo sia necessario fare il root e applicare queste modifiche elencate in questa pagina delle wiki https://hack-technicolor.readthedocs.io/en/stable/Unlock
Comunque, riassumendo, ecco i due post chiave per fare il root:
METODO DA LINUX:
Per farlo da Windows è più complicato ma a quanto pare il procedimento sarebbe questo:
Tuttavia, non mi è ancora chiaro se entrambi i metodi sono attuali nel 2024, visto che ci sono altri post di uomouokko che parlando di certificati incompatibili e simili nelle pagine precedenti.
Aggiornerò questo post con i miei progressi man mano che li faccio lungo questo arduo percorso, sia per appuntarmeli, che per aiutare altri coraggiosi.
Parte 0: preparazione.
ottenere Linux: Ho scelto Linux Mint e ho seguito la guida ufficiale per ottenere una USB live di Linux Mint.
ottenere un dominio. Freenom non funziona più, perciò mi sono rifatto a questa lista su reddit https://www.reddit.com/r/freenom/comments/16kwmm2/alternatives_to_freenom_megalist/ e ho trovato questa pagina github dove è descritto un metodo per ottenere un dominio https://github.com/free-domains/register
[tommy@Workstation nginxproxy]$ curl -v https://miodomino.pippo
* Host miodomino.pippo:443 was resolved.
* IPv6: (none)
* IPv4: ip.segreto
* Trying ip.segreto:443...
* Connected to miodomino.pippo (ip.segreto) port 443
* ALPN: curl offers h2,http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* CAfile: /etc/ssl/certs/ca-certificates.crt
* CApath: none
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-ECDSA-AES256-GCM-SHA384 / x25519 / id-ecPublicKey
* ALPN: server accepted http/1.1
* Server certificate:
* subject: CN=miodomino.pippo
* start date: Jan 7 16:32:02 2024 GMT
* expire date: Apr 6 16:32:01 2024 GMT
* subjectAltName: host "miodomino.pippo" matched cert's "miodomino.pippo"
* issuer: C=US; O=Let's Encrypt; CN=R3
* SSL certificate verify ok.
* Certificate level 0: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using sha256WithRSAEncryption
* Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
* Certificate level 2: Public key type RSA (4096/152 Bits/secBits), signed using sha256WithRSAEncryption
* using HTTP/1.x
> GET / HTTP/1.1
> Host: miodomino.pippo
> User-Agent: curl/8.6.0
> Accept: */*
>
< HTTP/1.1 502 Bad Gateway
< Server: nginx/1.21.6
< Date: Wed, 14 Feb 2024 17:17:35 GMT
< Content-Type: text/html
< Content-Length: 157
< Connection: keep-alive
<
<html>
<head><title>502 Bad Gateway</title></head>
<body>
<center><h1>502 Bad Gateway</h1></center>
<hr><center>nginx/1.21.6</center>
</body>
</html>
Io fin qui sono arrivato, ho configurato nginx sul mio pc linux usando i certificati fatti con certbot. In più, ho configurato il portforwarding così, affinche il mio dominio sia raggiungibile dall'esterno. Non mi è ben chiaro cosa si debba fare dopo con tch, entrambe le guide menzionano un reset del router ma se faccio ciò mi si va a perdere la configurazione che ho appena creato con il portforwarding. (https://i.ibb.co/0h4fnFG/image.png)
-
@Tommy03 sono riuscito a fare il root e ho aggiornato il mio post precedente di conseguenza con tutti i dettagli. Forse il problema sta nel fatto che hai bisogno di un secondo router con connessione internet per far funzionare l'exploit? Quello lo puoi tenere con le porte aperte.
-
Salve a tutti!
Stavo per comprare il vecchio DGA4231 quando ho visto questo nuovo modello. Il modding sembrerebbe possibile, ma prima di fare danni o fare un acquisto sbagliato vorrei essere sicuro che quanto ho inteso sia esatto:
- Non devo fare alcun controllo preventivo prima di effettuare l'acquisto, Il modding si può fare indifferentemente dal firmware con il modem mi arriverà etc.
- E' ancora nessario aprirlo? Non è un problema almeno fin quando ci sono foto e schemi necessari.
- Nessuna funzionalità viene persa dopo averlo moddato
- Non c'è una Ansel GUI, ma nel link che avete postato ci sono comunque dei GUI alternativi, il che mi andrebbe più che bene. Limitazioni?
- Tutte le operazioni vanno fatte da ethernet (no Wifi) e da Linux (no ad emulatori come VirtualBox). Suppongo quindi vada bene fare un boot con Ubuntu installato su PenDrive.
- La creazione del dominio è ancora necessaria, giusto?
- Una volta sbloccato posso fare tutto quello che farei con il DGA4231 inclusa l'installazione di applicazioni che mi interessano tramite package manager (questa è la cosa che mi interessa di più).
- E' un modding molto complicato, per cui il rischio di errori con consequente brick è dietro l'angolo. Non so che tipo di modalità di recupero abbia questo modem, ma sinceramente non mi fido affatto, Inizierò le procedure solo quando mi saranno arrivati i programmatori serial (sia JTag che USBUart). Non avendoli mai usati di poter contare sul vostro aiuto!
Dimenticavo...
Ho Wind3! Posso usarlo con questo operatore così com'è (come si può col DGA4231) ? Lo chiedo perchè mi ci vorrà del tempo per preparare tutto il necessario per il modding (il portatile che userei si è rotto). Se posso usarlo con Wind solo dopo averlo moddato non è un problema, è un problemone!!
P.s. Il massimo che posso avere è una connessione EVDSL a 200M e mi domando se mi convenga di più rimanere invece sul DGA4231. Tanto, anche se questo sembrerebbe essere di gran lunga migliore (ancora devo capire su cosa rispetto al 4231), rimane comunque un modem e dovrò comunque collegarlo ad un router OpenWrt. Lo userei solo per ottenere la connettività e far girare alcune applicazioni. Se poi il modding lo renderebbe un ottimo router allora è un'altro discorso.
-
Ciao,
Partiamo dal presupposto che con una 200M va benissimo il DGA4132 che è molto più semplice da sbloccare.
L'unico vantaggio del 4331 a mio parere potrebbe essere il Wifi 6, ma con 200M non riesci a saturare neanche il 5Ghz del 4132.
Per rispondere ai tuoi punti parto dicendoti che come riporto nel punto 6 non è assicurato che la procedura funzioni ancora perché dipende se il certificato installato nei vecchi firmware è ancora valido
1.Non devi fare alcun controllo preventivo perché comunque si può fare il downgrade avendo il firmware
2.Non è necessario aprirlo
3.No, la mod semplicemente è ottenere l'accesso come root
4.La GUI non è 100% e può portare ad avere problemi, non ci sono altre GUI alternative ufficialmente compatibili
5.Va benissimo un boot Ubuntu da usb
6.Si la creazione è necessaria ma non ricordo se è ancora valido (In caso contrario non potresti completamente terminare la procedura)
7.Si, il repository di pacchetti è lo stesso del 4132 quindi puoi installare gli stessi identici pacchetti
8.In teoria se segui tutto e dopo fai la procedura per spostarti sul Bank 2 puoi sempre risolvere caricando il firmware tramite TFTP
Anche senza i permessi di root il 4331 come tutti gli ultimi modem TIM hanno la possibilità di abilitare la funzionalità "Modem Libero" che ti permette di configurare le tue configurazioni per usarlo anche su WindTre.
Ripeto un'ultima volta che a mio avviso per te è più sufficiente il 4132 ed è anche molto più semplice da sbloccare.
-
Ciao Lorenzo, ti ringrazio infinitamente per la risposta dettagliata.
La procedura in se non mi preoccupa. Tra l'altro, riguardando i punti salienti ho ben chiaro i vari processi perchè mi sono trovato a fare un modding molto simile qualche settimana fa finito purtroppo con un brick. Durante le procedure mi si è rotto il computer e per continuare ho rischiato usando un tablet (Wifi + Lubuntu VirtualBox) pur sapendo che non avrei dovuto. Aggiungo anche che è un enorme rischio fare il flashing da un dispositivo Android, anche se connesso in ethernet. Attualmente non sono in grado di stabilire quali dei due device sia stato il vero responsabile, ma per sicurezza io mi sento di bandirli entrambi.
Quindi, con cognizione di causa, scrivo in rosso che va usata solo una connessione ethernet da un sistema operativo Linux non virtualizzato!!
Riguardo la gui alternativa, è tanta la roba che manca? L'ideale sarebbe OpenWrt, ma suppongo che poi bye bye a modem!
Quindi, se ho ben capito, prima di acquistare questo modem, bisognerebbe verificare che il certificato sia ancora valido e se si, sbrigarsi a sbloccarlo. E' possibile farlo senza avere il modem tra le mani?
Non è che per caso il certificato serve proprio ad evitare l'apertura del modem? Perchè a sto punto mi risulta più semplice qualche ponte sulla scheda madre piuttosto che fare tanti giri attorno al certificato. Non ho ancora avuto modo di leggere bene, ma se la funzione del certificato è quella di far accettare il firmware custom unsigned, nel modding che feci io, c'era un trucchetto per disabilitare temporaneamente il signature check e fargli accettare il custom firmware modificato a sua volta con gli stessi controlli disabilitati. In questo modo, sarebbe stato possibile aggiornare con nuovi custom firmware in modo normale senza dover ricorrere all'exploit e factory mode. Magari un trucchetto simile anche per questo modem?
In effetti, visto che rispetto al 4132, le uniche differenze sembrerebbero essere il Wifi 6, le due porte USB 3.1 gen1 ed un banco RAM aggiuntivo di 128Mb, mi domandavo se ne valeva la pena. Con una fibra strozzata a 200M in effetti non avrebbe senso, ma ho intenzione di collegarci un NAS (separato o, meglio ancora, usarlo anche da NAS) e vorrei raggiungere localmente almeno la velocità supportata dai relativi storages (USB 3.2 gen2, 10Gbps). Anche in Wifi 6 perderei qualcosina, ma accettabile. Solo che con due porte 3.1 gen1 più di 5Gbps non passano, quindi mi ritrovo con lo stesso problema,
Mi sa proprio che hai ragione tu, meglio un 4132 per la connettività modem e lasciar fare il resto ad un router con OpenWrt.
L'unica cosa che mi rode è che il 4132 non ha la base DECT. Non mi interessa usare un cordeless RECT, ma mi sarebbe piaciuta molto l'idea di accedere alla lista chiamate, ricevere/bloccare chaiamate direttamente da un telefono Android etc. Che tu sappia c'è un modo alternativo per fare le stesse cose?
-
Lorenzo, ne approfitto di nuovo della tua disponibilità ed enorme conoscenza di questi due modem perchè temo, indifferentemente dal modello che sceglierò, di finire in un bagno di sangue.
In pratica sembrerebbe che collegarci un router è molto problematico. Servirebbe una seconda connessione PPoE da router e la TIM è l'unica a darla inclusa. Tutti gli altri gestori (inclusa Wind3 col quale sono io) la affittano a prezzi da capogiro.
Mi hanno detto che dovrei risolvere usando un Vigor (al quale disattivare la parte router per trasformarlo in modem puro) per poi connettere in PPoE un router OpenWrt.
I Vigor costano un occhio della testa e mi domandavo se fosse possibile agire direttamente nei DGA per ottenere lo stesso risultato (con o senza sblocco). Non so, magari disabilitando le interfacce.
Tu come sei riuscito a collegarci il router?
-
Ciao,
Faccio una precisazione il "Modding" come anticipavo non è altro che ottenere i permessi root del firmware originale TIM nel quale andare ad installare/modificare file presenti sul sistema. Il firmware è già basato su OpenWrt e da SSH puoi fare praticamente tutto quello che permette di fare OpenWRT, da interfaccia invece sei limitato a quello che da la GUI TIM oppure a quello che vai a sbloccare tramite GUI mod o modifica manuale (Non è documentato ma di fatto la GUI originale stessa può essere estesa).
Riguardo il tema dell'USB 3.1 io penso che anche in Wifi 6 il massimo che puoi ottenere è 1 Gb e quindi non ha senso spingersi con il DGA4331.
Su modalità alternative a quel del certificato aprendo il modem devi sentire chi è più esperto di me perché io non so aiutarti.
Infine per il tuo secondo post puoi mettere il DGA in Bridge sicuramente avendo i permessi root, non ricordo se puoi farlo anche tramite lo sblocco ufficiale Tim del modem libero. Sicuramente si trovano modalità di mettere in Bridge senza acquistare un Vigor
-
Grazie infinite Lorenzo! Sei un santo!
Immaginavo fosse su base OpenWrt, proprio come quello in cui avevo smanettato io. Ho capito, quindi la GUI TIM per le funzioni principali, una seconda GUI mod per quelle avanzate ed il resto che manca via ssh. Non so come ti ci sei trovato tu, ma a me sembra accettabile. Essendo OpenWrt, almeno uno sa cosa andare a cercare in caso sia costretto ad usare la riga di comando.
Opss...noto ora che "USB 3.0 USB 3.1 Gen 1" è sinonimo di "USB 3.2 Gen 1". Velocità max 5Gbit/s. Se intendi 1 gigabit (e non gigabyte) allora è ancora peggio, Significa che non entrano in gioco solo le relative interfacce a limitare il flusso dati, ma anche l'hardware del modem incapace di gestire velocità maggiori. Come dici tu, in qualsiasi modo la metto ci vado a perdere un bel pò, tanto vale prendere il 4132 e lasciar fare queste cose ad un router. Sarebbe una scelta facile se non fosse per il fatto che il 4331 è l'unico ad avere base DECT che vorrei sfruttare per collegarci un Android Mobile. Il cordless DECT non mi interessa, ma vorrei avere la possibilità di ricevere/fare/bloccare le telefonate dal mobile. Purtroppo non posso verificare sul campo, che tu sappia esistono pacchetti o comunque la possibilità di interfacciarsi col VOIP e replicare, più o meno, le stesse funzioni anche senza una base DECT?
Per il momento quindi è meglio considerare il certificato come l'unica opzione. A quanto tempo fa risale l'ultima volta che la procedura è stata completata con successo? Andando a ritroso nel thread sembrerebbe che ne è passato un bel pò di tempo:
@Tommy03 sono riuscito a fare il root e ho aggiornato il mio post precedente di conseguenza con tutti i dettagli. Forse il problema sta nel fatto che hai bisogno di un secondo router con connessione internet per far funzionare l'exploit? Quello lo puoi tenere con le porte aperte.
Che ne dici, è un rischio comprarlo adesso senza avere notizie più recenti?
Grazie per il suggerimento relativo al secondo post. Sto problema del PPPoE mi stava facendo impazzire. Quello che mi hai suggerito non ha nulla a che vedere con doppie NAT o doppi buffer, giusto? Mi hanno consigliato di evitarli perchè renderebbero vano il QoS da router OpenWrt.
Dopo queste modifiche, con la parte router disabilitata, mi domando quali pacchetti o applicazioni ci siano che possano migliorare la funzionalità del TIM HUB o meglio, se ha addirittura senso il modding qualora il bridge sia attivabile per via ufficiale.
-
Il certificato in se sembrerebbe essere valido fino al 2031, e Azure sembra ancora usare quello, quindi il metodo direi che è valido.
Ma sei sicuro che il 4331 sia DECT? Non ne ho mai avuto evidenza. Ad ogni mando per usare il VOIP basta un qualsiasi dispositivo connesso alla rete LAN che utilizzi i DNS TIM e puoi attivarlo dove vuoi con le credenziali (Io il numero di casa l'ho configurato direttamente su Zoiper sul mio telefono bypassando il modem)
No in bridge il DGA4132/DGA4331 fa da modem e tutto viene passato direttamente all'interfaccia LAN che poi si occupa di tirare su la PPPoE e ti confermo che se hai un tuo router e il DGA ti fa solo da Modem non ha alcun senso prendere il 4331, il 4132 lo fa benissimo
-
Ottima notizia! Ancor più ottima quella che neanche 4331 ha base DECT. Il manuale neanche ne fa menzione. Con tutti i tab aperti devo aver letto questa info in quello sbagliato. Credo che alla fine ad averla integrata siano i costosissimi FRITZ!Box e pochi altri. Di Zoiper ne avevo sentito parlare, ma non credevo consentisse di fare anche questo!
Vada per il 4132 allora!
Riguardo al bridge, ora che il 4132 sarebbe solo un modem. immagino che la lista dei pacchetti da installare per migliorarne le funziinalità si riduca notevolmente. Hai del pacchetti "must have" e/o delle mod da consigliarmi?
-
Per me in modalità Bridge non ha senso installare nulla tanto è tutto bypassato
-
Immaginavo...
Non esiste altro modo a parte il bridge? Perchè con una connessione da 200M praticamente mi rimane il 99% delle risorse inutilizzate e mi ci rode! :-\
-
Ma ad oggi, una volta ottenuti i permessi di root, è possibile installare un firmware personalizzato con funzionalità extra? Da github pare che la tch-nginx-gui non sia compatibile col nostro modem. Dico bene?
-
Ma ad oggi, una volta ottenuti i permessi di root, è possibile installare un firmware personalizzato con funzionalità extra? Da github pare che la tch-nginx-gui non sia compatibile col nostro modem. Dico bene?
il firmware personalizzato non esiste, una volta effettuato il root puoi installare ulteriori pacchetti per aggiungere funzionalità extra oppure sfruttare le funzionalità degli eseguibili già presenti (c'era un utente che doveva compilare nuovi pacchetti, ma adesso non ricordo). La gui come nel caso del dga4130 non c'è, comuqnue è possibile fare molte da linea di comando. non so cosa sia la tch-nginx-gui, so solo che per avere il root serve il tch-exploit (ed assicurati di non avere alcun modulo sfp all'interno dello slot, sta cosa mi impediva di fare il root)
-
Ciao ragazzi!
Oggi ho recuperato un DGA4331 che, appena acceso, mostra i led "Linea", "Web", "WPS" e "Voce" fissi accesi e non si muove da questa situazione. Ho provato a resettarlo, ma invano, in quanto sembra proprio che non booti.
C'è qualcosa che potrei provare per resuscitarlo?
Grazie in anticipo per la risposta!
EDIT: ho smontato il router ed ho trovato questo. Direi che qui è saltato qualcosa...qualcuno sa dirmi di che componente si tratta?
(https://i.ibb.co/JjbK28n/PXL-20240713-101430571.jpg) (https://ibb.co/JjbK28n)
Ne approfitto per allegare anche un'immagine di tutta la board:
(https://i.ibb.co/BB2KNk7/PXL-20240713-101451335.jpg) (https://ibb.co/BB2KNk7)
-
Ho trovato un DGA4331 funzionante ed ecco la foto del componente che mi è saltato sull'altro. Non sono riuscito a trovare informazioni in rete.
(https://i.ibb.co/MgKPcM1/PXL-20240827-160832921.jpg) (https://ibb.co/MgKPcM1)
-
Sembra che negli ultimi 30gg parecchi TIM HUB+ Technicolor abbiano ricevuto da TIM un aggiornamento che ha comportato il brick dei del modem.
In caso di chiamata il tecnico TIM interviene e sostitusce il modem con modello ZTE.
Verificato da due miei colleghi.
-
Io sono stato "fortunato", perché si è aggiornato alla 1.3.5 e funziona. Purtroppo però le indicazioni per il root con quest'ultima versione non sembrano permettere lo sblocco
-
Ciao ragazzi!
Oggi ho recuperato un DGA4331 che, appena acceso, mostra i led "Linea", "Web", "WPS" e "Voce" fissi accesi e non si muove da questa situazione. Ho provato a resettarlo, ma invano, in quanto sembra proprio che non booti.
C'è qualcosa che potrei provare per resuscitarlo?
Grazie in anticipo per la risposta!
EDIT: ho smontato il router ed ho trovato questo. Direi che qui è saltato qualcosa...qualcuno sa dirmi di che componente si tratta?
(https://i.ibb.co/JjbK28n/PXL-20240713-101430571.jpg) (https://ibb.co/JjbK28n)
Ne approfitto per allegare anche un'immagine di tutta la board:
(https://i.ibb.co/BB2KNk7/PXL-20240713-101451335.jpg) (https://ibb.co/BB2KNk7)
se hai un dga4132 potresti trovare lo stesso componente sulla mainboard vicino ai connettori FON.E un MOSFET quindi facilmente trovabile e sostituibile.Nella foto lontrovi a sinistra in alto vicino ai 4 condensatori gialli.(https://s13.postimg.cc/q8xq2ki4n/24drck7.jpg)
-
se hai un dga4132 potresti trovare lo stesso componente sulla mainboard vicino ai connettori FON.E un MOSFET quindi facilmente trovabile e sostituibile.Nella foto lontrovi a sinistra in alto vicino ai 4 condensatori gialli.(https://s13.postimg.cc/q8xq2ki4n/24drck7.jpg)
Ti ringrazio per la dritta! Di 4132 ne ho un paio, ma sono funzionanti ed in uso. Vedo se riesco a reperirne qualcuno a poco prezzo da cui eventualmente prelevare questo componente...grazie ancora!
-
(https://i.ibb.co/yp7pg9F/20190610-111144.jpg)
Lo trovi pure nel 789VAC V2, ma penso che si trova in tutti i technicolor che hanno 2 porte FON.
-
mostra i led "Linea", "Web", "WPS" e "Voce" fissi accesi e non si muove da questa situazione.
EDIT: ho smontato il router ed ho trovato questo. Direi che qui è saltato qualcosa...qualcuno sa dirmi di che componente si tratta?
Se le luci restano fisse penso che quel chip sia l'ultimo dei problemi di quel router.
-
qualcuno ha provato l'aggiornamento al firmware 1.3.0 oppure 1.3.5 partendo da un firmware precedente già rootato? Il root viene mantenuto?
-
Ok in questo post cercherò di fare una guida più completa su come ho sbloccato il Tim Hub+.
(...)
ciao. ho eseguito tutta la guida. Arrivato al 3 comando e Inviandolo ,da terminale ,non succede nulla.
Ho il firmware 1.35. Qualche idea ?
-
Io sono stato "fortunato", perché si è aggiornato alla 1.3.5 e funziona. Purtroppo però le indicazioni per il root con quest'ultima versione non sembrano permettere lo sblocco
ciao. ho eseguito tutta la guida. Arrivato al 3 comando e Inviandolo ,da terminale ,non succede nulla.
Ho il firmware 1.35. Qualche idea ?
innanzitutto assicuratevi di aver rimosso lo slot minisfp perchè con il solo slot inserito, anche senza essere collegati alla fibra, lo scanning dell'autogestione va verso l'sfp. Poi, se andate da 192.168.1.1 -> "gestione modem" -> "Visualizzatore logs" potete estrarre il log per vedere la presenza di possibili errori. Vedete quindi se è un problema di certificati oppure di windows 10 per cui il procedimento di uomoukko non va (nel mio caso con windows 10 pro aziendale non andava, con windows 10 home di un mio amico il procedimento funzionava)
-
Ciao a tutti, qualche giorno fa sono riuscito a sbloccare questo router usando il metodo di @imdadadani .
La versione 1.3.5 non andava, credo che abbiano rimosso il certificato di let's encrypt quindi ho usato questo metodo:
- prima lo sblocco ufficiale da 1.3.5
- downgrade a 1.0.1
- root (ha funzionato a primo colpo, senza neanche dover riavviare)
- root e poi switchover usando il metodo di Safe Firmware Upgrade come da guida su readthedocs (ho eseguito solo il comando per caricare lo script di rc.local,pulito la bank passiva con rm -rf, spostato lo script sulla bank passiva con cp e poi switchover)
- bank planning
Spero possa esservi utile
Ma sulla 1.3.5 si può installare openvpn?
Grazie
-
Ciao a tutti, qualche giorno fa sono riuscito a sbloccare questo router usando il metodo di @imdadadani .
La versione 1.3.5 non andava, credo che abbiano rimosso il certificato di let's encrypt quindi ho usato questo metodo:
- prima lo sblocco ufficiale da 1.3.5
- downgrade a 1.0.1
- root (ha funzionato a primo colpo, senza neanche dover riavviare)
- root e poi switchover usando il metodo di Safe Firmware Upgrade come da guida su readthedocs (ho eseguito solo il comando per caricare lo script di rc.local,pulito la bank passiva con rm -rf, spostato lo script sulla bank passiva con cp e poi switchover)
- bank planning
Spero possa esservi utile
Ma sulla 1.3.5 si può installare openvpn?
Grazie
Di per se non c'è openvpn nel kernel, probabilmente si potrebbe provare con versioni che girano in userspace, oppure provare a compilare moduli separati ad hoc. Non ho il buildroot per il Tim Hub+ quindi non saprei esattamente come andare avanti... In ogni caso ricordate anche che le CPU che hanno sono parecchio scarse quindi non aspettevi grandi velocità anche se funzionasse
-
Ciao a tutti, qualche giorno fa sono riuscito a sbloccare questo router usando il metodo di @imdadadani .
La versione 1.3.5 non andava, credo che abbiano rimosso il certificato di let's encrypt quindi ho usato questo metodo:
- prima lo sblocco ufficiale da 1.3.5
- downgrade a 1.0.1
- root (ha funzionato a primo colpo, senza neanche dover riavviare)
- root e poi switchover usando il metodo di Safe Firmware Upgrade come da guida su readthedocs (ho eseguito solo il comando per caricare lo script di rc.local,pulito la bank passiva con rm -rf, spostato lo script sulla bank passiva con cp e poi switchover)
- bank planning
Spero possa esservi utile
Ma sulla 1.3.5 si può installare openvpn?
Grazie
cosa intendi per sblocco ufficiale da 1.3.5? A che serve la procedura di Safe Firmware Upgrade ?
-
@imdadadani grazie mille, io avevo pensato di usare il modulo tun preso dalla repo di Ansuel/GUI_ipk e provare a farlo andare visto che l'architettura è la stessa e anche i kernel (credo) ma a quanto pare sarebbe inutile
Comunque anche se non dovesse funzionare non è un problema, il router è di nonna è volevo la vpn solo per potermi connettere da remoto.
@dragonx lo sblocco ufficiale sarebbe la configurazione estesa, subito dopo un reset se disconnesso dalla linea ti compare un'altra piastrella sulla gui (estendi configurazione) e se la attivi nella piastrella gateway ti da l'opzione per aggiornare il firmware via file rbi.
Non ho fatto la procedura di safe upgrade, ho solo indicato quella pagina per dirvi da dove ho preso lo script di sblocco (rc.local).
In pratica mi ero ritrovato con firmware 1.0 1 su bank1 e 1 3 5 su bank2, ho rimosso l'overlay, ricreato la cartella /overlay/bank_2/etc, messo quello script in questa cartella e fatto switchover.
Così mi sono ritrovato con 1.3.5 avviata e rootata, poi dopo ho fatto il bank planning.
-
@imdadadani grazie mille, io avevo pensato di usare il modulo tun preso dalla repo di Ansuel/GUI_ipk e provare a farlo andare visto che l'architettura è la stessa e anche i kernel (credo) ma a quanto pare sarebbe inutile
Comunque anche se non dovesse funzionare non è un problema, il router è di nonna è volevo la vpn solo per potermi connettere da remoto.
@dragonx lo sblocco ufficiale sarebbe la configurazione estesa, subito dopo un reset se disconnesso dalla linea ti compare un'altra piastrella sulla gui (estendi configurazione) e se la attivi nella piastrella gateway ti da l'opzione per aggiornare il firmware via file rbi.
Non ho fatto la procedura di safe upgrade, ho solo indicato quella pagina per dirvi da dove ho preso lo script di sblocco (rc.local).
In pratica mi ero ritrovato con firmware 1.0 1 su bank1 e 1 3 5 su bank2, ho rimosso l'overlay, ricreato la cartella /overlay/bank_2/etc, messo quello script in questa cartella e fatto switchover.
Così mi sono ritrovato con 1.3.5 avviata e rootata, poi dopo ho fatto il bank planning.
quindi non mi sai dire con certezza se caricando il firmware 1.3.5 su un modem già rootato continuo a mantenere il root senza eseguire i comandi della guida...
-
quindi non mi sai dire con certezza se caricando il firmware 1.3.5 su un modem già rootato continuo a mantenere il root senza eseguire i comandi della guida...
Non tocco questo router da tempo, ricordo di averlo fatto ad un certo punto ma con versioni più vecchie. Se vuoi provare segui la guida qui: https://hack-technicolor.readthedocs.io/en/stable/Upgrade/
-
Sapete dove posso reperire l'ultimo firmware AGTHF 1.3.5 grazie a tutti
-
Ciao, non lo so di preciso ma in teoria i firmware dovrebbero essere disponibili su https://fw.regman-tl.interbusiness.it:11443/Firmware/TR069/AGThomson/AGTHF_1.3.5_001_CLOSED.rbi?username=UN&password=PWD (https://fw.regman-tl.interbusiness.it:11443/Firmware/TR069/AGThomson/AGTHF_1.3.5_001_CLOSED.rbi?username=UN&password=PWD) , con username e password quelli che il router usa per loggarsi con l'acs, quindi dovrebbero essere
uci get cwmpd.cwmpd_config.acs_user
uci get cwmpd.cwmpd_config.acs_pass)Io ho provato a scaricarlo ma mi da Unauthorized quindi non saprei se è il link rotto (ho preso l'ultimo link disponibile su readthedocs e modificato la versione firmware) o le password sono sbagliate (avendo piallato /etc/config/cwmpd ho preso le password in /rom quindi è possibile che dopo il provisioning siano cambiate)
-
Buonasera a tutti,
stavo provando a far funzionare questo router con la fibra di poste, l'ONT è di openfiber e come da indicazioni di poste nome utente e password sono rispettivamente openfiber ed openfiber, infatti con un fritzbox in cui ho settato queste credenziali funziona tutto perfettamente, solo che quest'ultimo non va oltre 1Gbit, mentre il DGA4331 è più performante ed adeguato al mio abbonamento. Sapreste darmi qualche indicazioni sul perché dal menù rimane sempre "in connessione" ma non arriva a meta?
Un saluto
-
Ciao @dario.eman,
Premesso che il DGA4331 ha solo porte 1Gb quindi non avrai velocità maggiori utilizzandolo con ONT esterno, come stai provando a connettere il modem?
-
Ciao @lorenzocanalelc ,
innanzitutto grazie per la risposta. Effettivamente non so perché fossi convinto che le porte lavorassero a velocità superiori. Ho riguardato la scheda tecnica ed hai perfettamente ragione. Ho provato a far collegare questo router con ONT usando la porta 4 (WAN), perché così mi sembra d'aver compreso si dovesse fare. Poi ho chiaramente settato la connessione PPP ed inserito le credenziali che ho già scritto precedentemente.
-
@dario.eman Immagino che se hai inserito i dati PPP e le credenziali lo abbia sbloccato come Modem Libero. Ricordati di configurare anche la VLAN 835
-
Si, tutto fatto come hai scritto, ma niente da fare. Ho effettuato lo sblocco dal menu dell'interfaccia standard come ho trovato in rete.
&ab_channel=Lwtv
-
Sulle impostazioni Banda Larga opzioni avanzate hai messo Ethernet?
-
Si, prima di scrivere qui ho riguardato tutte le impostazioni una alla volta per capire se c'era qualcosa da modificare. Non ne vengo a capo.
-
Sapete dove posso reperire l'ultimo firmware AGTHF 1.3.5 grazie a tutti
Mi associo alla richiesta; qualcuno ha la disponibilità dell'ultimo fw AGTHF 1.3.5 e può cortesemente condividerne il file? Grazie
-
Mi associo alla richiesta; qualcuno ha la disponibilità dell'ultimo fw AGTHF 1.3.5 e può cortesemente condividerne il file? Grazie
ciao, se non il tuo rooter non è rootato dovrebbe aggiornarlo automaticamente, altrimenti questo utente lo ha fatto
@imdadadani grazie mille, io avevo pensato di usare il modulo tun preso dalla repo di Ansuel/GUI_ipk e provare a farlo andare visto che l'architettura è la stessa e anche i kernel (credo) ma a quanto pare sarebbe inutile
Comunque anche se non dovesse funzionare non è un problema, il router è di nonna è volevo la vpn solo per potermi connettere da remoto.
@dragonx lo sblocco ufficiale sarebbe la configurazione estesa, subito dopo un reset se disconnesso dalla linea ti compare un'altra piastrella sulla gui (estendi configurazione) e se la attivi nella piastrella gateway ti da l'opzione per aggiornare il firmware via file rbi.
Non ho fatto la procedura di safe upgrade, ho solo indicato quella pagina per dirvi da dove ho preso lo script di sblocco (rc.local).
In pratica mi ero ritrovato con firmware 1.0 1 su bank1 e 1 3 5 su bank2, ho rimosso l'overlay, ricreato la cartella /overlay/bank_2/etc, messo quello script in questa cartella e fatto switchover.
Così mi sono ritrovato con 1.3.5 avviata e rootata, poi dopo ho fatto il bank planning.
io non ho capito bene gli step effettuati, quindi non l'ho fatto, se sei capace ed hai tempo per smanettarci (e se va male fare un reset di fabbrica e ripetere la procedura di uomoukko) te ne sarei grato se facessi un tutorial dettagliato con i comandi (io purtroppo non posso eseguire comandi senza sapere cosa sto facendo in quanto è il router principale e se si blocca rimango senza internet)
-
Mi associo alla richiesta; qualcuno ha la disponibilità dell'ultimo fw AGTHF 1.3.5 e può cortesemente condividerne il file? Grazie
Io ho aggiornato manualmente il modem con la 1.3.0 perche lo uso come switch in cascata quindi penso non si aggiorna in automatico in questa modalità
-
mi è passato per le mani questo modem e vorrei fare il root.
Qualcuno sa dove posso trovare un dominio gratuito? averlo è l'unico modo attualmente per fare il root corretto?
-
Che voi sappiate, è possibile creare un tunnel VPN alla mia rete domestica con questo modem?
Se sì, è necessario il root?
-
@kisspachyousee io non sono riuscito a trovare un dominio gratuito (ho provato più volte a ottenerlo da freenom ma dice che il servizio non è più attivo) quindi ne ho preso uno .com su ionos con uno sconto speciale a un euro all'anno
@Marcyvee l'unica vpn che funziona su questi router è strongswan e sul forum dovrebbero esserci anche alcune guide per la configurazione (anche se sono per i router della generazione precedente 4231, 4130 e simili ma dovrebbero andare bene lo stesso).
Il root ti serve perché bisogna scaricare alcuni pacchetti dal repo di macoers (istruzioni a fine pagina 4) e la configurazione deve essere fatta tutta da riga di comando
P.S. scusatemi per aver risposto così tardi :(
-
Ciao,
Partiamo dal presupposto che con una 200M va benissimo il DGA4132 che è molto più semplice da sbloccare.
L'unico vantaggio del 4331 a mio parere potrebbe essere il Wifi 6, ma con 200M non riesci a saturare neanche il 5Ghz del 4132.
Per rispondere ai tuoi punti parto dicendoti che come riporto nel punto 6 non è assicurato che la procedura funzioni ancora perché dipende se il certificato installato nei vecchi firmware è ancora valido
1.Non devi fare alcun controllo preventivo perché comunque si può fare il downgrade avendo il firmware
2.Non è necessario aprirlo
3.No, la mod semplicemente è ottenere l'accesso come root
4.La GUI non è 100% e può portare ad avere problemi, non ci sono altre GUI alternative ufficialmente compatibili
5.Va benissimo un boot Ubuntu da usb
6.Si la creazione è necessaria ma non ricordo se è ancora valido (In caso contrario non potresti completamente terminare la procedura)
7.Si, il repository di pacchetti è lo stesso del 4132 quindi puoi installare gli stessi identici pacchetti
8.In teoria se segui tutto e dopo fai la procedura per spostarti sul Bank 2 puoi sempre risolvere caricando il firmware tramite TFTP
Anche senza i permessi di root il 4331 come tutti gli ultimi modem TIM hanno la possibilità di abilitare la funzionalità "Modem Libero" che ti permette di configurare le tue configurazioni per usarlo anche su WindTre.
Ripeto un'ultima volta che a mio avviso per te è più sufficiente il 4132 ed è anche molto più semplice da sbloccare.
Ciao, il grosso limite del DGA4132 credo sia il processore che non riesce ad elaborare il flusso dati a 200 mega quando si utilizza il QSM limitando la banda a 100 mega. non so se hai mai avuto modo di provare.
Proprio per questo vorrei rootare il TIM HUB+.Secondo te dopo è possibile installare QSM da terminale?
Grazie per il supporto
-
Ciao a tutti, mi è venuto un dubbio sull'aggiornamento firmware con cwmp.
Ora sono con 1.3.5 rootata su bank2 e cwmp disattivato. Se lo riattivassi e facessi fare l'aggiornamento automatico:
- se /overlay/bank_1 non esiste mi viene copiata la cartella /overlay/bank_2 in /overlay/bank_1
- se esiste invece mi viene lasciata la configurazione già esistente in bank_1
E' così o invece in ogni caso mi pialla la bank_1 e ricrea le conf da zero?
Grazie
-
Ok in questo post cercherò di fare una guida più completa su come ho sbloccato il Tim Hub+.
Requisiti:
- Un dominio con un certificato ssl valido (potete prenderne uno gratis da Freenom e poi generare un certificato con certbot, non sto a spiegare come) che punta verso 10.42.1.1 (dopo verrà spiegato perché).
- Un computer con una porta Ethernet e che abbia come sistema operativo una distribuzione Linux desktop (NON funzionano le macchine virtuali).
- Un Tim Hub+ con qualsiasi firmware (a me è andato con il 1.1.1).
Preparazione delle interfacce di reti:
Il Tim Hub+ ascolta di default richieste da parte di un server DHCP sulla VLAN 83, dobbiamo quindi crearne una dal nostro computer per procedere.
- Aprite il terminale e eseguite nm-connection-editor, si aprirà una finestra con la configurazione della rete.
- Cliccate sulla interfaccia che corrisponde alla vostra porta Ethernet, andate nelle impostazioni IPv4 e selezionate su metodo "Condiviso con altri computer", dopodiché salvate.
- Cliccate nel bottone "+" che sta al fondo della finestra e selezionate come tipo di connessione VLAN.
- Dopo aver creato la VLAN vi apparirà una finestra per la configurazione, impostate come "Interfaccia superiore" quella che corrisponde alla vostra porta Ethernet fisica, impostate 83 come Id, e selezionate nuovamente "Condiviso con altri computer" sulle impostazioni IPv4, infine salvate.
- La VLAN dovrebbe attivarsi in automatico una volta creata, in caso contrario attivatela voi dal pannello delle reti.
Risultato che dovreste avere della configurazione di rete: https://imgur.com/a/Ufkqa07 (https://imgur.com/a/Ufkqa07)
Sblocco del router [Metodo "NGINX"]:
tch-exploit è l'utility che useremo per sbloccare il router. Dato che però al momento non permette di configurare un server HTTPS, utilizzeremo NGINX come strada alternativa che farà da reverse proxy.
Ho compilato questa build di NGINX statica da utilizzare appositamente come proxy per le richieste dell'ACS, potete scaricarla qui: https://drive.google.com/file/d/1CNx8ze2GuM8vBDfbwrD9HwHkjKgxIqsw/view (https://drive.google.com/file/d/1CNx8ze2GuM8vBDfbwrD9HwHkjKgxIqsw/view)
La configurazione di base (nginx.conf) punta già verso un altro server HTTP, dovete soltanto aggiungere il vostro certificato SSL valido (fullchain.pem e privkey.pem dentro conf). Ricordatevi di avviarlo eseguendolo da terminale con ./nginx (attraverso i permessi root in caso utilizziate la porta 443).
Configurato il nostro reverse proxy, dobbiamo ora procedere con la fase più importante:
1. Scaricate tch-exploit da qui: https://github.com/BoLaMN/tch-exploit/releases/tag/2.0.2 e estraetelo.
2. Aprite il terminale nella directory dove si trova il programma e eseguite tch-exploit con questa configurazione:
sudo ./tch-exploit-linux --acsurl="https://VOSTRODOMINIO.xyz/" --ip="10.42.1.1" --dhcponly
Rimpiazzate VOSTRODOMINIO.xyz con quello che punta a 10.42.1.1
(L'ip 10.42.1.1 viene impostato automaticamente dalla configurazione delle interfacce di default e sarà usato dal router come gateway per la rete)
3. Preparate un altro terminale sempre nella stessa cartella ma con questo comando SENZA eseguirlo:
sudo ./tch-exploit-linux --port=4346 --ip="10.42.1.1"
(La porta è la stessa che ho impostato di default su nginx.conf)
4. Se non lo avete già fatto, collegate la porta ethernet del vostro computer a quella WAN del router e attivate la interfaccia.
5. Fate il ripristino di fabbrica al Tim Hub+, se non volete accedere alla webui vi basta tenere premuto il tasto reset per circa 8 secondi.
6. Attendete il primo avvio del router, se avete collegato correttamente le porte dovreste vedere dopo un po' il led "Linea" diventare verde.
7. Appena il led "Web" diventa verde (dovreste anche notare delle informazioni apparire nei log di tch-exploit), eseguite l'altro comando comando che avevate preparato.
8. Dopo qualche secondo dovreste iniziare a vedere delle richieste HTTP nel processo che avete appena eseguito, e infine un messaggio dove vi viene chiesto di premere il tasto WPS.
9. Premete il tasto WPS (singola pressione), se non appare nessun led significa che il comando di sblocco è stato eseguito.
10. Connettetevi con il vostro client ssh preferito a [email protected].
Spero di essere stato un po' chiaro con la procedura di sblocco, nel caso abbiate dubbi chiedetemi pure.
PS: Questa guida può funzionare anche nello Smart Modem Plus e nel Tim Hub "liscio" se possiedono almeno il firmware 2.3.0, ovviamente per questi modelli rimane consigliato il classico sblocco attraverso downgrade e autoflashgui in quanto più semplici.
Ciao a tutti! sto seguendo questa procedura ma non c'è verso che riesca a fare il root.
Sto facendo tutto con una versione live di ubuntu.
Ho un dominio che punta al mio indirizzo ip pubblico.
Ho generato i certificati sudo certbot certonly --standalone -d dominio.xyz.
Ho impostato la connessione condivisa e creato la vlan83.
lancio il primo terminale: ubuntu@ubuntu:~/Downloads/tch-exploit-linux/release$ sudo ./tch-exploit-linux --acsurl="https://dominio.xyz/" --ip="10.42.1.1" --dhcponly
Technicolor OpenWRT Shell Unlocker v2.0.2 By BoLaMN
* Connect network cable from your computer to the WAN (red) port of the modem
* Change your computers network card to be a static ip address
IPv4 Address: 10.42.1.1
Subnet Mask: 255.255.255.0
Default Gateway\Router: 10.42.1.1
Waiting for DHCP request... 0.0.0.0:67
Waiting for DHCPv6 request... :::547
### MESSAGE {"op":1,"htype":1,"hlen":6,"hops":0,"xid":3311953774,"secs":0,"flags":0,"ciaddr":"0.0.0.0","yiaddr":"0.0.0.0","siaddr":"0.0.0.0","giaddr":"0.0.0.0","chaddr":"D4-35-1D-8E-E3-31","sname":"","file":"","magicCookie":1669485411,"options":{"12":"modemtim","53":1,"55":[1,3,6,15,26,33,42,51,121,249,212,12],"57":1400,"145":[1]}}
>>> DISCOVER {"address":"10.42.1.11","leasePeriod":86400,"server":"10.42.1.1","state":"OFFERED"}
<<< OFFER {"op":2,"htype":1,"hlen":6,"hops":0,"xid":3311953774,"secs":0,"flags":0,"ciaddr":"0.0.0.0","yiaddr":"10.42.1.11","siaddr":"10.42.1.1","giaddr":"0.0.0.0","chaddr":"D4-35-1D-8E-E3-31","sname":"","file":"","options":{"1":"255.255.255.0","3":["10.42.1.1"],"6":["8.8.8.8","8.8.4.4"],"12":"second.gateway","43":[1,23,104,116,116,112,115,58,47,47,109,97,103,108,105,97,114,105,115,105,46,120,121,122,47,2,7,84,101,108,115,116,114,97],"51":86400,"53":2,"54":"10.42.1.1"}}
### MESSAGE {"op":1,"htype":1,"hlen":6,"hops":0,"xid":3311953774,"secs":0,"flags":0,"ciaddr":"0.0.0.0","yiaddr":"0.0.0.0","siaddr":"0.0.0.0","giaddr":"0.0.0.0","chaddr":"D4-35-1D-8E-E3-31","sname":"","file":"","magicCookie":1669485411,"options":{"12":"modemtim","50":"10.42.1.10","53":3,"54":"10.42.1.1","55":[1,3,6,15,26,33,42,51,121,249,212,12],"57":1400,"145":[1]}}
>>> REQUEST {"address":"10.42.1.11","leasePeriod":86400,"server":"10.42.1.1","state":"BOUND","bindTime":"2025-06-29T09:11:45.024Z","file":""}
### BOUND {"D4-35-1D-8E-E3-31":{"address":"10.42.1.11","leasePeriod":86400,"server":"10.42.1.1","state":"BOUND","bindTime":"2025-06-29T09:11:45.024Z","file":""}}
### MESSAGE {"op":1,"htype":1,"hlen":6,"hops":0,"xid":463474501,"secs":0,"flags":0,"ciaddr":"0.0.0.0","yiaddr":"0.0.0.0","siaddr":"0.0.0.0","giaddr":"0.0.0.0","chaddr":"12-39-F3-53-55-0A","sname":"","file":"","magicCookie":1669485411,"options":{"12":"motorola-edge-50-pro","50":"192.168.1.250","53":3,"55":[1,3,6,15,26,28,51,58,59,43,114,108],"57":1500,"60":"android-dhcp-15","61":"\u0001\u00129sSU\n"}}
il led web diventa verde, allora lancio il secondo terminale: ubuntu@ubuntu:~/Downloads/tch-exploit-linux/release$ sudo ./tch-exploit-linux --port=4346 --ip="10.42.1.1"
Technicolor OpenWRT Shell Unlocker v2.0.2 By BoLaMN
* Connect network cable from your computer to the WAN (red) port of the modem
* Change your computers network card to be a static ip address
IPv4 Address: 10.42.1.1
Subnet Mask: 255.255.255.0
Default Gateway\Router: 10.42.1.1
using interface { name: 'enp0s31f6.83', address: '10.42.1.1', family: 'IPv4' }
listening for cwmp requests at http://10.42.1.1:4346/
Waiting for DHCP request... 0.0.0.0:67
Waiting for DHCPv6 request... :::547
e basta non succede più nulla, non mi chiede di premere il tasto WPS e non compaiono scritte verdi. sbaglio qualcosa? @imdadadani
-
Ciao @kisspachyousee, La procedura di root (come la stai seguendo ora), credo non sia più valida dal 13 maggio 2025.Il certificato della Certificate Authority di let's encrypt che c'è sul router è scaduto a maggio e quindi cwmp chiude la connessione e non comunica con tch-exploit. Per verificare se è questo il problema puoi guardare i log del router (credo direttamente da interfaccia grafica ) e verificate se cwmp si lamenta dicendo "Invalid Certificate", "Unknown CA", "Expired CA Certificate" o qualcosa del genere. Per continuare ad utilizzare questa procedura puoi:
- Usare un certificato che sia ancora riconosciuto: Se spacchetti con binwalk il firmaware 1.0.1 sul sito di hack-technicolor nella cartella /etc/ssl/certs ci dovrebbero essere i certificati delle CA riconosciute e puoi provare a generartene uno che sia firmato con queste (su questo però non saprei come aiutarti)
- Se il certificato che hai generato è valido anche prima del 13 maggio (lo puoi verificare con openssl x509 -in ./cert.pem -nocert -startdate) puoi create un server ntp sul pc che ti da una data buona (dopo la startdate del tuo certificato e prima del 13 maggio) e crei anche un finto server dns (io uso sempre fakedns, lo puoi trovare su github), cambiare i dns in 'tch-exploit/dist/dhcp/options.js' e fare il forwarding da fakedns di tutti i server ntp che il router cerca di raggiungere reinidirizzandoli al tuo server ntp.
In questo caso dovresti eseguire tch installando nodejs con node ./index.js ... invece di ./tch-exploit-linux ... per rendere effettive le modifiche.
C'è un server ntp direttamente in tch-exploit che potresti eseguire con node ./ntp/index.js ma l'ultima volta che l'ho provato testandolo con ntpdate non mi ha funzionato, se non va potresti provare con ntpd.
In teoria dovrebbe funzionare, non posso testare ora ma se dovessi risbloccarne uno sceglierei una di queste strade.
Se hai bisogno di chiarimenti chiedimi pure
-
@PierpiPic05 ciao! Grazie per la tua risposta! Ora capisco perché non riuscivo! Provo a fare come mi hai consigliato sperando di riuscire. Ti aggiorno su come procedere
[edit] Ci sono riuscito!!
Ho letto centinaia di volte il forum? SI! ho fatto come c'è scritto? NO!
In realtà non so di preciso perchè ci sono riuscito, ma vi spiego come ho fatto.
ultima versione di ubuntu live.
modem resettato e con versione firmware 1.1.1 ancora spento.
scarico https://github.com/BoLaMN/tch-exploit/releases/tag/2.0.2 (https://github.com/BoLaMN/tch-exploit/releases/tag/2.0.2) ma non la versione già compilata, ma il source code.
lo scompatto e nella cartella dist/dhcp ho modificato il file option.
ho installato nodejs e npm,
##option.js
ho modificato il punto 6 con i dns e il punto 42 per il server ntp
6: {
name: 'Domain Name Server',
type: 'IPs',
config: 'dns',
"default": ['10.42.1.1']
},
42: {
name: 'Network Time Protocol Servers',
type: 'IPs',
config: 'ntpServer',
"default": ['10.42.1.1'] // IP fake NTP (lo stesso server Python che scriverò dopo come fare)
},
vado nella cartella principale di tch-exploit e do il comando npm install
io ho un dominio comprato ad 1 euro su namecheap, e all'interno della dashboard del dominio, in advanced DNS ho inserito il mio indirizzo IP pubblico e A record:
Type Host Value TTL
A Record @ 'public IP' Automatic
ho generato i certificati:
sudo certbot certonly --standalone \
-d dominio.xyz \
--agree-tos \
--no-eff-email \
-m [email protected]
ho creato un fake server ntp in python:
import socket
import struct
import time
NTP_PORT = 123
NTP_PACKET_FORMAT = "!BbBb11I"
NTP_DELTA = 2208988800 # NTP timestamp delta to UNIX epoch
# Timestamp for 3 July 2025 00:00:00 UTC
fixed_time = int(time.mktime((2025,7,3,0,0,0,0,0,0)))
def create_ntp_response():
# Reference, originate, receive, transmit timestamps are set to fixed_time + delta
transmit_timestamp = fixed_time + NTP_DELTA
# Construct NTP packet with mode 4 (server), stratum 1, transmit timestamp set
packet = struct.pack(
"!B B b b 11I",
0b00100100, # LI=0, VN=4, Mode=4 (server)
1, # Stratum
0, # Poll
0, # Precision
0, 0, 0, 0, # Root Delay, Root Dispersion, Reference ID
transmit_timestamp, 0, # Reference Timestamp (64-bit)
transmit_timestamp, 0, # Originate Timestamp (64-bit)
transmit_timestamp, 0, # Receive Timestamp (64-bit)
transmit_timestamp, 0 # Transmit Timestamp (64-bit)
)
return packet
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind(('', NTP_PORT))
print(f"Fake NTP server running on UDP port {NTP_PORT}")
while True:
data, addr = sock.recvfrom(48)
if len(data) >= 48:
response = create_ntp_response()
sock.sendto(response, addr)
l'ho lanciato in un terminale e l'ho lasciato li a girare.
ho modificato le schede di rete creando una vlan 83 e la condivisione della rete come descritto nei post precedenti.
scarico la versione di ngnix di @imdadadani https://drive.google.com/file/d/1CNx8ze2GuM8vBDfbwrD9HwHkjKgxIqsw/view (https://drive.google.com/file/d/1CNx8ze2GuM8vBDfbwrD9HwHkjKgxIqsw/view)
ho modificato il file ngnix.conf inserendo i certifcati:
ssl_certificate /etc/letsencrypt/live/dominio.xyz/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/dominio.xyz/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;all'inizio del file ho messo come user user www-data;
lancio ngnix con sudo ./nginx
volevo fare anche un fake dns ma non sono riuscito perchè mi dava sempre la porta 53 occupata, così ho fatto sudo systemctl stop systemd-resolved
dando questo comando per controllare: sudo ss -ulpn | grep :53
UNCONN 0 0 10.42.1.1:53 0.0.0.0:* users:(("dnsmasq",pid=59538,fd=6))
UNCONN 0 0 10.42.0.1:53 0.0.0.0:* users:(("dnsmasq",pid=58923,fd=6))
UNCONN 0 0 0.0.0.0:5353 0.0.0.0:* users:(("avahi-daemon",pid=1916,fd=12))
UNCONN 0 0 [::]:5353 [::]:* users:(("avahi-daemon",pid=1916,fd=13))
ho lasciato dnsmasq attivo a girare.
avvio il primo terminale e avvio il modem, dovrebbe compareire una cosa del genere:
node ./dist/index.js --acsurl="https://dominio.xyz/" --ip="10.42.1.1" --dhcponly
Technicolor OpenWRT Shell Unlocker v2.0.1-rc8 By BoLaMN
* Connect network cable from your computer to the WAN (red) port of the modem
* Change your computers network card to be a static ip address
IPv4 Address: 10.42.1.1
Subnet Mask: 255.255.255.0
Default Gateway\Router: 10.42.1.1
mentre il modem si sta ancora avviando lancio anche un secondo terminale con: sudo node ./dist/index.js --port=4346 --ip="10.42.1.1"
bene! non trova l'interfaccia corretta, il modem si sta ancora avviando e comunque lo lascio perdere così com'è.
sudo node ./dist/index.js --port=4346 --ip="10.42.1.1"
Technicolor OpenWRT Shell Unlocker v2.0.1-rc8 By BoLaMN
* Connect network cable from your computer to the WAN (red) port of the modem
* Change your computers network card to be a static ip address
IPv4 Address: 10.42.1.1
Subnet Mask: 255.255.255.0
Default Gateway\Router: 10.42.1.1
Could not find interface with ip: 10.42.1.1
┌─────────┬────────────────┬─────────────────────────────┬────────┐
│ (index) │ name │ address │ family │
├─────────┼────────────────┼─────────────────────────────┼────────┤
│ 0 │ 'wlp0s20f3' │ '192.168.1.216' │ 'IPv4' │
│ 1 │ 'wlp0s20f3' │ 'fe80::a268:8b43:3586:a100' │ 'IPv6' │
│ 2 │ 'wlp0s20f3.83' │ '10.42.0.1' │ 'IPv4' │
│ 3 │ 'wlp0s20f3.83' │ 'fe80::2490:a103:f4c3:3f0' │ 'IPv6' │
└─────────┴────────────────┴─────────────────────────────┴────────┘
Poi noto che la luce web diventa verde, e nel primo terminale non compare nessuna scritta in più, ma ne compaiono di diverse nel secondo terminale, e dopo qualche istante anche quelle famose scritte verdi, finchè non mi chiede di premere il tasto WPS!
spero di essere stato utile a qulcuno che voglia provarci, io ho combattuto 3 giorni ma alla fine la procedura si completa in una mezz'ora
-
@kisspachyousee perfetto! Sono felice che sia riuscito a sbloccarlo :clap: :clap:
Ora però toglimi alcune curiosità:
- che data hai impostato nel finto server ntp?
- in dnsmasq quali domini hai reindirizzato a 10.42.1.1?
- Da come ho visto la data del server ntp è del 3 luglio e in teoria in queste condizioni non avrebbe dovuto funzionare (per il certificato CA scaduto) quindi questo vuol dire che o c'è un altra versione del certificato ancora valido o bho non saprei
- Mi ero persa la possibilità di usare l'opzione default sull option 42 in tch-exploit, questo forse può evitare anche di usare il server dns (lasciando la risoluzione del finto ACS ad un dns vero)
Vorrei indagare sul fatto del certificato perché questo potrebbe semplificare la procedura di root "avanzata" e quindi eventualmente di togliere il finto dns, ntp e tutta la sovrastruttura al metodo di imdadani
-
@PierpiPic05 hai subito capito che qualcosa nella procedura che ho fatto non và bene! Infatti, visto che non so stare fermo con le manine, ho corrotto il banco dove c'era il root e ora mi trovo con l'altro banco attivo dove il root non c'è!!
Ovviamente ho riprovato a rifare tutto ma non mi sta riuscendo. Se vuoi ci sentiamo in privato e ci proviamo insieme, perché secondo me il server ntp che ho fatto è inutile. Come penso anche che forse non serve avere due terminali con tch-exploit, il primo l'avevo lanciato senza sudo, quindi non so se effettivamente ha fatto qualcosa di utile! Comunque fatto una volta ci devo riuscire anche la seconda, magari con una procedura più semplice!
-
Ah.....
Per me va bene, anche se credo possiamo continuare a parlarne anche qui, così se qualcun'altro volesse sbloccarlo ha già tutte le informazioni sulla procedura senza dover chiedere a noi in privato.
Hai fatto il bank plannig?
se per banco corrotto intendi /overlay/bankX allora è un problema, se è solo la partizione di mtd del firmware con con bank planning attivo puoi provare a ricaricare il firmware con tftp
Edit:
se il server ntp ti dava la data corrente effettivamente non è stato utile, ma il fatto che la prcedura ha funzionato vuol dire che il tuo certificato (ad oggi) è ancora buono per fare lo sblocco. Visto che l'hai generato con certbot in teoria dovrebbe essere fimato da let's encrypt ed essere firmato con la CA di "Baltimore Cybertrust" che sul router è scaduta a maggio. Quindi perchè ha funzionato? resta da capire questo e siamo a cavallo
se puoi potresti verificare la CA del tuo certificato? (io sul firefox lo vedo creando un server https, mi collego da browser e nella barra in alto su clicco sullo "scudo", -> visualizza certficato e a destra mi compare anche il cert CA da cui leggo il CN e l'issuer )
edit 2:
Ho visto le CA disponibili sul router e la procedura in teoria sarebbe molto più semplice (quella di imdadani senza altre robe di dns ntp e compagnia) utilizzando un certificato di Amazon (qunido non so facendo l'iscrizione ad AWS e prendendo un VPS, SaaS o cose simile con certificato già pronto)
-
Non so cosa sia successo ma sono certo che abbia cambiato banco in uno dei tanti riavvi. In realtà non so neanche se effettivamente sia corrotto! Se mi dovessi trovare nella situazione del bootP allora carico il firmware con tftp, ma attualmente il secondo banco mi funziona. Provo a vedere nei prossimi giorni se riesco a sbloccarlo. Per opzione 42 cosa intendi di preciso? Come funziona e come la posso sfruttare?
-
l'opzione 42 è quella che già hai usato in tch-exploit (dove hai messo default: [ 10.42.1.1 ]) e serve per mandare tramite dhcp gli indirizzi dei server ntp. Io pensavo di mettere un server dns e reindirizzare quelli che il router usa di default al mio pc, ma in questo modo elimino completamente il problema e glieli fornisco direttamente tramite dhcp
-
Ahhh ok si! La modifica che ho fatto nel file option.js credo sia l'unica cosa che abbia veramente funzionato 🤣
-
ci sto riprovando ma non mi riesce più! intanto sono riuscito ad avviare il server ntp integrato con tch-exploit con questo comando:
sudo node dist/ntp/index.js --ip=10.42.1.1 --date="2025-05-01T12:00:00Z"
EDIT: ci sono riuscito nuovamente!!
come dicevo sopra ho lanciato il server ntp di tch-exploit e l'ho lasciato girare, ad ogni richiesta verrà visualizzato nel terminale una serie di numeri:
~/tch-exploit-2.0.2$ sudo node dist/ntp/index.js --ip=10.42.1.1 --date="[b]2024-05-01T12:00:00Z[/b]"
ntp server is running at 123
response <Buffer 24 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7c 55 81 80 00 00 00 00 7c 55 81 80 00 00 00 00 7c 55 81 80 00 00 00 00 63 eb b2 f5 d1 63 16 87> 0 48 35732 10.42.1.14
response <Buffer 24 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7c 55 81 80 00 00 00 00 7c 55 81 80 00 00 00 00 7c 55 81 80 00 00 00 00 ea b6 5b d1 76 83 04 19> 0 48 44992 10.42.1.14
response <Buffer 24 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7c 55 81 80 00 00 00 00 7c 55 81 80 00 00 00 00 7c 55 81 80 00 00 00 00 11 84 83 bc d9 92 2e 14> 0 48 48642 10.42.1.14
response <Buffer 24 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7c 55 81 80 00 00 00 00 7c 55 81 80 00 00 00 00 7c 55 81 80 00 00 00 00 28 f5 78 a0 51 97 60 42> 0 48 56388 10.42.1.14
poi mi sono reso conto che la data non veniva cambiata all'interno della pagina del modem, e facendo il ping non riuscivo a raggiungere il dominio, quindi non poteva funzionare! ho installato dnsmasq (perchè ho cambiato versione di ubuntu) ho creato un file fake dns: sudo nano /etc/dnsmasq.d/fake.conf
interface=enp0s31f6.83 ##il nome dell'interfaccia VLAN
bind-interfaces
no-resolv
address=/#/10.42.1.1
# Aggiungi queste righe:
rebind-domain-ok=/dominio.xyz/
come nel mio post precedente ho modificato l'opzione 42 e 6, server ngnix attivo e
come al solito i due terminali attivi di tch-exploit. Ho riavviato il modem, dopo poco sono comparse le scritte in verde!!
-
Qualcuno ha modo di recuperare l'ultima versione del firmware? dovrebbe essere la 1.3.6 del 2024
-
Domanda con il primo tim hub quello orizzontale agcom aveva obbligato ti a mettere un funzione sblocca modem che fine ha fatto tale funzione?
-
Quella c'è e funziona ma rimane con funzionalità limitate. Ad esempio si attiva la possibilità di aggiungere account voip ma si rimuove la card del mobile 4G
-
Interessante tim ha imparato dalle altre compagnie telefoniche
-
@kisspachyousee perfetto!! :clap: :clap:
Ora però mi raccomando ricordati il bank planning e volendo pure un Tar dell'overlay (per evitare la spiacevole situazione della settimana scorsa)
Sul perché abbia funzionato ho queste ipotesi:
- Se il certificato é firmato da Baltimore ha funzionato perché anche se il tuo certificato https é valido solo dalla data di emissione (quindi da luglio 2025) cwmp controlla solo la end date (e ignora la start date) quindi crede che il tuo certificato sia effettivamente valido e prosegue con lo sblocco.
- Se invece la CA é diversa bisogna vedere la sua scadenza
In ogni caso il metodo di sblocco di imdadani é ancora validissimo a patto che si aggiunga un server ntp.
Se puoi mi puoi confermare che il tuo certificato sia effettivamente firmato con la CA di Baltimore? Grazie
Edit: per il firmware non sono riuscito a scaricarlo dall' ACS; ho provato tutte le coppie di password che conosco ma non vanno.
-
In ogni caso il metodo di sblocco di imdadani é ancora validissimo a patto che si aggiunga un server ntp.
Se puoi mi puoi confermare che il tuo certificato sia effettivamente firmato con la CA di Baltimore? Grazie
come controllo da chi è firmato il mio certificato?
comunque mi sono reso conto che se faccio correttamente la procedura di root, il modem non riesce a contattare il server ntp di Tim, quindi la data rimane del 2021.
Ora però mi raccomando ricordati il bank planning e volendo pure un Tar dell'overlay (per evitare la spiacevole situazione della settimana scorsa)
ma ovviamente ho rifatto la procedura altre 4 volte, ma ormai funziona a primo colpo! questo sempre perchè non so stare con le mani ferme.
Ora ho lo script per il reset che mantiene il root per fortuna, e ho fatto il bank planning.
inoltre ho abilitato la configurazione estesa e abilitato alcune card che sono nascoste.
Edit: per il firmware non sono riuscito a scaricarlo dall' ACS; ho provato tutte le coppie di password che conosco ma non vanno.
ho trovato questo config single_config 'cwmpd_config' vedi se ti possono essere utili le credenziali.
quando facevo la procedura in maniera errata, tramite la vlan83 mi succedeva spesso che mi si aggiornava il modem all'ultima versione del firmware ed era la 1.3.6 (fino a qualche settimana fa). Infatti credo che molte volte non riuscivo a fare il root perchè avevo un firmware troppo aggiornato.
option state '1'
option connectionrequest_path 'ConnectionRequest'
option ssl_castore '/etc/ssl/certs/'
option ssl_privatekey '/etc/ssl/AGprivkey.key'
option ssl_verifypeer '1'
option upgradesmanaged '1'
option datamodel 'Device'
list forcedinforms 'Device.DSL.Line.1.LinkStatus'
list forcedinforms 'Device.DSL.Line.1.StandardUsed'
list forcedinforms 'Device.PPP.Interface.1.IPCP.LocalIPAddress'
list forcedactives 'Device.ManagementServer.ConnectionRequestURL'
list forcedactives 'Device.DSL.Line.1.LinkStatus'
list forcedactives 'Device.DSL.Line.1.StandardUsed'
list forcedactives 'Device.PPP.Interface.1.IPCP.LocalIPAddress'
option enforce_https '1'
option periodicinform_interval '3600'
option periodicinform_time '0'
option connectionrequest_auth '2'
option connectionrequest_port '7170'
option connectionrequest_allowedips '0.0.0.0/0,::/0'
option interface6 'wan6'
option ip_preference 'v4_only'
option upgrade_switchovertype '0'
option upgrade_rollback_timeout '300'
option rollback_cwmpd '1'
option rollback_delayed '1'
option rollback_gui '0'
option rollback_unknown '0'
option namespace_version '1-2'
option ssl_hostnamecheck '1'
option ssl_datecheck '1'
option backoff_minwait '5'
option backoff_multiplier '2000'
option connectionrequest_throttle_time '60'
option connectionrequest_throttle_number '15'
option activenotification_throttle '0'
option use_dhcp '1'
option encrypt_passwords '0'
option interface 'wwan'
option acs_url 'https://regman-tl.interbusiness.it:10700/acs/'
option acs_user '0018F6-Thomson-AGBasAdv'
option acs_pass 'C72hjT7Bol8x76hnKoP3Yi2a'
option connectionrequest_username '0018F6-Technicolor-CR-AG3play'
option connectionrequest_password 'ChejEnEDetraprAzE3ESTuwruxerEmay'
option periodicinform_enable '0'
option ssl_certificate '/etc/ssl/d6d84089.0'
config operACS 'operationalACS1'
option acs_url 'https://regman-tl.interbusiness.it:10700/acs/'
option acs_user '0018F6-Thomson-AGBasAdv'
option acs_pass 'C72hjT7Bol8x76hnKoP3Yi2a'
option connectionrequest_username '0018F6-Technicolor-CR-AG3play'
option connectionrequest_password 'ChejEnEDetraprAzE3ESTuwruxerEmay'
option periodicinform_enable '0'
option periodicinform_interval '3600'
option ssl_certificate '/etc/ssl/d6d84089.0'
option ssl_privatekey '/etc/ssl/AGprivkey.key'
@PierpiPic05
-
Per il certificato io setuppavo un mini server https con i certificati che volevo controllare (in maniera simile a come aveva scritto uomoukko un po' di pagine fa) e mi ci collegavo con il browser (Firefox ma credo vadano bene tutti). Poi dalla barra di ricerca in alto a sinistra cliccavo su "connessione sicura", mi si apriva un popup e da lì visualizza certificato. Così mi mostra il certificato usato e lateralmente tutte le CA che lo firmano. Appena torno a casa se vuoi ti mando degli screen da PC.
Per il server ntp dovrebbe essere normale, quando fai il root imposta in automatico i dns di Google forniti da tch-exploit e i domini del ntp credo siano risolvibili solo dai dns Tim (come quelli del VoIP)
Mi puoi postare lo script di reset che mantiene il root? L'ho cercato anche nella repo della Ansuel GUI ma non lo trovo e mi servirebbe
Ho provato tutte le password incluse in quel file e pure quella della pppoe ma niente (ho provato tutto tramite wget installato sul router da root)
-
Ho provato tutte le password incluse in quel file e pure quella della pppoe ma niente (ho provato tutto tramite wget installato sul router da root)
avevo trovato in questo forum un post che spiegava come fare ma non lo trovo più. i link sono per l'acs dove si trova il firmware è questo https://regman-tl.interbusiness.it:10700/acs/ ma ci sono varianti con 10800, 10500 ecc..
Mi puoi postare lo script di reset che mantiene il root? L'ho cercato anche nella repo della Ansuel GUI ma non lo trovo e mi servirebbe
ti vorrei allegare il file direttamente ma tramite il forum non sto riuscendo, dovrei usare un servizio esterno
ecco lo script
https://github.com/seud0nym/tch-gui-unhide/blob/master/utilities/reset-to-factory-defaults-with-root (https://github.com/seud0nym/tch-gui-unhide/blob/master/utilities/reset-to-factory-defaults-with-root)
Ho aggiunto qualche card nel mentre, presa dalla gui di ansuel e alcune nascoste. alcune non funzionano,
(https://i.ibb.co/xSqQykKg/image.png) (https://ibb.co/nsMSTGq1)
-
@kisspachyousee Grazie mille!
Ho novità sui certificati (perdonami se sto parlando sempre di questo ma la cosa mi sta a cuore per semplificare ed evitare il più possibile imprevisti lungo la strada. Ho guardato nei certificati del sito di let's encrypt e ho visto che iniziano ad essere firmati con la Internet Security Research Group. Così ho spacchettato il file ca-certificates del router, ho trovato questa CA e ho visto che scade nel 2035! Questo spiega perchè ti abbia funzionato la prima volta (quando hai lasciato fakentp.py con la data corrente) e significa che (al netto di altri problemi) potremmo dire addio anche al server ntp. Ora per confermare questa teoria mi serve sapere quale CA ha firmato il tuo certificato. Se vuoi e hai tempo potresti procedere così:
Crei un serverino in nodejs molto basic
const express = require('express');
const https = require('https');
const fs = require('fs');
let app = express();
const confs = {
key: fs.readFileSync('./ssl/key.pem'),
cert: fs.readFileSync('./ssl/cert.pem')
};
app.get('/', (req, res) => {
res.send('<h1>Ciao</h1>');
});
let serv = https.createServer(confs, app);
serv.listen(8080, () => {console.log('\x1b[32m Server Started.\x1b[0m')});
in una cartella pulita,
Metti il tuo cert lì, poi dai npm init -y && npm install express && node index.js.
poi ti colleghi dal browser al serverino e clicchi sul 'lucchetto' vicino al nome del dominio nella barra dell'url, vai su 'Connection secure' -> 'more informations' e nel popup che ti compare vai su 'view certificate'. Se vai su 'ISRG Root' ti dovrebbe comparire una cosa simile:https://imgur.com/DQCJrYv (https://imgur.com/DQCJrYv) e quindi capire con certezza chi ha firmato il certificato (Issuer Name -> Organization).
Scusami se ti sto assillando con questa cosa ma è l'unico dubbio che mi è rimasto della procedura e vorrei aver ben chiaro cosa sia successo per poi poter aiutare qualcun altro che abbia voglia di sbloccarlo con sicurezza.
Per le cards io non ci riporrei molte speranze, la gui era stata fatta per firmware 16.X e 17.X già per il porting sul 18.X ci sono stati alcuni problemi. Comunque quali sono le cards che non funzionano? Io sul mio per esempio avevo copiato la 'Ip Extras' e mi sono bastate 2 modifiche per farla funzionare. Per il QoS ti funziona? se no potresti porvare a recuperare 'tc' da repository o 'sqm-scripts' da un altro device.
Dimmi quali non vanno così cerco di aiutarti
P.S. se dai un logread -f da root mentre carichi la pagina ti dovrebbero uscire tutti gli errori di nginx e quindi avere un punto di partenza per fixarli
P.S.2 Per i nat helpers non ricordo bene come ho risolto ma mi pare bisogna semplicamente cambiare all'interno del codice della card il file da cui prende gli helpers (mi pare semplicemente firewall )e metterlo a firewall_helpers
-
Non ho fatto il server, ma ho trovato queste informazioni. dimmi se ti sono utili.
Dovrebbe essere un "E5" che è un alias usato da Let's Encrypt per i propri certificati intermedi emesso da ISRG Root X1,
dimmi se va bene così o se devo fare altro.
📄 Certificato #0:
subject=CN = dominio.xyz
issuer=C = US, O = Let's Encrypt, CN = E5
📄 Certificato #1:
subject=C = US, O = Let's Encrypt, CN = E5
issuer=C = US, O = Internet Security Research Group, CN = ISRG Root X1
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
[[******]]
Signature Algorithm: ecdsa-with-SHA384
Issuer: C = US, O = Let's Encrypt, CN = E5
Validity
Not Before: Jul 3 21:38:31 2025 GMT
Not After : Oct 1 21:38:30 2025 GMT
Subject: CN = dominio.xyz
Subject Public Key Info:
Public Key Algorithm: id-ecPublicKey
Public-Key: (256 bit)
pub: [[******] - ECC public key]
ASN1 OID: prime256v1
NIST CURVE: P-256
X509v3 extensions:
X509v3 Key Usage: critical
Digital Signature
X509v3 Extended Key Usage:
TLS Web Server Authentication, TLS Web Client Authentication
X509v3 Basic Constraints: critical
CA:FALSE
X509v3 Subject Key Identifier:
[[******]]
X509v3 Authority Key Identifier:
[[******]]
Authority Information Access:
CA Issuers - URI:http://e5.i.lencr.org/
X509v3 Subject Alternative Name:
DNS:magliarisi.xyz
X509v3 Certificate Policies:
Policy: 2.23.140.1.2.1
X509v3 CRL Distribution Points:
Full Name:
URI:http://e5.c.lencr.org/6.crl
CT Precertificate SCTs:
Signed Certificate Timestamp:
[[******] - SCT log ID, timestamp, signature]
Signed Certificate Timestamp:
[[******] - SCT log ID, timestamp, signature]
Signature Algorithm: ecdsa-with-SHA384
Signature Value:
[******]
sudo openssl x509 -in fullchain.pem -text -noout | grep 'Issuer'
Issuer: C = US, O = Let's Encrypt, CN = E5
CA Issuers - URI:http://e5.i.lencr.org/
Riguardo le card, funzionano quasi tutte, molte erano nascoste a causa del tipo di utente. in /etc/config/web ho autorizzato tutti gli utenti e ora si vedono e funzionano.
Alcune card le ho importate dalla gui di Ansuel, e tipo quella di diagnostica funziona. il QOS non ne vuole sapere. Nat Helpers funziona bene, e la card GUI mod ed eco setting non funziona per niente.
-
Grazie mille, si da come vedo c'è effettivamente La Root cert della Internet Research quindi la mia teoria é confermata
La card ecoled a quanto so si basa su ledfw e alcuni script di transformer/ubus ma prendile con le pinze queste info perché non ne sono sicuro. Una funzione di ecoled era già nativa sul tg789 firmware UNO quindi credo che dando un' occhiata al codice della card si possa capire di cosa ha bisogno e magari provare a reintegrarli nel firmware scopiazzandoli un po' da release più vecchie. Può anche essere che tutto questo sia inutile e basta semplicemente cambiare un Path o una Uci entry, non so, bisogna sbirciare nel codice della card e vedere che fa. Ora purtroppo non posso vedere sul mio router però nel pomeriggio cerco di spacchettare la GUI e vedere un po'.
Per il QoS non saprei che altro dirti oltre a quello del post di prima e la GUI card visto che non ho mai usato la GUI non so cosa cosa faccia in realtà
Comunque il consiglio generale é: logread per catturare gli errori e reverse engineering degli script della gui e fixare a mano
Indaga un po' poi se non sai come fixare qualsiasi cosa chiedimi pure
-
Per caso é possibile scaricare il firmware 1.3.6 del tim hub plus dga4331
-
@teils @kisspachyousee @alfyz @orione67 qui:
AGTHF_1.3.5_CLOSED.rbi
AGTHF_1.3.6_CLOSED.rbi
(https://jottacloud.com/s/404aa6c112543a44f30a4084364aa47ccc3/list/AGTHF)
;)
-
Noooo come hai fatto 🎉🎉🎉🎉 grazie!!
Li provo in questi giorni, così magari riesco anche ad installare tailscale!
-
Sei stato fantastico!!! Non credo ai miei occhi, sono riuscito a resuscitare il mio Tim Hub + dopo praticamente un anno dall'aggiornamento che ha briccato centinaia di modem... Con tftpd64 è stato un gioco da ragazzi, flashato il firmware 1.3.5 e vaiiiiii... Che gioia rivedere tutte le lucine led accese :rotfl:...... Peccato che ormai è superato dal mio nuovo FRITZ box e dalla linea Ftth 2,5Gb... Comunque sempre utile in caso di necessità come router di scorta...
P. S. Di seguito ho flashato il fw 1.3.6 ma stranamente continuava ad uscire il fw 1.3.5 come installato. L'ho collegato all'ONT e da lì si è aggiornato tramite Tim all'ultima versione 1.3.6... ;)
Comunque grazie di cuore, ero rimasto con questa speranza per rivedere funzionare il mio Tim hub + e ne ho avuto conferma, flashando alla versione fw 1.3.5 con tftpd64 si può recuperare un modem morto briccato da quel fatidico aggiornamento mandato da Tim lo scorso anno... :clap:
-
Scusa ma come mai non hai usato le versioni che già ci sono qui sul forum? Io avevo scaricato la 1.1.1 qualche pagina fa
-
P. S. Di seguito ho flashato il fw 1.3.6 ma stranamente continuava ad uscire il fw 1.3.5 come installato. L'ho collegato all'ONT e da lì si è aggiornato tramite Tim all'ultima versione 1.3.6... ;)
Ho ricontrollato il download ma è quello della 1.3.6. Comunque non ho modo di provare perchè non ho quel dispositivo.
Nei Technicolor si può modificare il nome della versione, e mi è successo sul DGA4130 un comportamento simile. Alle volte basta un factory reset per far ritornare i valori di default.
Se qualcun altro ha modo di provare la 1.3.6...
-
@phoenixz ho provato io e funziona, risulta la 1.3.6. mi dici come hai fatto a recuperarli? mi potrebbe essere utile in futuro!
-
Qualcuno ha i firmware AGZHP?
-
Ciao qualcuno conosce repository con versioni firmware 1.4.0, 1.4.1, 1.4.2, 1.4.3 o 1.4.4 ho a i file firmware 1.4.0, 1.4.1, 1.4.2, 1.4.3 o 1.4.4
TIM HUB+ ZTE H388X AGZHP
-
@PierpiPic05
ho generato i certificati:
sudo certbot certonly --standalone \
-d dominio.xyz \
--agree-tos \
--no-eff-email \
-m [email protected]
@PierpiPic05, come fai a generare i certificati? Seguendo i tuoi stessi passi io ottengo questo output
# certbot certonly --standalone -d miodominio.xyz --agree-tos --no-eff-email -m [email protected]
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Requesting a certificate for miodominio.xyz
Certbot failed to authenticate some domains (authenticator: standalone). The Certificate Authority reported these problems:
Domain: miodominio.xyz
Type: dns
Detail: no valid A records found for miodominio.xyz; no valid AAAA records found for miodominio.xyz
Hint: The Certificate Authority failed to download the challenge files from the temporary standalone webserver started by Certbot on port 80. Ensure that the listed domains point to this machine and that it can accept inbound connections from the internet.
Some challenges have failed.
Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /var/log/letsencrypt/letsencrypt.log or re-run Certbot with -v for more details.
Devo forse mettere su prima un server vero e proprio e poi cambiare l’indirizzo ip verso cui punta il dominio?
[EDIT]
Sono riuscito a generare i certificati utilizzando il metodo manuale. A questo punto sto cercando di eseguire tch-exploit modificato come consigliato.
Usando debian, mi sono accorto che cambiano gli indirizzi di default, quindi ho dovuto usare 10.42.0.1.
Osservando i log però vedo che non parte alcune richiesta dhcp (tutti i led sono verdi, sia linea che web).
# node ./dist/index.js --port=4346 --ip="10.42.0.1"
Technicolor OpenWRT Shell Unlocker v2.0.1-rc8 By BoLaMN
* Connect network cable from your computer to the WAN (red) port of the modem
* Change your computers network card to be a static ip address
IPv4 Address: 10.42.0.1
Subnet Mask: 255.255.255.0
Default Gateway\Router: 10.42.0.1
using interface { name: 'eno1.83', address: '10.42.0.1', family: 'IPv4' }
listening for cwmp requests at http://10.42.0.1:4346/
Waiting for DHCP request... 0.0.0.0:67
Waiting for DHCPv6 request... :::547
[EDIT 2]
Mi sono accorto di una cosa strana. Ecco l'output del primo terminale:
# node ./dist/index.js --acsurl="https://tch.rcsnetwork.org/" --ip="10.42.0.1" --dhcponly
Technicolor OpenWRT Shell Unlocker v2.0.1-rc8 By BoLaMN
* Connect network cable from your computer to the WAN (red) port of the modem
* Change your computers network card to be a static ip address
IPv4 Address: 10.42.0.1
Subnet Mask: 255.255.255.0
Default Gateway\Router: 10.42.0.1
Waiting for DHCP request... 0.0.0.0:67
Waiting for DHCPv6 request... :::547
### MESSAGE {"op":1,"htype":1,"hlen":6,"hops":0,"xid":4077097574,"secs":0,"flags":0,"ciaddr":"0.0.0.0","yiaddr":"0.0.0.0","siaddr":"0.0.0.0","giaddr":"0.0.0.0","chaddr":"D4-35-1D-23-30-9A","sname":"","file":"","magicCookie":1669485411,"options":{"12":"modemtim","53":1,"55":[1,3,6,15,26,33,42,51,121,249,212,12],"57":1400,"145":[1]}}
>>> DISCOVER {"address":"10.42.0.14","leasePeriod":86400,"server":"10.42.0.1","state":"OFFERED"}
<<< OFFER {"op":2,"htype":1,"hlen":6,"hops":0,"xid":4077097574,"secs":0,"flags":0,"ciaddr":"0.0.0.0","yiaddr":"10.42.0.14","siaddr":"10.42.0.1","giaddr":"0.0.0.0","chaddr":"D4-35-1D-23-30-9A","sname":"","file":"","options":{"1":"255.255.255.0","3":["10.42.0.1"],"6":["10.42.0.1"],"12":"second.gateway","42":["10.42.0.1"],"43":[1,27,104,116,116,112,115,58,47,47,116,99,104,46,114,99,115,110,101,116,119,111,114,107,46,111,114,103,47,2,7,84,101,108,115,116,114,97],"51":86400,"53":2,"54":"10.42.0.1"}}
### MESSAGE {"op":1,"htype":1,"hlen":6,"hops":0,"xid":4077097574,"secs":0,"flags":0,"ciaddr":"0.0.0.0","yiaddr":"0.0.0.0","siaddr":"0.0.0.0","giaddr":"0.0.0.0","chaddr":"D4-35-1D-23-30-9A","sname":"","file":"","magicCookie":1669485411,"options":{"12":"modemtim","50":"10.42.0.14","53":3,"54":"10.42.0.1","55":[1,3,6,15,26,33,42,51,121,249,212,12],"57":1400,"145":[1]}}
>>> REQUEST {"address":"10.42.0.14","leasePeriod":86400,"server":"10.42.0.1","state":"BOUND","bindTime":"2025-08-24T10:57:42.440Z","file":""}
### BOUND {"D4-35-1D-23-30-9A":{"address":"10.42.0.14","leasePeriod":86400,"server":"10.42.0.1","state":"BOUND","bindTime":"2025-08-24T10:57:42.440Z","file":""}}
Mentre questo è l'output del secondo terminale:
# node ./dist/index.js --port=4346 --ip="10.42.0.1"
Technicolor OpenWRT Shell Unlocker v2.0.1-rc8 By BoLaMN
* Connect network cable from your computer to the WAN (red) port of the modem
* Change your computers network card to be a static ip address
IPv4 Address: 10.42.0.1
Subnet Mask: 255.255.255.0
Default Gateway\Router: 10.42.0.1
using interface { name: 'eno1.83', address: '10.42.0.1', family: 'IPv4' }
listening for cwmp requests at http://10.42.0.1:4346/
Waiting for DHCP request... 0.0.0.0:67
Waiting for DHCPv6 request... :::547
### MESSAGE {"op":1,"htype":1,"hlen":6,"hops":0,"xid":4077097574,"secs":0,"flags":0,"ciaddr":"0.0.0.0","yiaddr":"0.0.0.0","siaddr":"0.0.0.0","giaddr":"0.0.0.0","chaddr":"D4-35-1D-23-30-9A","sname":"","file":"","magicCookie":1669485411,"options":{"12":"modemtim","53":1,"55":[1,3,6,15,26,33,42,51,121,249,212,12],"57":1400,"145":[1]}}
>>> DISCOVER {"address":"10.42.0.13","leasePeriod":86400,"server":"10.42.0.1","state":"OFFERED"}
<<< OFFER {"op":2,"htype":1,"hlen":6,"hops":0,"xid":4077097574,"secs":0,"flags":0,"ciaddr":"0.0.0.0","yiaddr":"10.42.0.13","siaddr":"10.42.0.1","giaddr":"0.0.0.0","chaddr":"D4-35-1D-23-30-9A","sname":"","file":"","options":{"1":"255.255.255.0","3":["10.42.0.1"],"6":["10.42.0.1"],"12":"second.gateway","42":["10.42.0.1"],"43":[1,22,104,116,116,112,58,47,47,49,48,46,52,50,46,48,46,49,58,52,51,52,54,47,2,7,84,101,108,115,116,114,97],"51":86400,"53":2,"54":"10.42.0.1"}}
### MESSAGE {"op":1,"htype":1,"hlen":6,"hops":0,"xid":4077097574,"secs":0,"flags":0,"ciaddr":"0.0.0.0","yiaddr":"0.0.0.0","siaddr":"0.0.0.0","giaddr":"0.0.0.0","chaddr":"D4-35-1D-23-30-9A","sname":"","file":"","magicCookie":1669485411,"options":{"12":"modemtim","50":"10.42.0.14","53":3,"54":"10.42.0.1","55":[1,3,6,15,26,33,42,51,121,249,212,12],"57":1400,"145":[1]}}
>>> REQUEST {"address":"10.42.0.13","leasePeriod":86400,"server":"10.42.0.1","state":"BOUND","bindTime":"2025-08-24T10:57:42.434Z","file":""}
### BOUND {"D4-35-1D-23-30-9A":{"address":"10.42.0.13","leasePeriod":86400,"server":"10.42.0.1","state":"BOUND","bindTime":"2025-08-24T10:57:42.434Z","file":""}}
E' normale che vengano usati indirizzi ip diversi dai due script? Mi aspettavo che il router ottenesse un singolo ip via dhcp.
-
@krono86 Ciao,
In realtà dovrebbe funzionare dandoti solamente un solo indirizzo, nel secondo terminale dovrebbero comparire solo l'output del finto ACS e non del DHCP.
Hai scollegato il cavo dsl/fibra?
Se non lo stai già facendo ti consiglio di metterne un firmware vecchio tipo 1.1.0
Altrimenti prova a rifare il reset e poi ripeti la procedura
-
@PierpiPic05 Ciao!
Si, è collegato solo il pc che fa da server, alla porta WAN.
Non ho ancora provato con un firmware vecchio, ma ho comunque fatto il reset.
La cosa strana è che sembra che il router non veda il server ntp, anche se fa delle richieste. Se guardo nella interfaccia web, la data è quella odierna e non quella impostata sul server ntp.
Ora provo con un vecchio firmware.
-
Salve a tutti sto avendo problemi di accesso su una pen drive con windows 11 collegata al router AGTHF con firmware 1,3,6 ho provato ad abilitare anche samba 1,0 avete soluzioni?
-
@teils @kisspachyousee @alfyz @orione67 qui:
AGTHF_1.3.5_CLOSED.rbi
AGTHF_1.3.6_CLOSED.rbi
(https://jottacloud.com/s/404aa6c112543a44f30a4084364aa47ccc3/list/AGTHF)
;)
Ciao, se sto su firmware AGTHF_1.1.2 rootato e aggiorno a 1.3.6 mantengo il root?
posso caricarlo da GUI oppure mi consigli di eseguire questi step da riga di comando?
find /proc/banktable -type f -print -exec cat {} ';'
cat "/tmp/new.rbi" | (bli_parser && echo "Please wait..." && (bli_unseal | dd bs=4 skip=1 seek=1 of="/tmp/new.bin"))
rm -rf /overlay/$(cat /proc/banktable/booted)
mkdir -p /overlay/$(cat /proc/banktable/booted)/etc
chmod 755 /overlay/$(cat /proc/banktable/booted) /overlay/$(cat /proc/banktable/booted)/etc
echo -e "echo root:root | chpasswd
sed -i 's#/root:.*\$#/root:/bin/ash#' /etc/passwd
sed -i -e 's/#//' -e 's#askconsole:.*\$#askconsole:/bin/ash#' /etc/inittab
uci -q set \$(uci show firewall | grep -m 1 \$(fw3 -q print | \
egrep 'iptables -t filter -A zone_lan_input -p tcp -m tcp --dport 22 -m comment --comment \"!fw3: .+\" -j DROP' | \
sed -n -e 's/^iptables.\+fw3: \(.\+\)\".\+/\1/p') | \
sed -n -e \"s/\(.\+\).name='.\+'$/\1/p\").target='ACCEPT'
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 set dropbear.lan.enable='0'
uci commit dropbear
/etc/init.d/dropbear enable
/etc/init.d/dropbear restart
rm /overlay/\$(cat /proc/banktable/booted)/etc/rc.local
source /rom/etc/rc.local
" > /overlay/$(cat /proc/banktable/booted)/etc/rc.local
chmod +x /overlay/$(cat /proc/banktable/booted)/etc/rc.local
sync
# Erase and write new firmware into booted bank
mtd -e $(cat /proc/banktable/booted) write "/tmp/new.bin" $(cat /proc/banktable/booted)
# Emulate system crash to hard reboot
echo c > /proc/sysrq-trigger
?
-
@dragonx
Purtroppo non ho quel modello su cui provare quindi prova tu...ma non da GUI, la procedura è qui:
Upgrade firmware: https://hack-technicolor.readthedocs.io/en/stable/Upgrade/
Nel caso perdessi il root credo mi pare di capire che la procedura di root è ancora valida (https://www.ilpuntotecnico.com/forum/index.php/topic,84353.msg279952.html#msg279952) partendo da un firmware vecchio.
-
Buongiorno, ho un dga4331con AGTHF_1.3.6 c'è modo di abilitare root? come si fa il downdrade del firmware, non riesco a trovare una guida, per me è importate riuscire a cambiare almeno i dns, grazie mille in anticipo
-
@iscrazzeid CIao, per il downgrade devi scaricare un firmaware dal sito https://hack-technicolor.readthedocs.io, poi sul tuo router scollega il doppino/sfp, fai il factory reset da tastino, appena riavviato loggati con la password di default nella pagina web di configurazione, apri la nuova piastrella in basso (non ricordo se si chiami sblocco modem o qualcosa di simile), da lì clicca sul bottone per lo "sblocco per altri operatori" ( o qualcosa di simile). Da ora nella prima piastrella avrai la possibilità di aggiornare il firmware.
-
Ok, ora per rootare il firmware? Dove trovo la guida? Grazie
-
Ciao a tutti, sono riuscito ad adattare la gui di Ansuel al DGA4331 ancora in fase si sistemazioni ci sono parecchi problemi, fatemi sapere se siete interessati a questa gui (https://i.ibb.co/svZqFYsP/image.png) (https://ibb.co/HDjqr8G2)
-
Ciao , io sono interessato ma purtroppo essendo il router principale non posso testarlo perchè se qualcosa va male devo resettarlo e perdo il root... ansuel ha abbandonato il repository?
-
Lo so, infatti ancora le funzionalità della card modGUI non funzionano tutte, giusto quella per fare il backup; per il resto ho sistemato molte componenti grafiche che in questo modem non funzionavano e ne ho aggiunte altre, ad esempio una card che dà informazioni nel caso ci sia collegato uno smartphone invece che una chiavetta per avere internet! Non so che fine abbia fatto Ansuel, ci vorrebbe una bella revisione da parte sua! :D
Non so se posso caricare qui lo zip della gui, ma sarebbe molto meglio farlo nel repository dedicato.
EDIT: curiosità: c'è qualche Technicolor usato da Vodafone? Perché ho trovato, spulciando nei file, uno script che attiva un timer e gestisce per un periodo di tempo un "Boost", cioè una priorità per un certo dispositivo collegato al modem InternetGatewayDevice_X_VODAFONE_BoostDevice_.set
-
@kisspachyousee quali parti della GUI non ti funzionavano sul DGA 4331 ?
Io l'ho usato per 5-6 mesi senza problemi con l'ultima GUI-dev , naturalmente mancava la parte M-ABR ed Easymesh ma tutto il resto era OK.
NOTE:
1- rootato seguendo più o meno le procedure di uomoukko e imdadadani , unica cosa ho usato un certificato HTTPS scaduto (avevo quello O:-) ), tanto basta dargli un NTP fake che porta indietro la data del router :D (comodo soprattutto per rootare quando scadono le CA)
2- bank planning inizialmente fatto a mano (c'è la guida su hacktechnicolor).
-
Si infatti per il root ho fatto allo stesso modo qualche settimana fa, ho messo un server ntp con data precedente e sono riuscito a fare il root. Ma se mettessi così com'è la gui di ansuel non funzionerebbe, o meglio si vede tutto male le card non sono allineate. Io ho la versione firmware del 2024 1.3.6 credo. Se non erro qualcun altro ha fatto la stessa prova e ha avuto gli stessi problemi.
-
Riguardo al voip ho creato una tab aggiuntiva con tutte le funzionalità nascoste:
(https://i.ibb.co/9kgx0xZQ/1-Screenshot-2026-03-31-113011.png) (https://ibb.co/LXRTyTNV)
(https://i.ibb.co/HfPv3zfL/2-Screenshot-2026-03-31-113043.png) (https://ibb.co/gLW1hTLb)
(https://i.ibb.co/mCdZyCZQ/3-Screenshot-2026-03-31-113059.png) (https://ibb.co/ynKvknvL)
1. Rete, NAT e Identità (Network & Identity)
Keep-Alive Method & Interval: Forza l'invio di pacchetti (OPTIONS o REGISTER) a intervalli regolari (es. 20 secondi) per tenere aperta la porta nel firewall del provider 4G.
Reg Expire Before: Timer che anticipa il rinnovo della registrazione VoIP prima che scada il tempo imposto dal NAT, impedendo la disconnessione dell'account.
STUN Server (Enable/Address): Fondamentale per il "NAT Traversal".
DTMF Relay Mode: Permette di scegliere il protocollo dei toni (es. RFC2833).
User Agent Spoofing
2. Funzionalità di Chiamata (Call Features)
Reject Anonymous Calls (ACR): Blocca e rifiuta in automatico le chiamate in entrata provenienti da numeri "Privato" o "Sconosciuto".
Do Not Disturb (DND): Il "Non Disturbare". Rifiuta tutte le chiamate in entrata.
Call Waiting (Beep): Attiva/disattiva l'avviso di chiamata.
Hide My Number (CLIR): Nasconde il tuo ID chiamante.
Call Forwarding (CFU / CFNR): Deviazione di chiamata. Puoi deviare tutte le chiamate, oppure solo quelle a cui non rispondi entro un certo Timeout (modificabile), verso un altro numero (es. il tuo cellulare).
Global Ringing Timeout: Decide dopo quanti secondi esatti il modem deve far cadere la linea se nessuno risponde in casa.
3. Emergenze (SOS & Dial Plan)
SOS Auto-Dial (Warmline): Funzione salvavita (gestibile per ogni singola porta telefono). Se alzi la cornetta e non digiti nulla per X secondi, il modem chiama in automatico un numero di emergenza impostato (es. 118 o un cellulare).
Auto-Prefix (Local Calls): Impostando il prefisso della propria città (es. 06, 02), il modem lo aggiunge da solo se digiti un numero breve (es. un numero locale a 7 cifre).
4. Hardware Audio, Jitter e Fax
Adaptive Jitter Buffer: Essenziale per le connessioni 4G instabili. Raccoglie i pacchetti audio e li riordina, impedendo che la voce risulti spezzettata o "robotica".
T.38 Fax Pass-Through: Il protocollo specifico per far passare senza compressione i dati dei FAX tradizionali o dei POS bancari fisici.
Echo Cancellation: Soppressione dell'eco per le cornette fisiche collegate dietro al router (FXS1 e FXS2).
TX/RX Gain (Volumi Cornetta): Modifica del guadagno hardware in ricezione (Ear Volume) e trasmissione (Mic Volume) per alzare o abbassare l'audio delle telefonate indipendentemente per ogni porta telefonica.
-
Ciao a tutti, sono riuscito ad adattare la gui di Ansuel al DGA4331 ancora in fase si sistemazioni ci sono parecchi problemi, fatemi sapere se siete interessati a questa gui (https://i.ibb.co/svZqFYsP/image.png) (https://ibb.co/HDjqr8G2)
Io è parecchio che non seguo questo topic. Ero rimasto che qualcuno aveva trovato il modo per ottenere i privilegi di root, ma anche una volta ottenuti si poteva fare poco e niente.
Con la gui di ansuel si può fare qualcosa di interessante tipo scaricare torrent o impostare un adblock direttamente sul modem? In tal caso mi offrirei volontario come cavia anche con procedure poco user-friendly.
Questa procedura https://www.ilpuntotecnico.com/forum/index.php/topic,84353.msg276678.html#msg276678 , che voi sappiate, è ancora valida? Funziona con l'ultima versione del firmware (che ora come ora non ricordo)?
-
Ciao,
la gui adattata al 4331 è disponibile su github o su un file storage online ? Se sì, la proverei sul 4134 con firmware Net Lynk o sorgenia , dovrebbe avere un hardware molto simile al 4331 , in particolare sul wifi 5 Ghz.
E poi una curiosità... installandola su firmware più vecchi potrebbe funzionare lo stesso?
-
Ciao, no, sono solo delle prove che ho fatto io basandomi sul firmware TIM, che è stato molto modificato da TIM stessa, quindi non saprei se potrebbe andare bene.Ho provato sull'ultimo 1.3.6 e con le versioni precedenti avrebbe problemi.
Al momento non l'ho messo in nessun repository perché l'ho provato solo io e non ho certezza che su altri potrebbe fare danni oltre al fatto che non è completo, ci sono ancora molte cose da sistemare.
-
Ciao @kisspachyousee
in effetti scavando un po' nella GUI modded (io uso la 9.7.7) su DGA4331 un po' di problemi qua e là spuntano.
Per adesso quello più "fastidioso" è sulla wifi 5G dove prendo uno schianto dell'interfaccia "The request could not be performed due to some error" mentre la wifi 2.4G si configura senza problemi.
Lì hai visto quale è l'errore? Su error.log trovo questo:
2024/11/21 15:49:34 [error] 19061#0: *11 lua entry thread aborted: runtime error: [string "/modals/wireless-modal.lp"]:62: bad argument #1 to 'ipairs' (table expected, got nil)
-
Non ho messo la gui ansuel così com'è perché mi dava troppi problemi, ho dovuto adattare tutto con la versione 1.3.6. credo che la card wireless ho cambiato solo l'estetica ma le funzionalità sono rimaste quelle originali Tim e non le ho modificate. Tu su quale versione del firmware hai messo la gui?
-
Ho provato sulla 1.0.0 e sulla 1.3.6
Per il problema sulla parte wireless 5G: vedo errori relativi ad alcune listbox che non vengono popolate correttamente (quella degli standard 802.11* e quella della larghezza canale) : sicuramente perchè il 4331 supporta valori diversi da quelli previsti in GUI.