Tutorial - Como ter acesso root via ssh\telnet em ONT Nokia\Alcatel Lucent

xShARkx

know-it-all Member
Registrado
Criei este tópico com a finalidade de ensinar quem tiver interesse, como conseguir acesso root via telnet\ssh em ONT Nokia\Alcatel Lucent.

1 - Acesse a ONT com o usuário AdminGPON e exporte o arquivo config:

wy7M150.png


Salve ele em uma pasta de fácil acesso! Aqui no caso eu criei uma pasta no desktop mesmo:

NLSBHme.png


2 - Depois vai na windows store e instale o python para windows:

LasEDRq.png


3 - Baixe então esse script em python para decodificar o arquivo config da nokia:


BlnVTrL.png


Extraia o zip, e coloque o arquivo nokia-router-cfg-tool.py na mesma pasta aonde você salvou o arquivo config do passo 1:

WYw51Vv.png


4 - Abra um PowerShell ou CMD na pasta aonde está o config e o script python:

dzfDNUO.png


Execute o comando: python nokia-router-cfg-tool.py -u config.cfg

O mesmo vai decodificar e transformar o config.cfg que você exportou do nokia em um xml editável como você pode ver na imagem acima /\

5 - Abra o xml com o seu editor de texto de preferencia, no meu caso eu usei o notepadd++. Procure então pela linha aonde está o LimitAccount_ONTUSER:

nIsmyAU.png


Ele vai estar com a flag true como você pode ver acima, mude para false e salve a alteração do arquivo:

AindtOe.png


5 - Faça então o repack desse xml com o script python para que ele seja transformado novamente no config.cfg codificado. Use o comando de repack que o próprio script te da quando você usa ele para decodificar o config conforme no passo 4:

QRUmOdv.png


6 - Vá na ONT Nokia e suba esse arquivo config que você modificou:

n1N3nDX.png


7 - A ONT vai então reiniciar, aguarde até que ela volte e habilite o telnet\ssh nas configs dela:

D2YxWfp.png


8 - Baixe o software client de sua escolha(nesse exemplo irei usar o xshell), e conecte via SSH ou via TELNET usando o seguinte formate: IP-DA-SUA-ONT:22 para SSH ou IP-DA-SUA-ONT:23 para TELNET. No meu exemplo irei usar telnet:

lelejmX.png


9 - Log então com o usuário: ONTUSER e senha: SUGAR2A041

Z2xR6ER.png


Depois disso existem duas ferramentas de configuração: Cfgcli e Ritool

Cfgcli
é usado para configurar todas as propriedades do usuário em uma estrutura semelhante a um XML.

Ao dar o comando - cfgcli temos o retorno de todas as propriedades:

rVfz8qH.png


Abaixo vai completo o que esse comando retorna:

Código:
[root@AONT: ONTUSER]# cfgcli
cfgcli command only for R&D debug purpose. The final interpretation right belongs to R&D.
cfgcli  -a  list all  DataModule Element.
        -e [TagName]  list Elemnts within special tag.
           3 allOnBoot 4 allOffBoot 0xFF all.
        -o [0|1|2|3]  stdin|stderr|syslog|telnet
        -s [path value] set parameter value by path.
        -p [path value] set parameter value by path phl method.
        -c commit phl configurations.
        -g [path]  get parameter value by path.
        -G [path]  get real parameters by object
        -f force to write, only used with -s.
        -r [flag] reset to default.
           flag is optional, can be "all" to remove remote pre-config togather.
        -k reset to default with key parameter info.
        -t feed watchdog.
       <command> [option] <cmd_args...>; command to run.
       help; print help of cfgcli command.
       special flags combination, must be specified before arguments
       --from-tr069
       --from-web
       --from-ai
       --from-omci
       --no-stl
       --no-rts
       --no-ovs
       --save-flash-now
       --no-save-flash
        -h help.
cfgcli <command> [option] [cmd_args...]; command to run.
    help
        print this help. you can use: cfgcli -h get other help.
    load_remote_pre [-r] <path>
        load remote pre-configuration. option -r to specify if reboot.
    load_remote_cfg <path>
        load remote configuration update.
    remove_remote_pre
        remove remote pre-configuration.
    remove_remote_cfg
        remove remote configuration update.
    add <URI>
        add dynamic node by URI.
    del <URI>
        del dynamic node by URI.
    set <URI> <value>
        set node's value by URI.
    set <URI> <attribute> <value>
        set node's attribute value by URI.
    get <URI>
        get node's value by URI.
    get <URI> <attribute>
        get node's attribute value by URI.
    dump <URI|NodeName|dbfile [fileid] >
        dump node XML string by URI or by node name matched.
        dump dbfile [fileid]:         1-----------confignew.cfg
         2-----------confignew.cfg.bak
         3-----------config_encryption.cfg
         4-----------config_encryption.cfg.bak
    debug precfg_debug_mode
        Display current precfg debug status.
    debug precfg_debug_mode <enable|disable>
        Set precfg debug status.
    setpasswd <username>
        Set the user's password.
<====================== private data model manage commands ===================>
    dumpwan  [connid:10101] [--no-stl|--from-web|--from-tr069] - to dump the existing wan interfaces
    createwan <type> <vlan> <pbit> <serviceList> - to create a wan interface, default IP_Routed only
        type   - 1 dhcp
        type   - 2 pppoe
        vlan   - 0 or 2-4094. 0 means untag
        serviceList   - default is "INTERNET", can configure as "TR069","INTERNET,TR069,VOIP,OTHER" and so on
    deletewan <id> - delete specific wan
    showport   - show all port type and voice config type to determinate the wan interface upper limit
    showlayer3 - show all the layer3 forwarding entries
    showportmapping - show all the port mapping entries
    --save-db  - save database
   showfilter   show all the filter list
   upload_logs   upload logs to remote server
