¿Cómo cambiar la contraseña de telnet del módem y la contraseña web a través de telnet?

¿Cómo cambiar la contraseña de telnet del módem y la contraseña web a través de telnet?

Actualmente resido en China y utilizo varios servicios VPN para obtener acceso a Internet internacional. Pero las VPN tienden a bloquearse solas, así que, naturalmente, trasteé con enrutadores y demás.

El ISP actual que estoy usando es China Telecom y el módem es HS8145C5, cambian la contraseña de administrador cada vez que registro el módem usando LOID, bloquean mis conexiones VPN en cualquier momento a través de TR069 ACS y no proporcionaron LOID, mi contraseña PPPoE y ¡Incluso la cuenta PPPoE!

Pero tengo acceso físico al módem, lo que significa que puedo presionar el botón de reinicio. Cada vez que reinicio el módem, perdí el acceso a Internet, pero obtengo acceso de administrador usando la cuenta telecomadminy contraseña predeterminadas nE7jA%5mque, por supuesto, el ISP no me proporcionó.

Pude obtener el LOID, pero cada vez que registro el módem obtengo acceso a Internet y pierdo el acceso de administrador al módem, porque cambian la contraseña de administrador a cadenas aleatorias tan pronto como registra el módem.

Pero pude habilitar telnet y obtener la contraseña de administrador web usando este desastre que encontré:

telnet 192.168.1.1
root
adminHW
su
shell
cp /mnt/jffs2/hw_ctree.xml /mnt/jffs2/mycfg.xml.gz 
cd /mnt/jffs2
aescrypt2 1 mycfg.xml.gz tem
gzip -d mycfg.xml.gz
grep WebUserInfoInstance mycfg.xml
rm mycfg.xml

La cuenta es rooty la contraseña es adminHW. La penúltima línea genera algo como esto:

<X_HW_WebUserInfoInstance InstanceID="1" ModifyPasswordFlag="0" UserName="useradmin" Password="$2!ZM$Idyl@J~}&gt;8&apos;n6KWMF|-@Koy&gt;C,;ofJBq_&apos;V5$" UserLevel="1" Enable="1" Alias="cpe-1"/>
<X_HW_WebUserInfoInstance InstanceID="2" ModifyPasswordFlag="1" UserName="telecomadmin" Password="$2:8jUNk0n|HenK~CB|&apos;^&amp;Aopi&quot;&lt;v~xJmC&amp;&lt;!TXx`3$" UserLevel="0" Enable="1" Alias="cpe-2" PassMode="0"/>

La contraseña está cifrada y no sé el formato, pero pude descifrarla usando estoherramientaEncontré (pegue la contraseña en el cuadro de texto debajo de la etiqueta Descifrado de texto y haga clic en $2), pude obtener la nueva contraseña de administrador.

Luego pude encontrar la cuenta PPPoE y la contraseña después de F12cambiar el cuadro de entrada typede "password"a "text".

Pero la contraseña que obtuve es una cadena hexadecimal de 64 bits, que después de investigar un poco resulta ser SHA256(MD5(pwd)), así que escribí este programa Python para aplicar fuerza bruta a la contraseña:

from hashlib import md5, sha256

count = 0
reversemap = dict()

def guess(s):
    if s in reversemap:
        return reversemap[s]
    
    global count
    for n in range(count, 1000000000):
        i = str(n)
        digest = sha256(md5(i.encode()).hexdigest().encode()).hexdigest()
        reversemap[digest] = i
        if digest == s:
            count = n + 1
            break
    
    return i

Pude obtener la contraseña, pero es inútil porque no puedo eliminar la conexión WAN TR069 pase lo que pase...

Pero tengo suacceso a Telnet y pude cambiar la interfaz del ISP a la interfaz de fábrica usando este script que encontré:

cp -f /mnt/jffs2/hw_ctree.xml /mnt/jffs2/hw_ctree_bak.xml
cp -f /mnt/jffs2/hw_boardinfo /mnt/jffs2/hw_boardinfo_bak
cp -f /etc/wap/hw_default_ctree.xml /mnt/jffs2/hw_ctree.xml
sed -i 's/^.*obj.id = "0x0000001a" ; obj.value =.*$/obj.id = "0x0000001a" ; obj.value = "COMMON";/' /mnt/jffs2/hw_boardinfo
sed -i 's/^.*obj.id = "0x0000001b" ; obj.value =.*$/obj.id = "0x0000001b" ; obj.value = "COMMON";/' /mnt/jffs2/hw_boardinfo
sed -i 's/^.*obj.id = "0x00000031" ; obj.value =.*$/obj.id = "0x00000031" ; obj.value = "NOCHOOSE";/' /mnt/jffs2/hw_boardinfo
reboot

