Como criar um RootUser para aceder a telnet no firmware 10.2.1.D

  • 27 April 2013
  • 159 respostas
  • 59558 visualizações

Reputação 6
  • Conselheiro Júnior
  • 1938 respostas
Para quem necessita de um root user em telnet o procedimento é o seguinte.


 


1º entrar no router com user debug (rootuser) se não sabem como è esta aqui http://forum.meo.pt/t5/Equipamentos-Internet/Root-SuperUser-nos-routers-TG799vn-com-firmware-10-2-1-D-PF/m-p/21776/highlight/true#M9439


 


1.1 cada modelo de router tem uma hash2 diferente para o user "debug" , tudo o resto é igual , para saberem a hash2 do vosso router têm de fazer login com “User: meo Pass: meo “ e usem este link para salvar o ficheiro user.ini http://192.168.1.254/dl/user.ini


 


1.2 abrir o ficheiro user.ini e procurar a parte onde diz "mlpuser.ini" , aqui esta a lista de todos os users , e é so copiar a hash2 do user debug e usa-la no passo 1


 


2º Criar um novo utilizador com privilégios de rootuser


NOTA: O utilizador @@@ner0   encontrou  uma maneira mais simples de criar um rootuser  , portanto os passos seguintes já não são necessários basta seguirem as instruções neste post.


 


https://forum.meo.pt/t5/Equipamentos-Internet/Como-criar-um-RootUser-para-aceder-a-telnet-no-firmware-10-2-1-D/m-p/28653/highlight/true#M11531


 


 


NOTA….Actualização firmware 10.2.1.L
Quem foi migrado para o firmware 10.2.1.L e já tinha criado um rootuser no firmware 10.2.1.D é possível usa-lo na mesma , inicialmente só premi-te aceder via telnet mas usando estes passo é possível também aceder á pagina do router com o rootuser.


https://forum.meo.pt/t5/Equipamentos-Internet/Como-criar-um-RootUser-para-aceder-a-telnet-no-firmware-10-2-1-D/m-p/66415/highlight/true#M14853


 







 

159 respostas

Reputação 6
Boas


 


Já fiz o reset e voltei a criar um root user  , mas também não consegui á primeira  ,portanto vou descrever os passos que utilizei da segunda vez  .


 


1º após criar o novo user  fechar a pagina e voltar a abrir ,mas fazer login com o novo user .


 


2º voltar a sair e voltar a entrar desta vez usando o script para o user debug  e só agora é que guardamos o ficheiro .ini


 


3º editar o ficheiro .ini mas têm de respeitar as letras maiúsculas  deverá ficar RootUser e não rootuser , e salvar as alterações .


 


4º fazer o upload do ficheiro .ini para o router .


 


Espero que resulte com vocês.
Reputação 3
Crachá +7
Não é necessário usar nenhuma aplicação de terceiros, como a extensão TamperData no Firefox, para criar um utilizador do grupo "RootUser". Em vez disso:


 


1. Após entrar no router com o utilizador Debug, ir até à página "Gestão de Utilizadores" nas "Ferramentas", clicar em "Adicionar novo utilizador" (http://192.168.1.254/cgi/b/users/cfg/usraccaddrem/?be=0&l0=3&l1=10&tid=ADD_USER);


 


2. Definir o nome de utilizador e introduzir a password pretendida, mas não é preciso mexer na caixa de seleção "Privilégios de administração", muito menos clicar em "Aplicar";


 


3. Tal como no truque do login, abram a consola do vosso navegador (Ctrl+Shift+J no Chrome ou Ctrl+Shift+K no Firefox);


 


4. Colem o seguinte código na consola, 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,"");

 


Neste momento vão voltar ao ecrã de "Gestão de utilizadores" e poderão constatar que o vosso utilizador foi adicionado com sucesso com o privilégio de "RootUser".


 


 


P.S.: Toda gente que pretende aceder ao router com este tipo de permissões, é porque precisa.


Já existe uma técnica que permite fazê-lo... porque raio a password do utilizador Debug não é simplesmente divulgada?


Neste contexto, se houver pessoas suficientes e interressadas, podemos nós próprios descobrir a palavra-passe original. Se tiverem uma placa gráfica decente, podemos juntar a nossa capacidade de processamento e descobrir a password do utilizador Debug. Há interessados?
Crachá +3
Tenho acompanhado este tópico com bastante interesse.


 


