[GUIDA] Root e Modding Smart Modem Sercomm VD625 AGSOT

  • 208 Risposte
  • 160679 Visite

0 Utenti e 2 Visitatori stanno visualizzando questo topic.

Offline FrancYescO

  • VIP
  • *****
  • 3376
Re:[GUIDA] Root e Modding Smart Modem Sercomm VD625 AGSOT
« Risposta #195 il: 24 Gennaio 2022, 22:23 »
direi che puoi perderci le speranze ;)
Gli aggiornamenti, soprattutto su questi device vecchi, non son volti ad aggiungere funzionalità per l'utente, piuttosto di monitoraggio per TIM.

Offline starmen

  • Nuovo Iscritto
  • *
  • 20
Re:[GUIDA] Root e Modding Smart Modem Sercomm VD625 AGSOT
« Risposta #196 il: 15 Marzo 2022, 19:17 »
Dacci il link dell'ultima beta AGSOT_2.2.1_001 per Sercomm vd625 o più recente se ce n'è uno e grazie.
« Ultima modifica: 15 Marzo 2022, 19:20 da starmen »

Offline puntogiovax

  • Nuovo Iscritto
  • *
  • 13
Re:[GUIDA] Root e Modding Smart Modem Sercomm VD625 AGSOT
« Risposta #197 il: 31 Maggio 2022, 11:29 »
Ciao ragazzi,
volevo sbloccare il VD625 con versione Firmware 2.1.0, sono riuscito ad ottenere il file it_worked e sono connesso con telnet, ora come faccio in questo punto     mount -n -t jffs2 -o rw,remount /dev/mtdblock7 / a capire quale mtdblock montare? Grazie!
 
« Ultima modifica: 31 Maggio 2022, 12:08 da puntogiovax »

Offline starmen

  • Nuovo Iscritto
  • *
  • 20
Re:[GUIDA] Root e Modding Smart Modem Sercomm VD625 AGSOT
« Risposta #198 il: 01 Settembre 2022, 00:10 »
Signor "lorenzocanalelc" ci dia l'ultimo firmware agsot di Sercomm vd625, grazie.

Offline abidifethi

  • Nuovo Iscritto
  • *
  • 11
Re:[GUIDA] Root e Modding Smart Modem Sercomm VD625 AGSOT
« Risposta #199 il: 29 Novembre 2022, 17:13 »
Help please
I have an old VD625 with 1.0.8 version, but after using this guide I can not get root acces only the usb disk is available in samba ( ubuntu 14 in Virtualbox)
the csrf_token was token from webdevelop tools in chrome (F12)

Offline abidifethi

  • Nuovo Iscritto
  • *
  • 11
Re:[GUIDA] Root e Modding Smart Modem Sercomm VD625 AGSOT
« Risposta #200 il: 03 Dicembre 2022, 16:41 »
Finally I can access to root but I'm stuck at saving rcS file modification.
Which program must I use to save it whatever I do can't save modification.(rootfs is at mtdblock6 mounted at rw)
(rootfs -inactive is at mtdblock7)
« Ultima modifica: 03 Dicembre 2022, 16:43 da abidifethi »

Offline mamob07

  • Nuovo Iscritto
  • *
  • 2
Re:[GUIDA] Root e Modding Smart Modem Sercomm VD625 AGSOT
« Risposta #201 il: 29 Dicembre 2022, 19:48 »
una volta ottenuto l'accesso a telnet come faccio a fare il backup e caricarci il firmware aggiornato? (ho AGSOT_1.0.7)
« Ultima modifica: 30 Dicembre 2022, 12:16 da mamob07 »

Offline tonyhouse

  • Nuovo Iscritto
  • *
  • 15