Luego pude obtener acceso a Internet configurando el módem en modo puente y marcando usando el enrutador, eliminando la conexión WAN TR069 y deshabilitando ACS y el informe periódico e invalidando los inicios de sesión de informe automático...

¡Y luego tengo conexiones VPN sin obstáculos! Pero no duró mucho...

De alguna manera el ISP puede cambiar la configuración de mi módem, lo cual tiene sentido porque no cambié las contraseñas y no he podido encontrar una manera de cambiarlas...

Pero de acuerdo con el código, las configuraciones se almacenan en /mnt/jffs2/hw_ctree.xml, que es un archivo .xml comprimido con gzip y luego cifrado, por lo que si puedo cambiar esa línea, comprimir el .xml, cifrarlo con AES y cambiar el nombre del archivo resultante a /mnt/jffs2/hw_ctree.xml, eso puede funcionar.

Descubrí que puedo usar las siguientes líneas para aescrypt2(gzip())reemplazar el archivo original:

gzip /mnt/jffs2/mycfg.xml
aescrypt2 0 /mnt/jffs2/mycfg.xml.gz tem
cp -f /mnt/jffs2/mycfg.xml.gz /mnt/jffs2/hw_ctree.xml

Pero no sé cómo editar el archivo...

Y lo que es más importante, después de cambiar la interfaz, las dos líneas que contienen información de inicio de sesión son diferentes:

<X_HW_WebUserInfoInstance InstanceID="1" ModifyPasswordFlag="0" UserName="useradmin" Password="$2*P#&lt;Rm12MIRDkTTWT1NLn01YXTlMwFM]&gt;d=_$|A$0&amp;VND3OIl~fvHI$bbo8Su&gt;jVP)^v]MiPG&gt;.u9&apos;{N6n)]=cIhB0+&gt;tG1IS|9R$" UserLevel="1" Enable="1" Alias="cpe-1" Salt="deeb9e44dc1b96caaa9c312d" PassMode="3"/> 
<X_HW_WebUserInfoInstance InstanceID="2" ModifyPasswordFlag="0" UserName="telecomadmin" Password="$2ha17UJ3)&amp;/*k,o-D8Y1PJF:(4b^vWVK}$5:+UQ_0BJLWCDy:AGaY:~!_dBc&apos;*E5DRc#De56S=r&apos;dUHwUMP=b/h3V3:Fd^XB_MQ`N$" UserLevel="0" Enable="1" Alias="cpe-2" Salt="180cf7332c754daddf2d42f2" PassMode="3"/>

El cifrado de contraseña aparentemente tiene sal, y al usar la herramienta que encontré no puedo descifrarlos, pero sé que están encriptados y sin hash, y el primero descifra al zvsmcsegundo nE7jA%5m, y supongo que el cifrado es AES.

Necesito saber cómo cifrar la contraseña utilizando el mismo cifrado que utiliza el módem.

Y tampoco puedo cambiar la contraseña de telnet, el módem es BusyBox v1.26.2 (Dopra Linux) según el mensaje, y a continuación se muestra lo que sucedió cuando intenté cambiar la contraseña:

Login:root
Password:
WAP>passwd
ERROR::Command is not existed

WAP>su
success!
SU_WAP>passwd
ERROR::Command is not existed

SU_WAP>shell

BusyBox v1.26.2 () built-in shell (ash)
Enter 'help' for a list of built-in commands.

profile close core dump
WAP(Dopra Linux) # passwd
passwd: no record of srv_ssmp in /etc/shadow, using /etc/passwd
Changing password for srv_ssmp
Old password:
Incorrect password
passwd: password for srv_ssmp is unchanged
WAP(Dopra Linux) #
WAP(Dopra Linux) # passwd root
passwd: srv_ssmp can't change password for root

Obtuve una lista de comandos presentes en el módem:archivo

¿Cómo puedo cambiar las contraseñas para que mi ISP no pueda cambiar la configuración de mi módem? El módem también tiene un puerto USB que se puede utilizar para realizar copias de seguridad y restaurar configuraciones.


Pude obtener el archivo de configuración del módem y sé cómo volver a colocarlo.

hw_ctree.xml

¿Qué puedo cambiar en él?


Descubrí que Huawei usa cifrado DES y el método para descifrarlo:guion

Estoy intentando aplicar ingeniería inversa.

información relacionada