[RICERCA] FASTGate ZTE ZXHN H388Q

  • 199 Risposte
  • 108230 Visite

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline lorenzocanalelc

  • Esperto
  • ****
  • 678
  • Sesso: Maschio
Re:Nuovissimo FASTGate ZTE ZXHN H388Q
« Risposta #120 il: 19 Maggio 2020, 08:49 »
L'URL da utilizzare tra i relativi tag deve essere il link diretto (detto anche hotlink) all'immagine: nel caso di imgur non viene fornito in chiaro ma puoi ottenerlo tramite il comando Copia indirizzo immagine disponibile ad esempio in Firefox all'interno del menu contestuale invocato sull'immagine tramite tasto dx del mouse (sx se sei mancino).
Ah ecco mi mancava la parte dell'url, grazie.
@larsen64it
Non va, c'è qualcosa che non funziona con le variabili, infatti
Codice: [Seleziona]
;a=reboot;$a questo comando non fa assolutamente niente  :facepalm:
« Ultima modifica: 19 Maggio 2020, 08:51 da lorenzocanalelc »

Offline ilsalvopss

  • Membro Giovane
  • **
  • 65
  • Sesso: Maschio
Re:Nuovissimo FASTGate ZTE ZXHN H388Q
« Risposta #121 il: 19 Maggio 2020, 10:26 »
Ho isolato il kernel pulito.

ora si tratta di decompilare il punto in cui monta il rootfs per capire come spacchettarlo

edit: se avete esperienza in questo campo vi giro l'elf

Offline lorenzocanalelc

  • Esperto
  • ****
  • 678
  • Sesso: Maschio
Re:Nuovissimo FASTGate ZTE ZXHN H388Q
« Risposta #122 il: 19 Maggio 2020, 12:13 »
@ilsalvopss  Io purtroppo non saprei da dove iniziare
Comunque giusto per avere un quadro un po' più completo (anche se ormai ho perso le speranze)
Codice: [Seleziona]
;'reboot'
;true&&reboot
;pippo$;reboot
&&reboot
Questi quattro comandi finiscono tutti con un reboot

Codice: [Seleziona]
&&sh$IFS/mnt/usb1_1/stafunzionando/sblocco.sh Non funziona
&&$IFSreboot Non funziona
&&reboot$IFS Non funziona
Questi tre vengono salvati ma non fanno assolutamente niente

Provando a cambiare metodo, secondo voi può esserci qualche bin che se eseguito cambi la password di root? Perché alla fine l'accesso a telnet è aperto dalle wan default di Fastweb, ma non ho trovato la password

Offline LuKePicci

  • Global Moderator
  • VIP
  • *****
  • 2789
Re:[RICERCA] FASTGate ZTE ZXHN H388Q
« Risposta #123 il: 19 Maggio 2020, 13:13 »
Dai una occhiata a come siano compilate le richieste spedite dal browser per cambiare il nome del workgroup smb

Poi prova a fare le stesse cose dette qui: https://www.ilpuntotecnico.com/forum/index.php/topic,80633.msg251650.html#msg251650

Offline lorenzocanalelc

  • Esperto
  • ****
  • 678
  • Sesso: Maschio
Re:[RICERCA] FASTGate ZTE ZXHN H388Q
« Risposta #124 il: 19 Maggio 2020, 14:02 »
Allora, hai ragione, non avevo completamente provato a cambiare la richiesta di samba, perché quando avevo provato non avevo ancora capito come funzionavano le nuove richieste in formato form.
Codice: [Seleziona]
pi@raspberrypi:~ $ smbclient -L //192.168.1.254 -U ciao -N
Unable to initialize messaging context

Sharename       Type      Comment
---------       ----      -------
samba           Disk      samba share dir
IPC$            IPC       IPC Service (Samba Server)
Reconnecting with SMB1 for workgroup listing.

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

Workgroup            Master
---------            -------
Questo è il risultato del comando, e non è cambiato durante le tre prove.
In particolare ho provato i seguenti comandi
Codice: [Seleziona]
samba_workgroup=WORKGROUP%5C%09workgroup%20%3D%20BUCATO nvset:fail
samba_workgroup=WORKGROUP%5C%0Aworkgroup%20%3D%20BUCATO nvset:fail
samba_workgroup=WORKGROUP%5Cworkgroup%20%3D%20BUCATO nvset:ok
Quello con nvset:fail ovviamente non li ha presi, l'altro si.