É de louvar a entre-ajuda dos utilizadores.


 


É na mesma medida vergonhoso como há necessidade de se recorrer a metodos menos proprios para fazer o que se quer com um serviço que é pago e bem pago e com equipamentos que, mais do que não seja, consomem a nossa energia em casa.


 


Há coisas que eu não consigo compreender sinceramente.
Crachá +1
Boas ner0!


 


Em anexo segue um ficheiro com o source code da página de login do firmware 10.2.1.L.


 


 


Cumprimentos.
Reputação 6
Ok reparei na imagem que estas a usar o script já com o login efetuado, assim não funciona .


 


Tens de correr o script na pagina onde te pede o user e a pass , mas deixas os campos em branco .


Deve ser esse o problema.


 


Reputação 6
Boas


 


Vou fazer a alteração sugerida ,realmente já la devia estar , obrigado .
Reputação 6
vitoreis escreveu:

Sou só eu que não consegue fazer o download ao user.ini?


 


Quando insiro o endereço http://192.168.1.254/dl/user.ini com sessão iniciada com o user meo sou redireccionado para o login.lp!



Boas


Se isso está a acontecer é porque o teu router já tem o firmware 10.2.1.L instalado , portanto este tutorial já não funciona com esse firmware .


 


E não existe alternativa de momento para obter as configs.
Reputação 6
Boas


 


Podes ligar praticamente qualquer router para fazer a gestão do serviço de internet , e o router da meo fica apenas com o serviço de Voip e IPTV.


 


Existem duas formas de fazer a configuração dependendo do firmware que está instalado no router da meo .


 


Para o firmware 10.2.1.D que usa autenticação por PPPOE usa este tutorial .
https://forum.meo.pt/t5/Equipamentos-Internet/Tutorial-para-usar-outro-router-para-gerir-a-internet/td-p/18012/jump-to/first-unread-message


 


Para o firmware 10.2.1.L que usa single edge IPOE usa este tutorial
https://forum.meo.pt/t5/Equipamentos-Internet/Tutorial-firmware-10-2-1-L-mais-segundo-router-a-gerir-o-servi%C3%A7o/td-p/51333/jump-to/first-unread-message


 


Router recomendados


 


ASUS norma N
RT-N10U, RT-N10U B, RT-N10P, RT-N12 B1, RT-N12 C1, RT-N12 D1, RT-N12HP, RT-N15U, RT-N16, RT-N18U, RT-N66U


 


ASUS norma AC
RT-AC56U, RT-AC66U, RT-AC68U
Reputação 6
Crachá +10
Boas,


 


Usem o Ultraedit, é bom e existe para todas as plataformas.
Reputação 1
Boas,


 


Apesar de me acontecer exactamente assim já por 3 ou 4 vezes que o consegui colocar em enabled.


 


Não sei como nem porquê ... mas o que é certo é que já consegui ... não sei se o facto de colocar em "Temporary" e com um timeout de 9999 ajudará. Ainda não percebi como consegui isso algumas vezes.


 


Mas 99% das vezes acontece exactamente como o descrito.


 


Já agora das vezes em que consegui colocar o remoteaccess em enabled ... consegui entrar remotamente no router mas no passo que referes de fazer o backup ... nunca consegui que me aparecesse a janela para onde queria gravar o user.ini ... carregava no botão do backup da configuração ... ele ficava a pensar um bocado e depois saltava para a página de login do router.


 


Abraço,


 


P.S. excelente tentativa ner0


 


P.S.2 A maior parte das vezes no comando config também dá o "Unknown command" mas depois ao fazer o list as alterações aparecem. Portanto esse "Unknown command" não é assim tão "linear". Conforme podes ver na imagem mudei a porta e o timeout e ele assumiu apesar do "Unknown command".


 


http://www.ideianet.pt/meo10.jpg
Crachá +1
Firefox. Abro uma nova janela privada pra fazer login...


 


Não fiz reset.
Reputação 3
Crachá +7
Zé Bandido escreveu:

Depois disto tudo existe alguma maneira de ativar o número VoIP na segunda porta telefónica?



 


Verifica como está feita a configuração do teu serviço VoIP, através de: 
Ferramentas > Serviços de Voz > Configurar > Editar


Na configuração do teu VoIP deverás ter o parâmetro "Porta" definido para "Todos/Ambas".


