Como restaurar acessos RootUser e permissões num router TG784n (10.2.1.L)

Como restaurar acessos RootUser e permissões num router TG784n (10.2.1.L)

Assessor Júnior ner0
Assessor Júnior

Como restaurar acessos RootUser e permissões num router TG784n (10.2.1.L)

Nota geral sobre o tópico

Este tutorial já não se aplica ao último firmware 10.2.1.L ou posterior.

Lamentávelmente foram adicionadas restrições que inviablizam o processo.

 

Finalmente temos forma de dar a volta às restrições aplicadas no último firmware deste router e restaurar as permissões e acesso RootUser. No seguimento da tentativa falhada anterior: http://forum.meo.pt/t5/Equipamentos-Internet/Como-criar-um-RootUser-para-aceder-a-telnet-no-firmware... venho agora complementar com informação definitiva e testada.

 

NOTA: Estas instruções são dedicadas aos routers Thomson TG784n e Technicolor TG784n v3 (10.2.1.L) da MEO.

Poderá ser útil para outras versões.

 

 

/!\ IMPORTANTE /!\

A MEO atualizou recentemente as permissões dos routers para não permitir os primeiros comandos da Parte 2, que darão o seguinte erro: command not allowed. Para contornar isto, será necessário fazer um reset ao router e desligá-lo da internet. Agradecimentos ao utilizador @oem (ver aqui) por ter confirmado a possibilidade de, apesar desta alteração, ser possível completar o processo.

 

 

Parte 0.

Vais ter que desligar o router da internet e fazer um reset para voltar às predefinições de fábrica.

NOTA: Como deves saber, fazer um reset ao router fará com que percas todas as definições do mesmo, incluíndo login da ligação Internet e, principalmente, configurações VoIP (caso o teu telefone fixo esteja configurado no router dessa forma). 

 

 

Parte 1.

Aceder ao router através de Telnet e usar o seguinte acesso de SuperUser:

Username: sumeo
Password: bfd,10ng

 

 

Parte 2.
Criar e ativar o acesso remoto com os seguintes comandos:

:system ra instadd name=remoteaccess
:system ra config name=remoteaccess state=enabled secure=disabled port=1234 timeout=0 mode=Permanent ipintf=InternetGPON randompassword=enabled randomport=disabled group=Users.Group.RootUser user=Users.User.Debug systemservice=webservice

 NOTA: Isto irá alterar definitivamente a palavra-passe do utilizador Debug, mas não há problema. Obrigado ao @GonP pela dica do ipintf=InternetGPON

 

 

 Depois, apenas para confirmar, verificar se o acesso remoto foi ativado devidamente, com o seguinte comando:

:system ra list

 

Deverás obter o seguinte resultado:

Remote assistance configuration
---------------------------------------------------------------------
Name : remoteaccess
State : enabled
Remote assistance port : 1234
Secure remote assistance : disabled
Timeout : 0 minutes
Mode : Permanent
IP interface :
Random password : 1
Random port : 0
Group : Users.Group.RootUser
User : Users.User.Debug
Tod schedule :
SystemService : webservice

NOTA: As definições importantes são 'State' que deverá ser 'enabled', 'Remote assistance port' que terás que saber para te poderes ligar ao router ('1234' neste exemplo), e o valor de 'Random password' que deverá ser '1' (enabled).

 

 

Parte 2.1.

Para podermos proceder ao passo seguinte (Parte 3), terás que ligar o router à internet para poder aceder remotamente ao mesmo. Mas uma vez que a MEO definiu as novas restrições, que serão aplicadas após ligar à internet, vais ter que executar os passos da Parte 3 o mais rápido possível (entre 1 a 2 minutos). Antes de começares lê bem o que é necessário fazer e prepara antecipadamente tudo o que puderes, desde colocar o URL num separador, pronto para colar o IP, e colar o código de login do utilizador "nauser" na consola. Assim que tiveres ensaiado o processo, liga o router à internet e segue para a Parte 3 em modo turbo!

 