Re:[GUIDA] Root e Modding Smart Modem Sercomm VD625 AGSOT
« Risposta #202 il: 27 Dicembre 2023, 10:38 »
ciao a tutti,
riesumo questo vecchio thread poichè vorrei sfruttare la parte VOIP di questo router connesso alla LAN (quindi modalità access point)
cosa ho fatto finora:
  • aggiornato firmware 2.2 collegandolo ad una linea TIM
  • attivata la modalità di sblocco per avere i parametri VOIP configurabili da UI
  • configurato con i dati forniti dal mio provider VOIP
  • il servizio VOIP non funziona, credo che il servizio parta solamente se c'è una connessione VDSL in atto, cosa che nel mio caso non è vera dato che la rete viene data da una delle prese LAN
  • downgrade alla 2.0 per sfruttare il mount ed avere accesso al filesystem e lanciare il demone telnet (le varie guide NON funzionano, o meglio non sono riuscito seguendole alla lettera ma mettendoci del mio)
  • dalla busybox non ho accesso ad internet (quindi il SIP non è raggiungibile), aggiunto con i comandi
    ip route add default via 192.168.0.1
    echo nameserver 192.168.0.1 > /etc/resolv.conf
    (il mio router principale è 192.168.0.1 che fa anche da DNS)

ora ho il router che accede ad internet ma sembra che il servizio VOIP non venga nemmeno lanciato
non ho logs
non ho capito come questi servizi vengono lanciati (ci sono dei comandi rc/rc_app che apparentemente lanciano servizi ma non è che ho avuto molto output dalle mie prove)

nessuno che ci ha messo le mani e mi può aiutare a capire come lanciare il servizio voip?
grazie

Offline tonyhouse

  • Nuovo Iscritto
  • *
  • 15
Re:[GUIDA] Root e Modding Smart Modem Sercomm VD625 AGSOT
« Risposta #203 il: 30 Dicembre 2023, 10:38 »
Deduco che nessuno ha mai avuto a che fare su questo argomento
provo a dare altre info in merito poichè io non ho esperienza su questi servizi
ho trovato l'eseguibile rc_app (scovato dal boot log che ha postato qualcuno qui) che fa partire tutti i servizi
uno di questi è il servizio voip che quando parte provoca questo output:
Codice: [Seleziona]
# rc_app voip start
Read system.conf success

Starting SeComm VGW Application pid=30250...
Check the vgw.lock file again

Previous vgw_app already exit, write new pid=30250 to /var/vgw.lock

Entering vgw_root_task()
CLI command 'dbgtr' added seccessfully

secos_queue_create name=DBG_Q qid=1 ret=0
CLI command 'show' added seccessfully
CLI command 'set' added seccessfully
VGW: Info Center Init...
conf.c:ReadGlobalSip(142), base_time=30 o_base_time=90, max_time=1800
conf.c:ReadGlobalSip(151), t1_timer=500 t2_timer=4000 timerA:500 timerB:32000 timerE:500 timerF:32000
conf.c:ReadSipReg(257), CONF: no 0 tx_port_type UDP

conf.c:ReadSipReg(257), CONF: no 1 tx_port_type

conf.c:ReadSipReg(257), CONF: no 2 tx_port_type

conf.c:ReadSipReg(257), CONF: no 3 tx_port_type

conf.c:ReadSipReg(257), CONF: no 4 tx_port_type

conf.c:ReadSipReg(257), CONF: no 5 tx_port_type

conf.c:ReadSipReg(257), CONF: no 6 tx_port_type

conf.c:ReadSipReg(257), CONF: no 7 tx_port_type

conf.c:ReadSipReg(257), CONF: no 8 tx_port_type

conf.c:ReadSipReg(257), CONF: no 9 tx_port_type

conf.c:ReadSipReg(257), CONF: no 10 tx_port_type

conf.c:ReadSipReg(257), CONF: no 11 tx_port_type

conf.c:ReadSipReg(257), CONF: no 12 tx_port_type

conf.c:ReadSipReg(257), CONF: no 13 tx_port_type

conf.c:ReadSipReg(257), CONF: no 14 tx_port_type

conf.c:ReadSipLine(331), CONF: no 0 local port 5060 txptype 1(01=UDP, 02=TCP, 04=TLS)

ReadSipLineConf line=0 ret=-2
conf.c:ReadSipLine(331), CONF: no 1 local port 5060 txptype 1(01=UDP, 02=TCP, 04=TLS)