Se estiver definido apenas para "Telefone 1" ou "Telefone 2" é porque foi mal configurado pelos técnicos.
Reputação 3
Crachá +7
Zé Bandido escreveu:

O que eu queria dizer era se é possivel atraves de Telnet com o RootUser ter o número "de casa" na Porta 1 e o numero VoIP que criei gratuitamente na Área de Cliente ativo na Porta 2 do Gateway 



Caso as definições do operador sejam as mesmas para ambos os números, teoricamente é possível. No caso da MEO, por defeito tens:


- Endereço de registo: sip.sapo.pt


- Porta de registo: 5060


- Endereço de Proxy: proxy.ims.iptv.telecom.pt


- Porta de Proxy: 5070


 


Se estas forem as mesmas configurações para ambos, então quase de certeza que dá.


Isto tudo pode ser feito no router através da interface do navegador web, tens de ir ao  menu: Ferramentas > Serviços de Voz > Configurar > Adicionar


Aí configuras o teu segundo SIP URI, nome de utilizador, password e defines para a porta Telefone 2.


 


Mas tens que considerar que por defeito o serviço VoIP da MEO está configurado para ambas as portas, portanto terás que editar o serviço principal para usar apenas a porta Telefone 1. O único requesito para fazeres esta alteração pessoalmente é que terás que saber a palavra-passe actual do serviço VoIP existente por defeito, caso contrário, ao clicares em Aplicar, ele vai redefinir a password para ****** o que resultará na desconfiguração do serviço VoIP primário. Se não souberes a palavra-passe e não quiseres ter o trabalho de telefonar para um técnico da MEO para te reconfigurar isso, podes editar o ficheiro user.ini:


  • uamap add profile=0 voiceport=FXS1
  • uamap add profile=0 voiceport=FXS2
 


E retirar a 2ª linha de forma a que fique apenas:


  •  uamap add profile=0 voiceport=FXS1
 


Depois restauras as configurações do router com a alteração que fizeste.



 


NOTA: Faz sempre backup do ficheiro user.ini antes de qualquer alteração. Aconselho a descarregares o ficheiro user.ini via FTP, é que na minha experiência, via HTTP por vezes o ficheiro fica corrompido e ao restaurar causa problemas.
Reputação 3
Crachá +7
A conta meo não permite fazer o download ou o upload do ficheiro user.ini


É necessário um nível SuperUser no mínimo, ou então RootUser.


 


Tenta o acesso com o utilizador Debug conforme explicado neste tópico.


 


EDIT: Realmente deverá ser devido à nova atualização do firmware.
Reputação 3
Crachá +7
Em tempos sugeri que desencriptássemos o hash do utilizador Debug, no entanto isso só é viável se várias pessoas poderem contribuir com o seu equipamento (mínimo de 10), de outra forma não faz sentido.
Reputação 3
Crachá +7
MancaMulas escreveu:

ner0 escreveu:


 



Em tempos sugeri que desencriptássemos o hash do utilizador Debug, no entanto isso só é viável se várias pessoas poderem contribuir com o seu equipamento (mínimo de 10), de outra forma não faz sentido.



 


Eu estou disposto a isso, mas têm de me dizer o que é necessário fazer...



 


É muito simples, desde que hajam alguns interessados, com placas gráficas decentes, até que se conseguiria fazer rápidamente.


Se mais gente demonstrar interesse, vamos a isso.
Reputação 3
Crachá +7
MancaMulas escreveu:

ner0 escreveu:

MancaMulas escreveu:

ner0 escreveu:


 



Em tempos sugeri que desencriptássemos o hash do utilizador Debug, no entanto isso só é viável se várias pessoas poderem contribuir com o seu equipamento (mínimo de 10), de outra forma não faz sentido.



 


Eu estou disposto a isso, mas têm de me dizer o que é necessário fazer...



 


É muito simples, desde que hajam alguns interessados, com placas gráficas decentes, até que se conseguiria fazer rápidamente.


Se mais gente demonstrar interesse, vamos a isso.



Uma geforce 8800 GT com 512 Mb de RAM é suficiente? Há bem melhor no mercado mas isso é o que tenho...



Dar, dá. Mas a performance desse equipamento não é suficientemente elevada para este tipo de operações serem viáveis.


Dou um examplo do tempo médio necessário para uma única placa gráfica tentar descobrir uma password com 6, 7 ou 8 caracteres:


 