Parte 3.
Em primeiro lugar, terás que saber qual o endereço IP(v4) da tua ligação de internet, existem várias formas de o obteres.

Podes consultá-lo no próprio router através deste link: http://192.168.1.254/cgi/b/is/?be=0&l0=2&l1=2

Ou através de uma das várias páginas web, como por exemplo: http://www.whatismyip.com

Ou podes até usar o seguinte comando para isso:

:ip iplist proto=ipv4

O endereço IPv4 da tua ligação de internet é o prefixo atribuído à interface 'Internet', do lado esquerdo da lista.

 

De seguida, utilizando uma segunda ligação à internet, que é obrigatória para que este método funcione, acede ao teu router remotamente através do navegador:

 

  • opção a) - Através de um proxy web, como este:
http://proxy.piratenpartij.nl/TEU.ENDEREÇO.IP.INTERNET:1234/remote_admin.lp

 

  • opção b) - Através de uma ligação secundária:
http://TEU.ENDEREÇO.IP.INTERNET:1234/remote_admin.lp

 NOTA: Se o acesso remoto tiver sido definido como secure, deverás usar HTTPS em vez de HTTP.

 

Se tudo tiver corrido bem, deverás ser redirecionado para a página de login do teu router.
Agora vamos usar o mesmo utilizador que a MEO usa para "brincar" com os routers e também recorrendo à já conhecida vulnerabilidade de login que, irónicamente, não se deram ao trabalho de corrigir (obrigado!).
Para aqueles que não estão familiarizados com o processo, abrir a consola do navegador (Ctrl+Shift+J no Chrome e Ctrl+Shift+K no Firefox) e cola o código abaixo, seguido da tecla 'Enter':

var user = "nauser";
var hash2 = "d3eff9622e6e8efe7d8c059c596f075f";
var HA2 = MD5("GET" + ":" + uri);
document.getElementById("user").value = user;
document.getElementById("hidepw").value = MD5(hash2 + ":" + nonce +":" + "00000001" + ":" + "xyz" + ":" + qop + ":" + HA2);
document.authform.submit(); 
Referência explícita (Spoiler)

NOTA DE COMPATIBILIDADE (TG784n):
Se o router for o TG784n em vez do TG784n v3, então ignora o código acima e usa este para aceder ao router:

var user = "nauser";
var hash2 = "f8700f3bb4e73cc4bb5229def20ce0d0";
var HA2 = MD5("GET" + ":" + uri);
document.getElementById("user").value = user;
document.getElementById("hidepw").value = MD5(hash2 + ":" + nonce +":" + "00000001" + ":" + "xyz" + ":" + qop + ":" + HA2);
document.authform.submit(); 
Se precisares de executar este código num dispositivo móvel, ou num navegador que não possua consola, vai à barra de endereço do navegador e limpa tudo, depois escreve o texto abaixo e cola o código acima, carregando depois na tecla 'Enter':
javascript:
NOTA: Em vez de : escreve o símbolo de pontuação "dois pontos" [:], o fórum não me permite escrever tudo acima.

Deverá agora ser apresentada a página de acesso/assistência remota.

Estará também visível a palavra-passe aleatória que foi atribuída ao utilizador Debug, toma nota dessa palavra-passe uma vez que irá ser imprescindível no passo seguinte. De seguida clicar no botão 'Desativar Acesso Remoto', o router deixará de responder uma vez que irá terminar a ligação remota existente, não há problema já que este acesso remoto deixará de ser necessário.

 

NOTA IMPORTANTE: Se após introduzires o código de login não fores redirecionado para a página do acesso remoto, poderá querer dizer que não executaste os passos com rapidez suficiente e o router acabou por descarregar as alterações às permissões a partir do servidor da MEO. Nesse caso, infelizmente, terás que voltar a fazer um reset e a recomeçar do zero.

 


Parte 4.
Entrar no router localmente através de Telnet com o utilizador Debug e a palavra-passe aleatória que foi recuperada anteriormente na página de acesso/assistência remota. Após entrar, altera a palavra-passe do utilizador Debug para uma à tua escolha:

:user config name=Debug password=NOVA_PASSWORD

 NOTA: Substituír NOVA_PASSWORD pela palavra-passe que pretendes.

 

De seguida, retira as restrições que foram aplicadas ao grupo RootUser, nomeadamente a possibilidade de entrar através de HTTP/HTTPS, com o seguinte comando:

:mlp role addpriv name=RootUser access=AP1 service=anyservice

 

Como bónus, vais restaurar as permissões de acesso ao ficheiro user.ini de forma a poderes voltar a usar a função de cópia de segurança que permite guardar as definições do router:

:mlp interaction config name=dl/user.ini type=cgi score=40000:0 score2=40000:0 recurse=disabled

 

Por fim, vais tornar estas alterações permanentes através do seguinte comando:

saveall

 

 

Parte 5.

Caso queiras adicionar um novo RootUser, acede ao router através da página web com o utilizador Debug e vai até à página de criação de um novo utilizador:

http://192.168.1.254/cgi/b/users/cfg/usraccaddrem/

 

Nessa página, preenche o nome de utilizador e palavra-passe (confirma a palavra-passe), depois abre a consola do navegador (Ctrl+Shift+J no Chrome e Ctrl+Shift+K no Firefox) e cola o código abaixo, seguido da tecla 'Enter':

var Privilege = document.getElementsByName('31')[0]; 
Privilege.options[0].value = 'RootUser'; 
Privilege.selectedIndex = 0; 
submitForm(document.usrAccDef,10,1,"usrAccApply","",0,""); 
Referência explícita (Spoiler)
Se precisares de executar este código num dispositivo móvel, ou num navegador que não possua consola, vai à barra de endereço do navegador e limpa tudo, depois escreve o texto abaixo e cola o código acima, carregando depois na tecla 'Enter':
javascript:
NOTA: Em vez de : escreve o símbolo de pontuação "dois pontos" [:], o fórum não me permite escrever tudo acima.

 

Está feito, já deverás ser capaz de entrar com qualquer utilizador RootUser através da página web e também fazer cópia de segurança das definições do router, como nos firmwares das versões anteriores. 

 

Bonús.

É aconselhável desativar o serviço CWMP para evitar surpresas da MEO:

:cwmp config state=disabled
:service system modify name=CWMP-S state=disabled
:service system modify name=CWMP-C state=disabled
saveall

 

Se fores mesmo anti-surpresas, podes também alterar a palavra-passe do utilizador "nauser":

:system ra config name=remoteaccess state=enabled secure=disabled port=1234 timeout=0 mode=Permanent randompassword=enabled randomport=disabled group=Users.Group.NA user=Users.User.nauser systemservice=webservice
:system ra instdelete name=remoteaccess
saveall

 

Novo lema: Porque o router é Meo, mas quem manda sou eo! Smiley de língua

 

 

Deixo um grande abraço para Alex Kemp, administrador do fórum www.modem-help.co.uk, que fechou hoje as portas após 10 anos online e que contribuiu imenso na disseminação de informação associada a estes equipamentos de rede.Thanks for everything, Alex! Smiley feliz

300 RESPOSTAS
Contribuinte MancaMulas
Contribuinte

Re: Como restaurar acessos RootUser e permissões num Technicolor TG784n v3 (10.2.1.L)

Boas ner0!

 

Antes de mais, agradeço-te por partilhares este conteúdo.

No entanto, eu tenho ainda uma questão, visto que o meu router sofreu um reset na altura da atualização. Isto funcionará mesmo tendo sido feito um reset ao router, perdendo desse modo o resgisto do utilizador Rootuser existente na versão anterior do firmware?

Assessor Júnior ner0
Assessor Júnior

Re: Como restaurar acessos RootUser e permissões num Technicolor TG784n v3 (10.2.1.L)

Sim, garantidamente e principalemente para esses casos, uma vez que quem não sofreu um reset total manteve o(s) RootUser que já tinha.

Contribuinte MancaMulas
Contribuinte

Re: Como restaurar acessos RootUser e permissões num Technicolor TG784n v3 (10.2.1.L)