ReadSipLineConf line=1 ret=-2
conf.c:ReadSipLine(331), CONF: no 2 local port 5060 txptype 1(01=UDP, 02=TCP, 04=TLS)

ReadSipLineConf line=2 ret=-2
conf.c:ReadSipLine(331), CONF: no 3 local port 5060 txptype 1(01=UDP, 02=TCP, 04=TLS)

ReadSipLineConf line=3 ret=-2
conf.c:ReadSipLine(331), CONF: no 4 local port 5060 txptype 1(01=UDP, 02=TCP, 04=TLS)

ReadSipLineConf line=4 ret=-2
conf.c:ReadSipLine(331), CONF: no 5 local port 5060 txptype 1(01=UDP, 02=TCP, 04=TLS)

ReadSipLineConf line=5 ret=-2
conf.c:ReadSipLine(331), CONF: no 6 local port 5060 txptype 1(01=UDP, 02=TCP, 04=TLS)

ReadSipLineConf line=6 ret=-2
conf.c:ReadSipLine(331), CONF: no 7 local port 5060 txptype 1(01=UDP, 02=TCP, 04=TLS)

ReadSipLineConf line=7 ret=-2
conf.c:ReadSipLine(331), CONF: no 8 local port 5060 txptype 1(01=UDP, 02=TCP, 04=TLS)

ReadSipLineConf line=8 ret=-2
conf.c:ReadSipLine(331), CONF: no 9 local port 5060 txptype 1(01=UDP, 02=TCP, 04=TLS)

ReadSipLineConf line=9 ret=-2
conf.c:ReadSipLine(331), CONF: no 10 local port 5060 txptype 1(01=UDP, 02=TCP, 04=TLS)

ReadSipLineConf line=10 ret=-2
conf.c:ReadSipLine(331), CONF: no 11 local port 5060 txptype 1(01=UDP, 02=TCP, 04=TLS)

ReadSipLineConf line=11 ret=-2
conf.c:ReadSipLine(331), CONF: no 12 local port 5060 txptype 1(01=UDP, 02=TCP, 04=TLS)

ReadSipLineConf line=12 ret=-2
conf.c:ReadSipLine(331), CONF: no 13 local port 5060 txptype 1(01=UDP, 02=TCP, 04=TLS)

ReadSipLineConf line=13 ret=-2
conf.c:ReadSipLine(331), CONF: no 14 local port 5060 txptype 1(01=UDP, 02=TCP, 04=TLS)