nVIDIA Geforce 9800GT:


4 caracteres -> ~2 segundos


5 caracteres -> ~2 minutos


6 caracteres -> ~1 hora
7 caracteres -> ~4 dias e 6 horas
8 caracteres -> ~1 ano e 40 dias


 


nVIDIA Geforce GTX 760:


4 caracteres -> ~1/2 segundo


5 caracteres -> ~15 segundos


6 caracteres -> ~7 min
7 caracteres -> ~11 horas
8 caracteres -> ~57 dias


 


Ou seja, se não estiverem envolvidas várias pessoas com boas placas gráficas, não vale a pena tentar.
Reputação 3
Crachá +7
Esses são os dados existentes do firmware 10.2.1.D para o TG784n mencionados aqui:


http://forum.meo.pt/t5/Equipamentos-Internet/Como-criar-um-RootUser-para-aceder-a-telnet-no-firmware-10-2-1-D/m-p/23330/highlight/true#M10259


 
Reputação 3
Crachá +7
Penso que descobri uma forma de repor as permissões que o RootUser tinha no firmware anterior.
Para fazê-lo será preciso aceder ao router a partir duma rede exterior (WAN).
Uma possibibilidade que não obriga a terem que se deslocar físicamente durante o processo é usar um proxy ou uma VPN, algo que irei mencionar mais à frente.
Antes de mais, não posso garantir que isto funcione uma vez que ainda não tenho o firmware 10.2.1.L, em parte estou a assumir algumas coisas que poderão não funcionar a 100% nesta última versão.


 


Parte 1.
Aceder ao router através de telnet e usar o seguinte acesso de SuperUser:


code:
Username: sumeo
Password: bfd,10ng

 


Parte 2.
Ativar o acesso remoto com o seguinte comando:


code:
:system ra config name=remoteaccess state=enabled secure=disabled port=1234 timeout=0 mode=Permanent randompassword=enabled randomport=disabled group=Users.Group.TechnicalSupport user=Users.User.tech systemservice=webservice

 


 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.TechnicalSupport
User : Users.User.tech
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, e o valor de 'Secure remote assistance', se for 'disabled' deverás aceder por HTTP senão, se for 'enabled', deverás aceder por HTTPS.



Parte 3.
Em primeiro lugar, terás de saber qual o endereço IP da tua ligação de internet, existem várias páginas web onde o podes consultar, como por exemplo: http://www.whatismyip.com
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/backup.lp

 


  • opção b) - Através de uma ligação secundária:
code:
http://TEU.ENDEREÇO.IP.INTERNET:1234/backup.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();

Se tudo tiver corrido como previsto, deverás chegar à página de gravar/restaurar as definições do router. Neste momento talvez te questiones porque razão não podes criar o RootUser a partir deste ponto, como já se fazia antes, foi uma pergunta que também me coloquei e, após uns testes, a resposta é: não só não funcionou, mas ainda por cima reiniciou o router. Mesmo assim, podes tentar.


Próximo passo, criar um RootUser...



Parte 4.
Na página de gravar/restaurar as definições do router, clica no botão "Efectuar backup da configuração agora..." para fazer o download das definições (user.ini) para o teu computador.
Assim que o download terminar, edita o ficheiro (user.ini) e lá dentro procura a secção  [ mlpuser.ini ]. Depois adiciona uma nova linha com o seguinte conteúdo:


code:
add name=guru password=_CYP2_f5e4b9c4a31b79468a53d5702e528b6e9aaf07674eb03d53 role=RootUser hash2=18b4fabb1423b9e259d5799ca380e600 crypt=wR/M1K7m4QHgE

O código acima irá acrescentar um novo utilizador com permissões RootUser. Tanto o nome de utilizador como a palavra-passe são guru.


Grava as alterações ao ficheiro (user.ini) e volta à página de gravar/restaurar definições, clica no botão "Escolher ficheiro" e escolhe o ficheiro que alteraste. De seguida, clica em "Restaurar configuração agora...". Assim que o router terminar de restaurar as configurações e reiniciar, passamos ao último passo.



Parte 5.
Se nada tiver corrido mal até agora, é muito provável que esta última fase também não seja problema.
Agora apenas é necessário retirar as restrições que foram aplicadas ao grupo RootUser, nomeadamente a possibilidade de entrar através de HTTP/HTTPS.
Entra no router através de telnet com o RootUser que acabaste de criar ao editar o ficheiro user.ini, utilizador/palavra-passe é: guru
Assim que tiveres entrado, usa os seguintes comandos:


code:
:mlp role addpriv name=RootUser access=anyaccess service=anyservice
saveall

 


Está feito, já deverás ser capaz de entrar com qualquer utilizador RootUser através da página web.
A primeira coisa que deverás fazer assim que entrares é desativar o Acesso Remoto que ativaste no início: http://192.168.1.254/remote_admin.lp


 


Depois diz nos se funcionou ou não. 😃
Reputação 3
Crachá +7
Dá algum erro ou simplesmente não passa a enabled?
Reputação 3
Crachá +7
Experimenta então apenas isto:


code:
system ra
config name=remoteaccess state=enabled

 
Reputação 3
Crachá +7
zbuh escreveu:

system ra config name=remoteaccess state=enabled secure=disabled port=1234 timeout=0 mode=Permanent randompassword=enabled randomport=disabled group=Users.Group.TechnicalSupport user=Users.User.tech systemservice=webservice
Unknown command.
{sumeo}[system ra]=>



Isto assim não pode funcionar porque estás a executar o comando dentro do menu [system ra].


Executa antes com dois pontos antes do comando, desta forma:


code:
:system ra config name=remoteaccess state=enabled secure=disabled port=1234 timeout=0 mode=Permanent randompassword=enabled randomport=disabled group=Users.Group.TechnicalSupport user=Users.User.tech systemservice=webservice

 
Reputação 3
Crachá +7
Que resultado obténs ao executar o seguinte comando:


code:
:system ra ?

 


Confirma o que não te aparece em relação à lista abaixo:


code:
Following commands are available :

list : List remote access instances.
instadd : Add a remote access instances.
instdelete : Delete remote access instances.
config : Configure remote access parameters.
start : Starts temporary mode.
stop : Stops temporary mode.

 
Reputação 3
Crachá +7
Então não sei o que estará a acontecer.


Tenta apenas system ra config e depois introduz os valores manualmente.


Eu sei que o sistema telnet sofre de alguns bugs.


Por exemplo, esse problema acontece-me por vezes após ter ativado o serviço de acesso remoto, ao tentar alterar alguma opção, por vezes tenho que alterar para disabled. Outras vezes recusa-se a aceitar o comando para passar a disabled e tenho que o executar várias vezes. Seja como for, tenta manualmente:


code:
:system ra config

 


Na maior parte das definições podes simplesmente carregar nas setas cima/baixo para alternar entre as opções existentes e enter para passar à seguinte:


code:
name = remoteaccess
[state] = enabled
[secure] = disabled
[port] = 1234
[timeout] =
[mode] = Permanent
[ipintf] =
[randompassword] = enabled
[randomport] = disabled
[group] = Users.Group.TechnicalSupport
[user] = Users.User.tech
[todschedule] =
[systemservice] = webservice

 
Reputação 3
Crachá +7
MancaMulas escreveu:




Isto só funcionaria a quem ainda não tivesse feito reset ao router, correcto? Uma vez que os técnicos me obrigaram a fazer reset, esta hipótese para mim estaria fora de questão.



Não, a ideia era isto funcionar especialmente com as definições base, pelo menos na versão D funciona mesmo quando tudo o resto não funciona. Quando começei a explicação fiz questão de referir que não tenho o firmware L e portanto não tenho a certeza se funciona bem. Uma vez que nenhum dos usernames conhecidos permite ativar/desativar o acesso remoto via HTTP, é crucial fazê-lo através de telnet. Acho um pouco estranho o comportamento do comando system ra porque não é explícito que o mesmo esteja a negar o acesso. O normal, quando as permissões estão barradas, é o comando não ser permitido e nem sequer aparecer na lista de comandos do telnet. Já para não falar que um utilizador reporta um comportamente que não é comum a outro utilizador:


 


Invalid environment name remoteaccess.
Bad value for parameter 'name remoteaccess'
Remote Access instance remoteaccess not found


 


Seja como for, o comportamente descrito acima já é indício de que a versão L do firmware já teve uma alteração no perfil de acesso remoto, quem sabe se não foi completamente descontinuado. Enquanto não tiver essa versão não consigo perceber exatamente o que é possível ou não.

Responder