Ok, tenho de ver se arranjo um momento durante este fim de semana para testar isto. Assim que o fizer eu darei notícias.

Obrigado ner0!

Contribuinte Sénior nunex70
Contribuinte Sénior

Re: Como restaurar acessos RootUser e permissões num Technicolor TG784n v3 (10.2.1.L)

Boas ner0,

 

MUITO OBRIGADO !

 

Funciona !

 

Apenas uma situação ... no ponto 4 em 

:user add name=NOME_USER password=PASSWORD role=RootUser

dá a seguinte notificação ...

"Current user isn't allowed to add another user with specified role."

 e não consegui criar o utilizador ... Mas editando o ficheiro user.ini ... voilá ... rootuser again em 10.2.1.L

 

 

 

Grande abraço e obrigado mais uma vez !

Assessor Júnior ner0
Assessor Júnior

Re: Como restaurar acessos RootUser e permissões num Technicolor TG784n v3 (10.2.1.L)

Tens razão, assumi que daria sem experimentar...

Retirei essa parte do tutorial e substituí com as instruções tradicionais para fazê-lo através da página web.

Obrigado.

Contribuinte Sénior nunex70
Contribuinte Sénior

Re: Como restaurar acessos RootUser e permissões num Technicolor TG784n v3 (10.2.1.L)

Não fiz assim como a tua correcção (mas provavelmente também funciona Smiley feliz ) ... o que fiz foi o seguinte ... corri todos os teus passos tendo apenas tido esse problema naquele ponto ... portanto criei um user "nuno" como Administrator (em vez do rootuser) ... depois fiz o backup do user.ini ... editei e mudei manualmente o role no user ([ mlpuser.ini ]) de Administrator para RootUser ... gravei o ficheiro e fiz o Restore com o ficheiro modificado !

 

Já agora ... como já antes tinha tido problemas na edição desse ficheiro, editei-o numa máquina virtual em ubuntu e não em windows ... mas também já li que em windows com o notepad++ (free) funcionava bem. Nos meus primeiros testes editava com o notepad normal do windows mas ao fazer o restore o router bloqueava e depois só com reset.

 

Abraço

Assessor Júnior ner0
Assessor Júnior

Re: Como restaurar acessos RootUser e permissões num Technicolor TG784n v3 (10.2.1.L)

Através do navegador é mais simples, limpo e mais rápido do que um restauro - dando ênfase a que não tens interrupção nos serviços (internet/tv/telefone) Smiley feliz

 

E depois existe essa questão que levantas de que nalguns casos se pode "danificar" o ficheiro user.ini ao editar.

Isso normalmente acontece se usares o bloco de notas do Windows (Smiley maluco) que costuma gravar em ANSI em vez de UTF-8 e também não respeita o estado do Byte Order Mark dos ficheiros. Fizeste bem em usar Linux para isso mas penso que não terias problemas se tivesses usado o Notepad++ que é uma ferramenta excelente.

Contribuinte Sénior nunex70
Contribuinte Sénior

Re: Como restaurar acessos RootUser e permissões num Technicolor TG784n v3 (10.2.1.L)

Tens toda a razão ner0 !

 

Só queria deixar aqui mais uma vez o meu agradecimento pelo teu excelente trabalho e pedir a algum moderador deste forúm que fixe este tópico nos tópicos principais do fórum. Pelo excelente trabalho e pela importância que este tópico representa era uma pena se com o tempo ele fosse "desaparecendo" do topo.

 

Obrigado e um abraço !

Assessor Júnior ner0
Assessor Júnior

Re: Como restaurar acessos RootUser e permissões num Technicolor TG784n v3 (10.2.1.L)

Obrigado @nunex70 Smiley feliz

Realmente acho que este tópico deve ser fixo, espero que eventualmente algum dos moderadores o faça.

De qualquer modo, este tópico pode ser encontrado com bastante facilidade uma vez que o Google já o indexou.

Ao pesquisar rootuser 10.2.1.L já está entre os primeiros resultados, impossível não o encontrar mesmo tentando.