Por: Kryptus
Em 2018, a Kryptus começou a analisar as inseguranças que poderiam estar presentes no roteador Wireless, da Intelbras, o Intelbras NCloud 300. Na ocasião, nossa equipe encontrou quatro vulnerabilidades que permitem que um atacante descubra diversas informações como a senha do usuário mestre, o login e a senha do usuário, senha definida para o receber sinal Wi-Fi da residência e reiniciar dispositivos não autenticados.
Qual o produto?
O roteador é um equipamento que transmite o sinal de Wi-Fi para diversos equipamentos, de forma sem fio ou cabeada.
Já o Intelbras NCloud 300, roteador produzido pela Intelbras, além de difundir o sinal de internet, também possui a proposta do usuário criar seu próprio armazenamento em “nuvem”, ou seja, em um servidor, podendo acessar de qualquer local, sem necessitar levar pen-drives ou HDs externos.
Entretanto, para o funcionamento desse serviço, é necessário que algum equipamento de armazenamento local, como um pen-drive, esteja conectado ao dispositivo. Assim, tudo que for baixado nessa nuvem poderia ser arquivado no equipamento com conexão USB.
Para essa nuvem própria funcionar, o roteador precisa estar conectado e exposto à internet e estar com um pen-drive conectado nele, na maior parte do tempo. E é aí que começa o problema.
As vulnerabilidades encontradas
Ao todo, foram encontradas quatro vulnerabilidades:
Unprotected Serial port (UART)
A primeira é relacionada a uma porta física do roteador, que é muito utilizada para o desenvolvimento do equipamento, entretanto depois de pronto, normalmente, essa porta e suas conexões são removidas.
Quando essa porta do Intelbras NCloud 300 é conectada a uma entrada de algum computador ou notebook, com um adaptador para transformá-lo para a conexão USB, o aparelho entrega uma sessão onde é possível acessar arquivos contendo a senha do usuário root. E com um programa de quebra de senhas, como o John the Ripper, facilmente é possível decifrar e encontrar a senha.
O usuário root é o usuário com maior permissão num sistema, que permite que quem quer que tenha esse acesso possa realizar diversos comandos ao dispositivo, de maneira a conseguir obter informações como os dados que arquivam as senhas do dispositivo.
Isso piora porque, com a senha do usuário root e um pen-drive conectado no roteador, para criar sua nuvem, o atacante tem acesso a todos os arquivos presentes no equipamento conectado a ele.
Além disso, com a senha, o invasor consegue acessar tudo e fica cada vez mais fácil conseguir acessar as informações expostas por conta das próximas vulnerabilidades.
A situação se agrava mais porque todos os roteadores desse modelo possuíam a mesma senha. Ou seja, quando um atacante descobre a senha do usuário root de um roteador, ele adquire a de todos e assim pode ter acesso aos arquivos de todos os clientes que possuíam esse equipamento.
E quando o roteador está conectado à internet, como o modelo de uso recomendado pelo fabricante, o resultado é a sua exposição e possível invasão por algum atacante.
Unauthenticated configuration backup
Tendo acesso ao dispositivo, de forma remota ou local, o invasor pode fazer o request para o endpoint /cgi-bin/ExportSettings.sh
, que quando realizado, irá trazer um arquivo de backup, que inclui o login e a senha para o site que os clientes dos roteadores utilizam. Desta forma, o atacante tem acesso total ao roteador. Essa vulnerabilidade foi atribuída ao problema CVE-2018-11094.
Unauthenticated wireless password disclosure
Na terceira vulnerabilidade, o atacante pode utilizar o comando `/goform/updateWPS` para descobrir a senha da rede Wi-Fi do usuário.
Nessa mesma questão, o comando /goform/vpnBasicSettings
também pode ser feito sem autenticação e, com ele, o VPN pode ser habilitado ou desabilitado.
Unauthenticated device reboot
A quarta falha mostra que se o atacante usar o comando /goform/RebootSystem
, ele reinicia o roteador, causando indisponibilidade do serviço.
Como as vulnerabilidades foram encontradas
Os analistas de cibersegurança da Kryptus realizaram primeiro o teste local com o dispositivo, criando uma conexão UART, que com um adaptador consegue ser conectado em portas USB, desta forma, tiveram acesso a senha do usuário root.
Em paralelo, executaram os testes e foram descobrindo as outras vulnerabilidades.
Recomendações para que não ocorressem as vulnerabilidades
Algumas recomendações de segurança poderiam ter sido seguidas para evitar essas falhas. A primeira, relacionada à primeira vulnerabilidade, é não possuir essa porta física nos equipamentos disponíveis e vendidos no mercado.
A segunda recomendação, que traria mais segurança e melhoria as outras fragilidades, é ter um melhor gerenciamento de sessão, para permitir que qualquer um dos comandos fossem realizados somente quando o usuário, estivesse logado – e testar se era o usuário mesmo.
Uma vez que esse roteador permitia que todos os comandos ditos anteriormente e que retornavam as informações que permitiam acessos aos dados do usuário fossem pedidos sem um usuário estar logado.
E agora?
No mundo da tecnologia, uma boa prática quando se descobre vulnerabilidades é avisar o fabricante do dispositivo e esperar uma resposta, principalmente antes de fazer qualquer post a respeito.
Quando as fragilidades foram descobertas, a Kryptus notificou a Intelbrás por e-mail, em 9 de maio de 2018. No dia seguinte, o e-mail foi respondido pedindo por mais detalhes.
Depois de repassadas, o fabricante informou que não iriam corrigi-las, pois o roteador estava sendo descontinuado, não tendo a Intelbras a possibilidade de desenvolver alguma atualização. E, por fim, concordou que a Kryptus publicasse um post demonstrando as vulnerabilidades. A Kryptus também desenvolveu um exploit para demonstrar as questões apresentadas neste post.
O modelo NCloud 300, pode ser encontrado para venda ainda hoje (Julho de 2019) no mercado.