Как изменить пароль модема Telnet и веб-пароль через Telnet?

Как изменить пароль модема Telnet и веб-пароль через Telnet?

В настоящее время я проживаю в Китае и использую различные VPN-сервисы для доступа к международному интернету. Но VPN-сервисы, как правило, сами блокируются, поэтому, естественно, я повозился с маршрутизаторами и прочим.

Текущий интернет-провайдер, услугами которого я пользуюсь, — China Telecom, а модем — HS8145C5. Они меняют пароль администратора каждый раз, когда я регистрирую модем с помощью LOID, они блокируют мои VPN-подключения в любое время через TR069 ACS и не предоставляют LOID, мой пароль PPPoE и даже учетную запись PPPoE!

Но у меня есть физический доступ к модему, что означает, что я могу нажать кнопку сброса. Каждый раз, когда я сбрасываю настройки модема, я теряю доступ в Интернет, но получаю доступ администратора, используя учетную запись telecomadminи пароль по умолчанию nE7jA%5m, которые, конечно же, интернет-провайдер мне не предоставил.

Мне удалось получить LOID, но каждый раз, когда я регистрирую модем, я получаю доступ в Интернет и теряю доступ администратора к модему, потому что они меняют пароль администратора на случайные строки, как только вы регистрируете модем.

Но мне удалось включить telnet и получить пароль веб-администратора, используя вот эту штуку, которую я нашел:

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

Учетная запись rootи пароль adminHW. Вторая последняя строка выводит что-то вроде этого:

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

Пароль зашифрован, и я не знаю формата, но мне удалось расшифровать его с помощью этогоинструментЯ обнаружил (вставьте пароль в текстовое поле под надписью «Расшифровка текста» и нажмите $2), что позволило мне получить новый пароль администратора.

Затем мне удалось найти учетную запись PPPoE и пароль F12, изменив поле ввода typeс "password"на "text".

Но пароль, который я получил, представляет собой 64-битную шестнадцатеричную строку, которая после некоторых раскопок оказалась SHA256(MD5(pwd)), поэтому я написал эту программу на Python для подбора пароля:

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

Мне удалось получить пароль, но он бесполезен, потому что я не могу удалить WAN-соединение TR069, несмотря ни на что...

Но у меня есть suдоступ через Telnet, и я смог изменить интерфейс ISP на заводской интерфейс с помощью этого скрипта, который я нашел:

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

Затем мне удалось получить доступ к Интернету, переведя модем в режим моста и набрав номер с помощью маршрутизатора, а также удалить WAN-соединение TR069, отключить ACS и периодический отчет и сделать недействительными входы в систему с автоматическим отчетом...

И тогда у меня есть беспрепятственные VPN-подключения! Но это продолжалось недолго...

Каким-то образом интернет-провайдер может изменить настройки моего модема, что вполне логично, поскольку я не менял пароли и не смог найти способ их изменить...

Но согласно коду, конфигурации хранятся в /mnt/jffs2/hw_ctree.xml, который представляет собой XML-файл, сжатый с помощью gzip, а затем зашифрованный с помощью aescrypt, так что если я смогу просто изменить эту одну строку, сжать .xml с помощью gzip, зашифровать его с помощью AES и переименовать полученный файл в /mnt/jffs2/hw_ctree.xml, это может сработать.

Я обнаружил, что могу использовать следующие строки для aescrypt2(gzip())замены исходного файла:

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

Но я не знаю, как редактировать файл...

И что еще важнее, после смены интерфейса две строки, содержащие данные для входа, стали другими:

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

Шифрование паролей, по-видимому, зашифровано, и с помощью найденного мной инструмента их не расшифровать, но я знаю, что они зашифрованы, а не хэшированы, и первый расшифровывается в zvsmcвторой расшифровывается в nE7jA%5m, и я предполагаю, что шифрование — AES.

Мне нужно знать, как зашифровать пароль, используя то же шифрование, что и модем.

И я не могу изменить пароль telnet, модем — BusyBox v1.26.2 (Dopra Linux), согласно подсказке, и ниже показано, что произошло, когда я попытался изменить пароль:

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

Я получил список команд, присутствующих в модеме:файл

Как мне изменить пароли, чтобы мой провайдер не мог изменить настройки моего модема? Модем также имеет порт USB, который можно использовать для резервного копирования и восстановления настроек.


Мне удалось получить файл конфигурации модема, и я знаю, как его восстановить.

hw_ctree.xml

Что я могу в нем изменить?


Я узнал, что Huawei использует шифрование DES, и метод его расшифровки:сценарий

Я пытаюсь провести обратную разработку.

Связанный контент