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

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


Mostrar a primeira mensagem

159 respostas

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.
Crachá +1
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...
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.
Uma questão semi-off-topic, vocês têm sentido desde à cerca de duas semanas, lentidão nos serviços do google?


 


Tipo Maps, Music etc? Eu não consigo ouvir uma música do google sem quebrar e fazer timeout, e a navegar em sites que não sejam da google está à velocidade normal.


 
depois do dump (só hoje pude fazer) 


 


add name=Debug password=_CYP2_e1b57ae009db01c58dd6009be1fb24f0d96e4df96dac40bd role=RootUser hash2=91cd28f3d8d3a503e9839caaa2929123


 


 
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. 😃
não funciona :(

 

nao criar o acesso remoto enabled
Reputação 3
Crachá +7
Dá algum erro ou simplesmente não passa a enabled?
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]=>


 


 


 


sumeo}[system ra]=>list
Remote assistance configuration
---------------------------------------------------------------------------------
Name : remoteaccess
State : disabled
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 :
Tod schedule :
SystemService : webservice


{sumeo}[system ra]=>
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

 
já tinha tentado.


 


sumeo}=>system
{sumeo}[system]=>ra
{sumeo}[system ra]=>config name=remoteaccess state=enabled
Unknown command.
{sumeo}[system ra]=>
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.

 
tenho todas.


 


sumeo}=>:system ra ?
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

 
:(


 


tb já tinha tentado isso...


 


só queria mesmo alterar os DNS.
Estou a ter um problema também no mesmo passo. Diz-me sempre isto.

 

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

 

Quando tento o manual, dá-me só o erro na 1º linha.

 

Queria abrir uma porta para aceder a um raspberry... Impressionante como não conseguem meter isto de abrir portas em condições... Já abri pelo sumeo mas simplesmente não funcionam...
Crachá +1
ner0 escreveu:

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. :D



 


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.
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.
Não sei se te posso ajudar de alguma forma, talvez com controlo remoto aqui no meu pc consigas tentar activar o router. Mas o user parece que já não é valido. Os meus erros corrigem-se com um instadd antes do nome
Reputação 3
Crachá +7
Angelicous escreveu:

Não sei se te posso ajudar de alguma forma, talvez com controlo remoto aqui no meu pc consigas tentar activar o router. Mas o user parece que já não é valido. Os meus erros corrigem-se com um instadd antes do nome



Se não te importares de me dar um acesso remoto, podemos tentar ver se chegamos a alguma conclusão.


Se estiveres interessado manda-me uma PM com o teu skype para combinarmos.
Reputação 3
Crachá +7
Com a ajuda do Angelicous chegàmos à conclusão que as instruções que eu sugeri não funcionam mesmo na última versão do firmware.


Não é possível ativar o acesso remoto com o user sumeo já que responde constantemente "Unknown command" ao pedido de ativação. Curiosamente, não tem qualquer problema em aceitar o comando de desativação mesmo quando o serviço já se encontra inativo.


 


code:
:system ra config name=remoteaccess state=enabled

 Dá o erro "Unknown command"


 


code:
:system ra config name=remoteaccess state=disabled

 Não dá erro nenhum.


 


Paciência... :(


 
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.
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

Responder