ReadSipLineConf line=14 ret=-2
ReadCallFeature ret=-2
conf.c:ReadCodec(673), coder[0][0].codec  = 18
conf.c:ReadCodec(674), coder[0][0].pack   = 20
conf.c:ReadCodec(675), coder[0][0].vad    = 0
conf.c:ReadCodec(676), coder[0][0].name   = G729A
conf.c:ReadCodec(673), coder[0][1].codec  = 8
conf.c:ReadCodec(674), coder[0][1].pack   = 20
conf.c:ReadCodec(675), coder[0][1].vad    = 0
conf.c:ReadCodec(676), coder[0][1].name   = PCMA
conf.c:ReadCodec(673), coder[0][2].codec  = -1
conf.c:ReadCodec(674), coder[0][2].pack   = 20
conf.c:ReadCodec(675), coder[0][2].vad    = 0
conf.c:ReadCodec(676), coder[0][2].name   =
conf.c:ReadCodec(673), coder[0][3].codec  = -1
conf.c:ReadCodec(674), coder[0][3].pack   = 20
conf.c:ReadCodec(675), coder[0][3].vad    = 0
conf.c:ReadCodec(676), coder[0][3].name   =
conf.c:ReadCodec(673), coder[0][4].codec  = 101
conf.c:ReadCodec(674), coder[0][4].pack   = 20
conf.c:ReadCodec(675), coder[0][4].vad    = 0
conf.c:ReadCodec(676), coder[0][4].name   = telephone-event
conf.c:ReadCodec(673), coder[0][5].codec  = -1
conf.c:ReadCodec(674), coder[0][5].pack   = 20
conf.c:ReadCodec(675), coder[0][5].vad    = 0
conf.c:ReadCodec(676), coder[0][5].name   =
conf.c:ReadCodec(673), coder[0][6].codec  = -1
conf.c:ReadCodec(674), coder[0][6].pack   = 20
conf.c:ReadCodec(675), coder[0][6].vad    = 0
conf.c:ReadCodec(676), coder[0][6].name   =
conf.c:ReadCodec(673), coder[1][0].codec  = 18
conf.c:ReadCodec(674), coder[1][0].pack   = 20
conf.c:ReadCodec(675), coder[1][0].vad    = 0
conf.c:ReadCodec(676), coder[1][0].name   = G729A
conf.c:ReadCodec(673), coder[1][1].codec  = 8
conf.c:ReadCodec(674), coder[1][1].pack   = 20
conf.c:ReadCodec(675), coder[1][1].vad    = 0
conf.c:ReadCodec(676), coder[1][1].name   = PCMA
conf.c:ReadCodec(673), coder[1][2].codec  = -1
conf.c:ReadCodec(674), coder[1][2].pack   = 20
conf.c:ReadCodec(675), coder[1][2].vad    = 0
conf.c:ReadCodec(676), coder[1][2].name   =
conf.c:ReadCodec(673), coder[1][3].codec  = -1
conf.c:ReadCodec(674), coder[1][3].pack   = 20
conf.c:ReadCodec(675), coder[1][3].vad    = 0
conf.c:ReadCodec(676), coder[1][3].name   =
conf.c:ReadCodec(673), coder[1][4].codec  = 101
conf.c:ReadCodec(674), coder[1][4].pack   = 20
conf.c:ReadCodec(675), coder[1][4].vad    = 0
conf.c:ReadCodec(676), coder[1][4].name   = telephone-event
conf.c:ReadCodec(673), coder[1][5].codec  = -1
conf.c:ReadCodec(674), coder[1][5].pack   = 20
conf.c:ReadCodec(675), coder[1][5].vad    = 0
conf.c:ReadCodec(676), coder[1][5].name   =
conf.c:ReadCodec(673), coder[1][6].codec  = -1
conf.c:ReadCodec(674), coder[1][6].pack   = 20
conf.c:ReadCodec(675), coder[1][6].vad    = 0
conf.c:ReadCodec(676), coder[1][6].name   =
conf.c:ReadCodec(701), coder[0][0] codec 18,  pack 20 vad 0 name G729A

conf.c:ReadCodec(701), coder[0][1] codec 8,  pack 20 vad 0 name PCMA

conf.c:ReadCodec(701), coder[0][2] codec -1,  pack 20 vad 0 name

conf.c:ReadCodec(701), coder[0][3] codec -1,  pack 20 vad 0 name

conf.c:ReadCodec(701), coder[0][4] codec 101,  pack 20 vad 0 name telephone-event

conf.c:ReadCodec(701), coder[0][5] codec -1,  pack 20 vad 0 name

conf.c:ReadCodec(701), coder[0][6] codec -1,  pack 20 vad 0 name

conf.c:ReadCodec(701), coder[1][0] codec 18,  pack 20 vad 0 name G729A

conf.c:ReadCodec(701), coder[1][1] codec 8,  pack 20 vad 0 name PCMA

conf.c:ReadCodec(701), coder[1][2] codec -1,  pack 20 vad 0 name

conf.c:ReadCodec(701), coder[1][3] codec -1,  pack 20 vad 0 name

conf.c:ReadCodec(701), coder[1][4] codec 101,  pack 20 vad 0 name telephone-event

conf.c:ReadCodec(701), coder[1][5] codec -1,  pack 20 vad 0 name

conf.c:ReadCodec(701), coder[1][6] codec -1,  pack 20 vad 0 name

ReadGeneral ret=-2
secos_dbg_set_enable: Set spy off
secos_dbg_set_level: Set spy level 0
vgw_create.c:vgw_create(161), VGW: SSL init ...