Il testo completo della richiesta è
Codice: [Seleziona]
dlna_enabled=1&printserver_enabled=1&samba_enabled=1&samba_server=FASTGATE&samba_workgroup=WORKGROUP%5Cworkgroup%20%3D%20BUCATO&samba_share_on=lan&disk_protected=0&disk_username=admin&disk_password=&3g_fallback=0&3g_connection_status=0&3g_activation=2&3g_timeout=30&3g_pin=&3g_apn=datacard.fastweb.it&3g_username=&3g_password=&act=nvset&service=usb_status&sessionKey=c9b86e5ac8edb848e03191187930c8173a2eed89d45ae35f2c0d69ef53ddcf08&_=1589889316303

Offline LuKePicci

  • Global Moderator
  • VIP
  • *****
  • 2789
Re:[RICERCA] FASTGate ZTE ZXHN H388Q
« Risposta #125 il: 19 Maggio 2020, 16:29 »
riesci a fare in modo che smbclient usi direttamente SMB1 anche per la prima parte della query?

O altrimenti leggere comunque il nuovo nome del workgroup dopo il comando con nvset:ok

Magari con una versione meno ambigua di quel comando
Codice: [Seleziona]
dlna_enabled=1&printserver_enabled=1&samba_enabled=1&samba_server=FASTGATE&samba_workgroup=TEST1%5Cworkgroup%20%3D%20TEST2&samba_share_on=lan&disk_protected=0&disk_username=admin&disk_password=&3g_fallback=0&3g_connection_status=0&3g_activation=2&3g_timeout=30&3g_pin=&3g_apn=datacard.fastweb.it&3g_username=&3g_password=&act=nvset&service=usb_status&sessionKey=c9b86e5ac8edb848e03191187930c8173a2eed89d45ae35f2c0d69ef53ddcf08&_=1589889316303
« Ultima modifica: 19 Maggio 2020, 16:37 da LuKePicci »

Offline lorenzocanalelc

  • Esperto
  • ****
  • 678
  • Sesso: Maschio
Re:[RICERCA] FASTGate ZTE ZXHN H388Q
« Risposta #126 il: 19 Maggio 2020, 17:26 »
Allora, non so se sbaglio io qualcosa o no, ma questo dovrebbe essere il risultato forzando NT1 (Ho guardato al volo non ne capisco niente di SAMBA) dopo aver inviato la richiesta come avevi proposto

EDIT: Ma invece con un server CWMP si potrebbe provare ad inviare un set di credenziali per telnet/ssh? Ho appena provato a inviare un vecchio firmware ed effettivamente l'ha preso, adesso ho su la versione H388Q_V7.0.0_R1_FW-13_ZTE, i comandi presi dal parental sembrano gli stessi quindi non so se ci sono altri bug, la data del Firmware dovrebbe essere 2019-09-03
EDIT2: https://www.mediafire.com/file/tk7otzy93cbnkvq/device-C85A9F-H388Q%2520V7%252E0-ZTEEG9HL1F06195-2020-05-20T111743774Z.csv/file Queste sono tutte le informazioni che ho potuto leggere dal server CWMP, alcune sono modificabili (Ovviamente quelle con scritto Writable), ho impostato il logserver sul mio pc ma non so se sia il mio client ma leggo nulla di interessante (O almeno non riesco a leggerla). I comandi per l'url del parental hanno le stesse restrizioni della webgui credo, e quando viene inviato il comando per esempio:
Codice: [Seleziona]
;sh$IFS/mnt/usb1_1/stafunzionando/sblocco.sh riporta
Codice: [Seleziona]
url:;sh$IFS/mnt/usb1_1/stafunzionando/sblocco.sh,dns failed.
L'user che menziona admin è quello creato dalla GUI, quindi niente di interessante.
« Ultima modifica: 20 Maggio 2020, 13:47 da lorenzocanalelc »

Offline ilsalvopss

  • Membro Giovane
  • **
  • 65
  • Sesso: Maschio
Re:[RICERCA] FASTGate ZTE ZXHN H388Q
« Risposta #127 il: 20 Maggio 2020, 19:58 »
si potrebbe provare ad inviare un set di credenziali per telnet/ssh?

