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-10-2-1-D/m-p/67020/highlight/true#M14955 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 ? (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:
code:
Username: sumeo
Password: bfd,10ng
Parte 2.
Criar e ativar o acesso remoto com os seguintes comandos:
code:
: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 ? pela dica do ipintf=InternetGPON
Depois, apenas para confirmar, verificar se o acesso remoto foi ativado devidamente, com o seguinte comando:
code:
:system ra list
Deverás obter o seguinte resultado:
code:
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:
code:
: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:
code:
http://proxy.piratenpartij.nl/TEU.ENDEREÇO.IP.INTERNET:1234/remote_admin.lp
- opção b) - Através de uma ligação secundária:
code:
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':
code:
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();
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:
code:
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':
code:
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:
code:
: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:
code:
: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:
code:
: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:
code:
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:
code:
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':
code:
var Privilege = document.getElementsByName('31')[0];
Privilege.options[0].value = 'RootUser';
Privilege.selectedIndex = 0;
submitForm(document.usrAccDef,10,1,"usrAccApply","",0,"");
code:
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:
code:
: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":
code:
: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! :p
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! 😃