secos_queue_create name=SBMQ qid=2 ret=0
SBM: msg Q created id=2
SBM task created
VGW: sbm_create() done......
************************* dcCodec_init_audio_prefer 0001 *************************
prefer_codec[0].codec  = 18
audio_prefer_idxs[0]   = 0
prefer_codec[1].codec  = 8
audio_prefer_idxs[1]   = 0
prefer_codec[2].codec  = -1
audio_prefer_idxs[2]   = 0
prefer_codec[3].codec  = -1
audio_prefer_idxs[3]   = 0
prefer_codec[4].codec  = 101
audio_prefer_idxs[4]   = 0
prefer_codec[5].codec  = -1
audio_prefer_idxs[5]   = 0
prefer_codec[6].codec  = -1
audio_prefer_idxs[6]   = 0
************************* dcCodec_init_audio_prefer 0002 *************************
audio_prefer_idxs[0] = 18
audio_prefer_idxs[1] = 8
audio_prefer_idxs[2] = 101
audio_prefer_idxs[3] = 0
audio_prefer_idxs[4] = 0
audio_prefer_idxs[5] = 0
audio_prefer_idxs[6] = 0
count = 3

secos_queue_create name=CSMQ qid=3 ret=0
BOS: Enter bosInit
VGW: csm_create() done......
bosTimerInit
Enter bosAppInit Exit bosAppInit BOS: Exit bosInit

secos_queue_create name=LSMQ qid=4 ret=0
LSM: msg Q created id=4
LSM task created

/usr/sbin/led_sound_app voip_reg_fail
Fxs[0]: sipmap in=0 out=0 fax_port=0 mwi_display=1 connDev_type=0
Fxs[1]: sipmap in=1 out=1 fax_port=0 mwi_display=1 connDev_type=0
vrgEndptDriverOpen: Endpoint driver open success
vrgEndptInit: error during ioctlVGW: lsm_create() done......
$$$$ ---- Wait lsm, sbm and csm finish initialization...
$$$$ ---- SIPREG start now...
IPPCM: SIPREG task created

secos_queue_create name=SIPREGQ qid=5 ret=0
SIPD: SIPD task created
VGW: cgiif_create() done......
**** vgw_create() done


mentre nella UI ho solamente queste info


strano..c'è l'agent e la porta il proxy ma manca il sip server....bah fanno di tutto per rendere queste configurazioni complicate...
premetto che con un apparato fatto apposta (linksys pap2t) il telefono funziona correttamente..

Offline Puccio823

  • Membro Giovane
  • **
  • 81
Re:[GUIDA] Root e Modding Smart Modem Sercomm VD625 AGSOT
« Risposta #204 il: 29 Gennaio 2024, 22:05 »
Ciao @tonyhouse, ho lo stesso router, ci ho smanettato una settimana, può funzionare come access point e server di stampa, condivisione samba e ftp, non ricordo bene se ho provato il 3g con una chiavetta huawei, ma sono ormai obsolete, nient'altro sono riuscito a fare, neanche il root  come descritto nella guida, non la parte voip, perchè non mi serve, figurati che non ho  neanche il telefono connesso al router, ho trovato questo link https://www.boccanera.net/quel-furbo-router-della-tim-che-nasconde-gli-altri-operatori-telefonici/  , dagli un occhiata magari sono i dns che impediscono la connessione, comunque credo che quello che vorresti fare sia fattibile, basta cercare il tutorial giusto

Offline kyokusei

  • Nuovo Iscritto
  • *
  • 3
Re:[GUIDA] Root e Modding Smart Modem Sercomm VD625 AGSOT
« Risposta #205 il: 08 Febbraio 2024, 22:06 »
Salve a tutti,
sto cercando di fare il root del modem. Queste sono le info del firmware installato:

Citazione
Name of device: AGCOMBO
DSL version: A2pv6F039u.d26a
Firmware version: AGSOT_2.2.0
Bootloader Version: 1.04.0
Hardware Type & Version: V01

Ho provato a seguire le istruzioni, nello specifico ho creato il file runme:

Citazione
#!/bin/sh
   
exec > /mnt/shares/FlashDrive/Partition1/it_worked 2>&1
set -x

ps
date