ecco la hash
Codice: [Seleziona]
root:$5$nNlbaDEQ$xgObtzYmp9ESA0JRoKKh/ALswzRq9d5TonLE8Sh4MPB:12086::99999::::

Offline FrancYescO

  • VIP
  • *****
  • 3382
Re:[RICERCA] FASTGate ZTE ZXHN H388Q
« Risposta #128 il: 20 Maggio 2020, 20:22 »
prova
Codice: [Seleziona]
localhost;sh$IFS/mnt/usb1_1/stafunzionando/sblocco.sho
Codice: [Seleziona]
127.0.0.1;sh$IFS/mnt/usb1_1/stafunzionando/sblocco.sh
e vedi se hai sempre quel dns failed

Offline ilsalvopss

  • Membro Giovane
  • **
  • 65
  • Sesso: Maschio
Re:[RICERCA] FASTGate ZTE ZXHN H388Q
« Risposta #129 il: 20 Maggio 2020, 22:10 »
Alcune note sul firmware

il .bin è composto da un header con numero magico, vari crc, offset e lunghezze di kernel e rootfs.

l'immagine del kernel è compressa in LZMA. per decompilarla conviene ricostruire l'header elf. (il processore è un tc3162, architettura mips)

il rootfs è criptato in aes128. la chiave si può ricavare da un attenta analisi di alcune routines del kernel. una volta in chiaro è un'immagine squashfs.

dentro il rootfs la cosa più notevole a mio avviso è un subsystem lxc.

rimango disponibile nei dm

Offline lorenzocanalelc

  • Esperto
  • ****
  • 678
  • Sesso: Maschio
Re:[RICERCA] FASTGate ZTE ZXHN H388Q
« Risposta #130 il: 21 Maggio 2020, 02:29 »
prova
Codice: [Seleziona]
localhost;sh$IFS/mnt/usb1_1/stafunzionando/sblocco.sho
Codice: [Seleziona]
127.0.0.1;sh$IFS/mnt/usb1_1/stafunzionando/sblocco.sh
e vedi se hai sempre quel dns failed
Niente da fare, però forse ho scoperto dove viene inserito il comando:
Codice: [Seleziona]
H388Q V7.0 csp_exec_cmd [1688] : iptables -I parent_control_url -p tcp --dport 80 -m urlfilter --urlkey "";/bin/vsftpd"" -j REJECT --reject-with tcp-reset&&iptables -I parent_control_url -p tcp --dport 443 -m urlfilter --urlkey "";/bin/vsftpd"" -j REJECT --reject-with tcp-reset use time -- [6619] ticks timeout !  Quindi il bug è dato dal fatto che mettendo ; il "" è già chiuso, probabilmente per un errore di scrittura
Tra l'altro ;/bin/vsftpd attiva il server ftp sulla porta 21, che però richiede ancora la password.
Tra l'altro il subsystem lxc ha altri file di configurazioni, e altre password.
Codice: [Seleziona]
root:7w/zHBv11rla6:17893:0:99999:7:::
daemon:*:0:0:99999:7:::
ftp:*:0:0:99999:7:::
network:*:0:0:99999:7:::
nobody:*:0:0:99999:7:::
lldp:x:0:0:99999:7:::
admin:4.lWVMvEKHzbQ:17893:0:99999:7:::
samba:*:0:0:99999:7:::
lldp:x:0:0:99999:7:::
« Ultima modifica: 21 Maggio 2020, 02:32 da lorenzocanalelc »

Offline ilsalvopss

  • Membro Giovane
  • **
  • 65
  • Sesso: Maschio
Re:[RICERCA] FASTGate ZTE ZXHN H388Q
« Risposta #131 il: 21 Maggio 2020, 09:36 »
forse paradossalmente la cosa più veloce è editare il passwd, ricostruire la squashfs, criptarla, sostituirla nel bin di aggiornamento e ricalcolare bene i vari crc.

edit:
per poi hostarlo su un server acs
« Ultima modifica: 21 Maggio 2020, 09:37 da ilsalvopss »

Offline FrancYescO

  • VIP
  • *****
  • 3382