<====================== private voip commands ===================>
    createvoipq    - to create message queue manually, the queues are communicated with voip

Ritool - Aparentemente, todos os dispositivos e placas têm o mesmo conteúdo flash, exceto por alguns dados específicos, como o número de série, a identificação do operador e assim por diante. Esses binários OEM gerenciam esses dados por meio de uma biblioteca chamada /lib/libri.so, que interage com um dispositivo / dev / ri_drv. Este dispositivo é controlado por um módulo de kernel proprietário da Broadcom denominado /bcm/bin/ri.ko. O que este módulo faz é basicamente ler e gravar valores em um I2C EEPROM.

Uso do ritool:

4o73isZ.png


VgbOEVs.png


O comando ritool dump retorna todas as variáveis armazenadas. Com o ritool por exemplo é possível alterar o serial GPON das ONT nokias que no caso da imagem acima é composto pelo MfrID + G984Serial... Eu fiz esse processo e com isso autentiquei com sucesso um nokia G-240W-C que comprei no ml na Oi fibra.

Importante

Faça esses procedimentos por sua conta e risco! Todos eles são procedimentos sensíveis e que se forem executados de maneira errada irão brickar a ONT!
 
Última edição:
Excelente tutorial amigo, obrigado.
tenho duas dúvidas
1 - É possível enviar um comando pelo ssh/telnet para trocar o ip externo ? antigamente no modems xDSL bastava resetar o mesmo mas parece que nesses de fibra já não é fácil assim.
2 - Seria uma boa desativar o TR-069 afim de evitar que a operada atualize remotamente o modem, dessa vez com um firmware que corrige essa brecha pro acesso root ?
 
Excelente tutorial amigo, obrigado.
tenho duas dúvidas
1 - É possível enviar um comando pelo ssh/telnet para trocar o ip externo ? antigamente no modems xDSL bastava resetar o mesmo mas parece que nesses de fibra já não é fácil assim.
2 - Seria uma boa desativar o TR-069 afim de evitar que a operada atualize remotamente o modem, dessa vez com um firmware que corrige essa brecha pro acesso root ?
1 - Não cheguei ia tentar fazer isso não, já que a Nokia aqui me obrigava a reiniciar ela todo o dia e ao fazer isso já mudava o IP. Eu me aprofundei apenas no quesito de alterar serial da ONT pois eu queria testar a ONT Nokia que eu tinha comprado no ML.
2 - O firmware para ONT não vem via TR-069 e sim via outro sistema embutido(esqueci o nome agora), portanto mesmo se você desativar o TR-069, a OLT da Oi ainda sim vai atualizar o firmware da sua ONT caso o firmware da mesma não bata com firmware que é esperado pela OLT(build, versão, identificação e etc). Para evitar o update do firmware seria necessário desabilitar esse sistema, agora se dá para fazer isso via telnet ou ssh, ai já não sei... Outra possibilidade é que vc edite o firmware com as devidas ferramentas, para alterar as infos dele para bater com as infos do firmware que a OLT manda, assim quando a OLT fizer a checagem ela não deve tentar sobrescrever o firmware modificado.
 
Excelente amigo.

Mas qual seria a senha do usuario AdminGPON da Oi (especificamente do modelo Nokia G-240W-C) ?
 
Excelente amigo.

Mas qual seria a senha do usuario AdminGPON da Oi (especificamente do modelo Nokia G-240W-C) ?
Essa senha é individual para cada ONT gerada automaticamente, assim como a senha userAdmin que vai na etiqueta colada atrás da ONT.

O mesmo se aplica para o modelo G-140W-H da Oi, porém, nesse caso o triple oxygen fez o teardown e o dump do firmware desse modelo graças ao colega @t1ago que enviou uma G-140W-H da Oi fibra para ele:



E com isso ele criou um gerador de senha que funciona 100%, porém, apenas para o modelo G-140W-H:


OBS: Gerador se encontra em manutenção e de acordo com o triple oxygen deve voltar essa semana.
--- Post duplo é unido automaticamente: ---

Excelente amigo.

Mas qual seria a senha do usuario AdminGPON da Oi (especificamente do modelo Nokia G-240W-C) ?
Qual o seu objetivo com a senha do AdminGPON? Colocar em bridge? Ou alterar alguma outra config?
 
Essa senha é individual para cada ONT gerada automaticamente, assim como a senha userAdmin que vai na etiqueta colada atrás da ONT.

O mesmo se aplica para o modelo G-140W-H da Oi, porém, nesse caso o triple oxygen fez o teardown e o dump do firmware desse modelo graças ao colega @t1ago que enviou uma G-140W-H da Oi fibra para ele:



E com isso ele criou um gerador de senha que funciona 100%, porém, apenas para o modelo G-140W-H:


OBS: Gerador se encontra em manutenção e de acordo com o triple oxygen deve voltar essa semana.
--- Post duplo é unido automaticamente: ---


Qual o seu objetivo com a senha do AdminGPON? Colocar em bridge? Ou alterar alguma outra config?
Seria possível colocar em bridge com essas configurações, já que a ont aqui é um nokia G-240W-C? horrível essa ont.
 
Última edição:
@xShARkx tá dando erro ao executar o código no passo 4:
"zlib.error: Error -3 while decompressing data: incorrecto header check"
Windows 11 aqui.
 

Users who are viewing this thread

Voltar
Topo