iptables -D INPUT -i ! br0 -p tcp --dport 7777 -j DROP >/dev/null 2>&1
iptables -I INPUT -i ! br0 -p tcp --dport 7777 -j DROP   
/bin/telnetd -F -p 7777 -l /bin/sh&

Ho usato l'etichetta FlashDrive perché ho visto che così veniva riconosciuta la chiavetta quando viene montata nel samba o anche nella GUI.

Ho inserito la chiavetta, ho preso le informazione dei cookie con firefox, l'ho inserite nel file headers:

Citazione
GET /data/overview.json?_=1707425220519&csrf_token=HK23419CC9JW4FE34E10 HTTP/1
Host: 192.168.2.1
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0
Accept: application/json, text/javascript, */*; q=0.01
Accept-Language: it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
X-Requested-With: XMLHttpRequest
Connection: keep-alive
Referer: http://192.168.2.1/overview.html
Cookie: session_id=23419CC94FE34E1074636E0B; username=admin


Ho lanciato lo script, che mi ha restituito:

Citazione
Note: Unnecessary use of -X or --request, POST is already inferred.
*   Trying 192.168.2.1:80...
* Connected to 192.168.2.1 (192.168.2.1) port 80
> POST /data/settings_content_sharing_device.json?_=1581445756953&csrf_token=HK23419CC9JW4FE34E10 HTTP/1.1
> Host: 192.168.2.1
> User-Agent: curl/8.5.0
> Accept: */*
> Cookie: session_id=23419CC94FE34E1074636E0B; username=admin
> Content-Length: 220
> Content-Type: application/x-www-form-urlencoded
>
* HTTP 1.0, assume close after body
< HTTP/1.0 200 OK
HTTP/1.0 200 OK
< Content-Type: text/html
Content-Type: text/html
< X-Content-Type-Options: nosniff
X-Content-Type-Options: nosniff
< X-Frame-Options: SAMEORIGIN
X-Frame-Options: SAMEORIGIN
< X-XSS-Protection: 1; mode=block
X-XSS-Protection: 1; mode=block
< X-XSS-Protection: 1; report=http://www.example.com/xss
X-XSS-Protection: 1; report=http://www.example.com/xss

<
* Closing connection
[ ]HTTP/1.0 200 OK
Content-Type: text/html
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-XSS-Protection: 1; report=http://www.example.com/xss

[ { "network_sharing_enable": "1" } ]HTTP/1.0 200 OK
Content-Type: text/html
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-XSS-Protection: 1; report=http://www.example.com/xss

[ { "device_id": "1", "device_name": "FlashDrive", "lanip": "192.168.2.1", "root_folder": "\/", "ns_content_sharing_enable": "1", "ns_require_username_password": "0", "ns_user_id": "1", "ns_share_all_folders": "1", "ns_share_folder_data": "", "dlna_sharing_enable": "", "dlna_share_all_folders": "", "dlna_share_folder_data": "" } ]


Ho provato quindi ad entrare nella condivisione per cercare il file, ma nella directory \\192.168.2.1\FlashDrive\Partition1 non ho trovato nulla se non il runme.
Sto usando Windows 7.

Cosa sto sbagliando?
Andava fatto dell'altro?

Offline kyokusei

  • Nuovo Iscritto
  • *
  • 3
Re:[GUIDA] Root e Modding Smart Modem Sercomm VD625 AGSOT
« Risposta #206 il: 08 Febbraio 2024, 22:55 »
A quanto pare con questa versione di firmware è necessario solamente fare un reset per sbloccare le altre funzionalità, staccati dalla rete TIM.
Speravo di poter utilizzare la porta WAN per attaccarla ad un altro router in tandem, ma a quanto pare non funziona (credo problemi di protocollo, nonostante abbia provato sia DHCP che Static IP), alla fine ho risolto sfruttando una porta LAN attaccata al router padre, così almeno funziona da AP, anche se avrei preferito usare la WAN e creare una seconda sottorete.

Offline STOURA007

  • Nuovo Iscritto
  • *
  • 4
  • Sesso: Maschio