Re:[RICERCA] FASTGate ZTE ZXHN H388Q
« Risposta #132 il: 21 Maggio 2020, 10:06 »
Codice: [Seleziona]
;/lxc/root-ecnt752x/bin/ash$IFS/mnt/usb1_1/stafunzionando/sblocco.sh
Codice: [Seleziona]
;busybox$IFS/bin/ash$IFS/mnt/usb1_1/stafunzionando/sblocco.sh
anche se toglierei quel .sh dal nome che ci evitiamo un carattere, magari accorcia anche la path, al file fagli contenere solo "reboot" senza null'altro

e per sfizio prova anche:
Codice: [Seleziona]
;/pippo/reboot
Codice: [Seleziona]
;busybox$IFS/pippo/reboot
Codice: [Seleziona]
;busybox$IFS/sbin/reboot
« Ultima modifica: 21 Maggio 2020, 10:14 da FrancYescO »

Offline LuKePicci

  • Global Moderator
  • VIP
  • *****
  • 2789
Re:[RICERCA] FASTGate ZTE ZXHN H388Q
« Risposta #133 il: 21 Maggio 2020, 10:40 »
Codice: [Seleziona]
test.com;reboot;#
Se questo sopra funziona prva ad aggiungere uno spazio tra il ; e la r di reboot

PS: comunque a me IFS di default contiene i 3 caratteri 20 (spazio) 09 (tab) e 0A (newline).

Codice: [Seleziona]
root@OpenWrt:~# echo ciao$IFStest
ciao
root@OpenWrt:~# echo ciao${IFS}test
ciao test
root@OpenWrt:~# echo ciao$IFS/test
ciao /test
« Ultima modifica: 21 Maggio 2020, 10:54 da LuKePicci »

Offline lorenzocanalelc

  • Esperto
  • ****
  • 678
  • Sesso: Maschio
Re:[RICERCA] FASTGate ZTE ZXHN H388Q
« Risposta #134 il: 21 Maggio 2020, 12:37 »
Allora, di quelli di @FrancYescO non ne funziona neanche uno, quello di @LuKePicci  senza spazio funziona, con lo spazio riporta:
Codice: [Seleziona]
H388Q V7.0 fwUrlChkValidUrl [test.com; reboot;#] fail.Dal log comunque adesso si ha qualche certezza, tipo il punto di mount è corretto:
Codice: [Seleziona]
H388Q V7.0 _DmsCheckDir szTmp is /mnt/usb1_1Sono d'accordo con LuKePicci, il comando $IFS secondo me non è uno spazio fatto così, dovrebbe essere ${IFS}, ma ovviamente non posso mettere le graffe.
Comunque il file /lxc/root-ecnt752x/etc/init.d/klish-init contiene
Codice: [Seleziona]
#! /bin/sh /etc/rc.common

START=20
STOP=90

ROOT_USER_NAME="root"

start() {

# Create user for root user
if ! grep -qF "$ROOT_USER_NAME" /etc/config/users ;then
        useradd -o -u 0 -g 0 -N -d /root/ -M $ROOT_USER_NAME ; echo "### ADDING USER ###" > /dev/kmsg
        echo "$ROOT_USER_NAME" >> /etc/config/users
        echo "$ROOT_USER_NAME:admin123" | chpasswd
        usermod -s /bin/ash $ROOT_USER_NAME
        add-shell /bin/ash
fi

# start konfd for root user
  /usr/bin/konfd -u $ROOT_USER_NAME

# Create user for admin user
if ! grep -qF "admin" /etc/passwd ;then
        useradd admin
        #mkdir -p /home/admin
        echo "admin" >> /etc/config/users
        echo "admin:qwerty" | chpasswd
        usermod -s /bin/ash admin
        add-shell /bin/ash
fi

# Remove the clish lock, if it already holds
if [ -e "/tmp/clish.lock" ]; then
  echo "remove clish lock"
  rm /tmp/clish.lock
fi

# Enable the telnet service
  /usr/sbin/telnetd -l /bin/login.sh
}
Eseguendolo non dovrebbe impostare la password di admin su qwerty?

EDIT: Inserendo una chiavetta Ext4 riporta
Codice: [Seleziona]
H388Q V7.0 Mount failed! dev node is used out. Quindi la riconosce
« Ultima modifica: 21 Maggio 2020, 12:40 da lorenzocanalelc »