Wie ändere ich das Modem-Telnet-Passwort und das Web-Passwort über Telnet?

Wie ändere ich das Modem-Telnet-Passwort und das Web-Passwort über Telnet?

Ich wohne derzeit in China und nutze verschiedene VPN-Dienste, um auf das internationale Internet zuzugreifen. Aber die VPNs neigen dazu, selbst blockiert zu werden, also habe ich natürlich mit Routern und so herumgespielt.

Der ISP, den ich derzeit verwende, ist China Telecom und das Modem ist HS8145C5. Sie ändern das Administratorkennwort jedes Mal, wenn ich das Modem mit LOID registriere, sie blockieren meine VPN-Verbindungen jederzeit über TR069 ACS und sie haben weder LOID, noch mein PPPoE-Kennwort und noch nicht einmal das PPPoE-Konto bereitgestellt!

Ich habe jedoch physischen Zugriff auf das Modem, was bedeutet, dass ich die Reset-Taste drücken kann. Jedes Mal, wenn ich das Modem zurücksetze, verliere ich den Internetzugang, erhalte jedoch Administratorzugriff mit dem Standardkonto telecomadminund -kennwort nE7jA%5m, die mir natürlich nicht vom ISP bereitgestellt wurden.

Ich konnte die LOID erhalten, aber jedes Mal, wenn ich das Modem registriere, erhalte ich Internetzugriff und verliere den Administratorzugriff auf das Modem, weil sie das Administratorkennwort in zufällige Zeichenfolgen ändern, sobald Sie das Modem registrieren.

Aber ich konnte Telnet aktivieren und das Webadministratorkennwort mithilfe dieses Durcheinanders abrufen, das ich gefunden habe:

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

Das Konto lautet rootund das Passwort lautet adminHW. Die vorletzte Zeile gibt ungefähr Folgendes aus:

<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"/>

Das Passwort ist verschlüsselt und ich kenne das Format nicht, aber ich konnte es mit diesem entschlüsselnWerkzeug$2Ich habe herausgefunden , dass ich das neue Administratorkennwort erhalten konnte (fügen Sie das Kennwort in das Textfeld unter der Bezeichnung „Textentschlüsselung“ ein und klicken Sie auf ).

Ich konnte dann das PPPoE-Konto und das Kennwort finden, nachdem ich F12das Eingabefeld typevon "password"in geändert hatte "text".

Aber das Passwort, das ich erhalten habe, ist eine 64-Bit-Hexadezimalzeichenfolge, die sich nach einigem Suchen als herausstellte. SHA256(MD5(pwd))Daher habe ich dieses Python-Programm geschrieben, um das Passwort mit Brute-Force-Methode zu knacken:

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

Ich konnte das Passwort erhalten, aber es ist nutzlos, da ich die TR069-WAN-Verbindung auf keinen Fall löschen kann ...

Ich habe jedoch suTelnet-Zugriff und konnte die ISP-Schnittstelle mithilfe des folgenden Skripts, das ich gefunden habe, in die Werksschnittstelle ändern:

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

Ich konnte dann auf das Internet zugreifen, indem ich das Modem auf Bridge-Modus stellte und über den Router wählte, die TR069-WAN-Verbindung löschte, ACS und regelmäßige Berichte deaktivierte und die automatischen Berichtsanmeldungen ungültig machte …

Und dann hatte ich ungehinderte VPN-Verbindungen! Aber das hat nicht lange gehalten ...

Irgendwie kann der ISP die Einstellungen meines Modems ändern, was Sinn macht, da ich die Passwörter nicht geändert habe und auch keine Möglichkeit gefunden habe, sie zu ändern …

Aber laut Code werden die Konfigurationen in gespeichert /mnt/jffs2/hw_ctree.xml, einer XML-Datei, die gzippt und dann AES-verschlüsselt wird. Wenn ich also nur diese eine Zeile ändern, die XML-Datei gzippt, AES-verschlüsselt und die resultierende Datei in umbenennen kann /mnt/jffs2/hw_ctree.xml, kann das funktionieren.

Ich habe festgestellt, dass ich aescrypt2(gzip())die Originaldatei durch die folgenden Zeilen ersetzen kann:

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

Aber ich weiß nicht, wie ich die Datei bearbeiten soll ...

Und was noch wichtiger ist: Nach der Änderung der Schnittstelle sind die beiden Zeilen mit den Anmeldeinformationen unterschiedlich:

<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"/>

Die Kennwortverschlüsselung ist anscheinend gesalzen und kann mit dem von mir gefundenen Tool nicht entschlüsselt werden, aber ich weiß, dass sie verschlüsselt und nicht gehasht sind, und das erste lässt sich zu entschlüsseln, zvsmcdas zweite zu nE7jA%5m, und ich vermute, dass es sich bei der Verschlüsselung um AES handelt.

Ich muss wissen, wie ich das Kennwort mit derselben Verschlüsselung verschlüsseln kann, die auch das Modem verwendet.

Und ich kann das Telnet-Passwort auch nicht ändern, das Modem ist laut Eingabeaufforderung BusyBox v1.26.2 (Dopra Linux), und Folgendes ist passiert, als ich versucht habe, das Passwort zu ändern:

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

Ich habe eine Liste der im Modem vorhandenen Befehle erhalten:Datei

Wie kann ich die Passwörter ändern, sodass mein ISP die Einstellungen meines Modems nicht ändern kann? Das Modem verfügt auch über einen USB-Anschluss, über den Einstellungen gesichert und wiederhergestellt werden können.


Ich konnte die Konfigurationsdatei des Modems abrufen und weiß, wie ich sie wiederherstellen kann.

hw_ctree.xml

Was kann ich daran ändern?


Ich habe herausgefunden, dass Huawei DES-Verschlüsselung verwendet, und die Methode zum Entschlüsseln:Skript

Ich versuche, es zurückzuentwickeln.

verwandte Informationen