Re:[GUIDA] Root/sblocco Sercomm VD625 (AGSOT)
« Risposta #207 il: 20 Marzo 2024, 07:06 »
Mi scuso per il post disordinato, però credo che questo "riassunto" sia utile.
Confermo che funziona anche con la versione 2.1.0 del firmware per AGSOT, però ci vuole molta pazienza. Andreyo suggerisce una parte degli aggiustamenti da fare.
La penna usb nel mio caso viene chiamata DataTraveler210, non USB2FlashStorage, questo nome va sostituito in più punti:
va aggiustata la seconda riga con il nome giusto, nel mio caso diventa:
Codice: [Seleziona]
exec > /mnt/shares/DataTraveler210/Partition1/it_worked 2>&1 poi va aggiustato il finale del file smb.conf:
Codice: [Seleziona]
[...]
[Partition1]
        follow symlinks = yes
        wide links = no
        path=/mnt/shares
        security = share
        writeable = yes
        root preexec = /bin/sh -c "/mnt/shares/DataTraveler210/Partition1/runme > /tmp/aaaaaa"
        guest account = admin
Inoltre il fatto che la procedura POST ritorni 200 non è detto che sia buono, ed è stato il fatto più rognoso di tutti, a me tornava 200 ... sulla pagina di login, esempio:
Codice: [Seleziona]
HTTP/1.0 200 OK
Content-Type: text/html
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-XSS-Protection: 1; report=http://www.example.com/xss

<script> top.location.href="/login.html"; </script>
Qui status code è 200, però la riga finale a occhio dice che mi ha rimandato al login, quindi  :headbang:
Qui c'è il campo minato.
La mia soluzione è passare via curl anche un po' di cookie validi, presi da una sessione già aperta in un browser, oltre al CSRF giusto. Ho scritto uno script un po' bruttino in bash:
Codice: [Seleziona]
function produce() {
   cat headers
}

COOKIE=$(produce | grep Cookie)
CSRF=$(produce | grep GET | cut -d'=' -f3 | cut -d' ' -f1)

curl -v -H "${COOKIE}" -X POST -i 'http://192.168.1.1/data/settings_content_sharing_device.json?_=1581445756953&csrf_token='$CSRF --data 'sharing_device=[{"device_id":"1","root_folder":"/","ns_content_sharing_enable":"1","ns_require_username_password":"0","ns_user_id":"1","ns_share_all_folders":"0","ns_share_folder_data":"1|root|../../../:0|Partition1|:"}]'
curl -H "${COOKIE}" -i 'http://192.168.1.1/data/settings_network_sharing.json?_=1581445756953&csrf_token='$CSRF
curl -H "${COOKIE}" -i 'http://192.168.1.1/data/settings_content_sharing_device.json?_=1581445756953&csrf_token='$CSRF

Adesso va creato un file chiamato headers nella stessa cartella che contiene questo script, dove salvare i cookie, tra l'altro è necessario pure fare veloce altrimenti i dati vengono invalidati (equivale a fare un nuovo login). Questa è la strategia: con chrome accedo alla pagina di configurazione del router, scelgo una pagina a caso (Settings) poi dagli strumenti per sviluppatori nella scheda network, filtro con stringa "json" e poi prendo uno dei risultati, click destro, copy, copy request headers, ottengo per esempio:
Codice: [Seleziona]
GET /data/settings_password.json?_=1581463574502&csrf_token=HK51CB4002JW08D7F053 HTTP/1.1
Host: 192.168.1.1
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Accept: application/json, text/javascript, */*; q=0.01
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36
Referer: http://192.168.1.1/settings.html
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9,it;q=0.8,it-IT;q=0.7
Cookie: Session=0; username=admin; login_uid=0.6490536267857148; session_id=51CB400208D7F05371DF2A3B
Tutte le vie sono lecite per creare il file, a me piace fare
Codice: [Seleziona]
cat <<EOF > headers
<ora incollare!>
EOF

Questo è un esempio di una richiesta GET che va a buon fine, fatta su http://192.168.1.1/data/settings_network_sharing.json, che ritorna lo stato del servizio di condivisione (l'ultima riga è quella che conta):
Codice: [Seleziona]
HTTP/1.0 200 OK
Content-Type: text/html
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-XSS-Protection: 1; report=http://www.example.com/xss

[ { "network_sharing_enable": "1" } ]
Lo script non fa solo la richiesta POST, ci ho aggiunto anche due GET come controllino, per essere sicuro che la procedura funzioni. Ci sono arrivato parecchio per gradi.

Altra mina da schivare: windows 10 ha bloccato la condivisione file e cartelle con protocollo antico, che è esattamente quella che usa il firmware del router, quindi o si riattiva il supporto alle vecchie versioni del protocollo CIFS o samba o quel che è, oppure occorre linux, io ho usato una macchina virtuale, non so se WSL è sufficiente.
Se non bastasse, c'è un'altra mina ancora: pure le utility di linux nelle versioni recenti disattivano la versione antica di condivisione file e cartelle. Io ho trovato utile usare smbclient per vedere se compariva la nuova cartella condivisa:
Codice: [Seleziona]
smbclient -m NT1 --option='client min protocol = CORE' -U admin%admin -L 192.168.1.1
(qui la mina è che -m NT1 non basta, serve anche --option.....)
dopo aver avuto successo con curl ritorna
Codice: [Seleziona]

    Sharename       Type      Comment
    ---------       ----      -------
    IPC$            IPC       IPC Service (ModemTIM File-Server)
    Partition1      Disk
    root            Disk
Reconnecting with SMB1 for workgroup listing.

    Server               Comment
    ---------            -------

    Workgroup            Master
    ---------            -------
    MODEMTIM             MODEMTIM

Come si vede, ci sono 2 cartelle condivise dal modem, root e Partition1 (la penna usb). Per montare invece basta specificare vers=1.0, esempio:
Codice: [Seleziona]
mount -t cifs //192.168.1.1/root /mnt/timroot -o user=admin,pass=admin,vers=1.0
Una volta montata la partizione root via cifs il difficile è passato. Si procede come da istruzioni originali di xMase, con una cautela, il file /tmp/samba/smb.conf non è scrivibile, ma si può cancellare, e poi si può copiare la versione dalla penna usb, che si troverà in (mio caso) /mnt/shares/DataTraveler210/........
A questo punto mi è bastato smontare e rimontare la cartella condivisa della penna usb, ho fatto un ciclo while in uno script senza tanti complimenti, ed è partito telnet.

Devo dire che a questo punto però non so che farci  :rotfl:
Buonasera @ftp21 ,
ho caricato qui il backup della mia configurazione. https://filebin.net/oc6e0r9v8xzgzb76
Come hai capito che bisogna guardare in libfwutil.so?

mount -t cifs //192.168.1.1/root /mnt/timroot -o user=admin,pass=admin,vers=1.0

after mounting , i cant't edit , can't delete , can't replace the smb file

Offline Moroboshi_84

  • Nuovo Iscritto
  • *
  • 4
Re:[GUIDA] Root e Modding Smart Modem Sercomm VD625 AGSOT
« Risposta #208 il: 06 Luglio 2024, 21:09 »
Salve a tutti,
ho alcune domande da fare, prima di rendere il router un mattoncino...
queste sono le informazioni di sistema:
Citazione
Name of device: AGCOMBO
DSL version: A2pv6F039u.d26a
Serial Number: %R045771320N091712E734
Firmware version: AGSOT_2.2.0
Bootloader Version: 1.04.0
Hardware Type & Version: V01
Date & Time: 01.01.2013 04:02:43
Staccandolo dalla rete, ho attivato la sezione Configurazione Estesa, che dà accesso all'aggiornamento del firmware e la possibilità di configurare la connessione all'ISP.

Vi chiedo che vantaggi ci sono a portarlo ad OpenWrt, nel wiki del dispositivo, non riesco a capire quali funzionalità standard di OpenWrt non sono disponibili per questo dispositivo e nella versione con firmware proprietario quali caratteristiche sono state castrate.
E non riesco neppure a capire come inserire il firmware di OpenWrt... devo passare prima da quello dell'OEM messo a disposizione e poi aggiornarlo con l'altro?