“NOS wi-fi powered by Fon” @ DNS spoofing

Recentemente revelei uma vulnerabilidade existente nos routers da NOS, nomeadamente devido ao software Jungo OpenRG, que permitia o acesso a páginas previamente bloqueadas ou inacessíveis ao utilizador comum (clique aqui caso não tenha lido, pois é igualmente importante).

 

O artigo que hoje aqui trago vai ao encontro do anterior, mas com resultados finais mais graves do ponto de vista da segurança.
Antes de tudo, temos de conhecer um pouco de um serviço que a “NOS” fornece: o “NOS wi-fi powered by Fon” – http://www.nos.pt/particulares/internet/nos-wi-fi/paginas/nos-wifi.aspx

 

Resumidamente, este serviço extra, que se encontra ativo em todos os routers da NOS, permite que os utilizadores acedam à Internet em qualquer lugar onde exista um hotspot FON, tanto em Portugal como no estrangeiro.
Com 700.000 hotspots em Portugal e mais de 13 milhões em todo o mundo (fonte do site da NOS), é sem dúvida uma boa iniciativa e que muitos devem utilizar com alguma regularidade (eu incluído).

 

– Parte 1 – 300Mbps e DNS personalizado

Passando a breve explicação, vamos ao que importa.
Uma das principais alterações que muitos utilizadores realizavam quando possuíam acesso às páginas escondidas do router da NOS era alterar os servidores DNS padrão da ligação (normalmente os da NOS) para outros, seja os Google DNS, OpenDNS,etc, bem como alterarem a ligação do Wifi doméstico dos 150Mbps para os 300Mbps.

 

Isto era realizado utilizando a página “page_conn_settings_XXX”, onde o XXX é substituído pelo nome da interface de ligação: vw0 para a ligação WAN geral – normalmente a mais escolhida -, ra0 para a ligação WIFI e ethX para as portas Ethernet presentes no router.
Nesta primeira parte irei realizar ambos estes pontos, tanto da alteração DNS como da velocidade Wifi, como forma de demonstrar o conceito e o funcionamento. Para tal irei utilizar a página “page_conn_settings_ra0”.

 

Utilizando o método de acesso que referi no artigo anterior, é possível aceder à página “page_conn_settings_ra0” sem problemas de maior:

 

Como se pode verificar na página, existe a opção “Modo largura canal”, que permite alternar entre a ligação “Apenas 20 mHz” ou “20/40 mHz (dinâmico)”. Aqui basta alterar para a segunda opção e guardar normalmente as configurações.
Feito isto, é possível verificar rapidamente o estado da ligação Wifi:

 

Como se pode verificar, a taxa de download e upload da rede wifi foi alterada sem problemas e encontra-se agora nos 300Mbps. Ou seja, esta opção encontra-se alterada e, portanto, o trabalho neste ponto está feito. Agora passemos aos DNS’s personalizados.

 

Como se verifica na imagem da página “page_conn_settings_ra0”, não existe nenhum campo para realizar a alteração direta dos servidores DNS. As restantes abas presentes nesta também não possuem qualquer possibilidade de alterar os DNS.
Desta forma é necessário de recorrer à ligação geral, que será a “vw0”. Acedendo à página “page_conn_settings_vw0” verifica-se o seguinte:

 

Nesta já se encontra a possibilidade de alterar os servidores DNS. No entanto, quando tentamos clicar na opção, a página apenas atualiza para a conhecida página de “expiração”.

Se retrocedermos no navegador, a opção permanece selecionada, mas os campos onde se deveria introduzir os servidores DNS não se encontram presentes, o que não produz o efeito desejado.
E é aqui que começa a entrar a rede “NOS wifi by FON”. A rede da FON utiliza a ligação wifi sobre o nome “ra1”, sendo, portanto, acessível pela página “page_conn_settings_ra1”. Acedendo a esta com o método anterior surge o seguinte:

 

Como se pode verificar, nesta página encontra-se dois campos respeitantes aos servidores DNS. Mas não é nesta rede wifi onde se pretende efetuar a alteração dos mesmos.Mas é possível utilizar estes campos para alterar os DNS da ligação “vw0”. Isto é tão simples como copiar o código HTML respeitante aos campos dos servidores DNS e coloca-los normalmente na página da ligação “vw0”.
Algo similar a isto:

 

A localização onde os campos são colocados é indiferente. Após este processo, basta alterar os servidores DNS para os pretendidos e aplicar as alterações.
Como confirmação (neste exemplo utilizei os servidores DNS da OpenDNS, mas poderá ser aplicado qualquer IP nos campos anteriores):

 

Como se pode confirmar, os servidores DNS foram alterados com sucesso para a ligação WAN e, consequentemente, para todas as ligações (Wifi ou por cabo) através do router.

 

No entanto, esta alteração deixou-me um pouco inquietado. E se aplicarmos este mesmo método mas para a ligação WAN/WIFI da “FON”? É aqui que entra a segunda parte deste artigo, e a mais importante.

 

– Parte 2 – NOS Wifi@vulnerabilidade DNS

Como se pode encontrar na página das ligações do router, a ligação respeitante à rede FON encontra-se sobre o nome “vwfon0”.

 

Esta somente surge como “Ligada” caso se encontre algum equipamento ligado na rede Wifi do router respeitante à FON. Durante o restante tempo permanece inativa.
É possível verificar nas informações da rede que esta se encontra a utilizar os servidores DNS da NOS, como seria de esperar. Mas será que poderemos aplicar o método que foi realizado anteriormente para esta ligação?
Seguindo os mesmos passos que foram realizados anteriormente, mas agora para a página “page_conn_settings_vwfon0”:

 

A resposta é (infelizmente) um sim. Somente para confirmar, acedendo à rede wifi “FON” via um equipamento móvel:

 

Neste caso apliquei os servidores DNS da OpenDNS e, para confirmar que os servidores da rede FON foram realmente alterados, utilizei a página de configuração que a OpenDNS disponibiliza – https://www.opendns.com/welcome/
Como se pode verificar na imagem, o equipamento encontra-se ligado à rede FON, mas sobre os servidores da OpenDNS.

 

E é aqui que começa o ponto importante no que respeita à segurança. Um utilizador mal-intencionado pode utilizar esta vulnerabilidade para alterar os servidores DNS para qualquer endereço IP. Neste exemplo foi utilizado o IP da OpenDNS, mas pode ser qualquer outro, nomeadamente servidores vulneráveis ou que tenham como objetivo realizar ataques conhecidos como “DNS spoofing” – http://www.wikiwand.com/en/DNS_spoofing

 

De forma resumida, poder-se-ia alterar os servidores DNS para outros do controlo do utilizador/proprietário do router e que, a título de exemplo, redirecionassem todos os utilizadores ligados à rede ““FON_ZON_FREE_INTERNET”” desse router para páginas falsas de login (Facebook, Twitter,emails,etc), onde os respetivos dados de login fossem roubados (e quem diz de login diz praticamente todos os dados que o atacante pretenda).

 

E o pior é que todo este ataque pode ocorrer sem o utilizador sequer se aperceber. A rede wifi “FON_ZON_FREE_INTERNET” não possui qualquer tipo de proteção e é idêntica em todos os hotspots. Afinal, o objetivo do “NOS wifi/FON” é exatamente permitir o acesso em qualquer hotspot, bastando possuir uma conta FON.
Um utilizador pode utilizar uma rede “FON_ZON_FREE_INTERNET” adulterada sem sequer se aperceber, visto que não existe qualquer indicação que os servidores DNS são diferentes. Para os equipamentos a aceder, o nome da rede é sempre igual. Até o próprio IP da rede FON (do gateway) é idêntico em todos os hotspots (192.168.3.1).

 

E tendo em vista que a rede Wifi “FON_ZON_FREE_INTERNET” trata-se apenas de um bridge criado para a rede WAN do router (a vwfon0), nem mesmo nos equipamentos ligados ao wifi da FON surge a indicação dos DNS aplicados, uma vez que somente irá surgir o respeitante ao gateway (ou seja, 193.168.3.1).
Desta forma, para o utilizador comum, é virtualmente impossível saber se este se encontra sobre uma rede FON adulterada ou não.

 

Retirando os casos em que os utilizadores tenham aplicado servidores DNS personalizados nos equipamentos pelo qual acedam à rede “FON_ZON_FREE_INTERNET” – o que praticamente nenhum utilizador realiza – todo o ataque pode passar por despercebido.

 

– Como se proteger?

Antes de tudo, tal como referi no artigo anterior, não tenho conhecimento que o método de exploração do software Jungo OpenRG seja conhecido, e dai não o ter revelado publicamente. Desta forma, existe uma baixa probabilidade – para já – de este ataque à rede NOS Wifi ser aplicado.
No entanto, nada impede de aplicar algumas medidas preventivas caso se utilize a rede FON/NOS Wifi com alguma regularidade.

A primeira será aplicar servidores DNS fidedignos no equipamento a utilizar. Esta medida pode ser um pouco mais complicada em certos equipamentos, como smartphones Android, mas será a melhor forma de garantir que são sempre utilizados os servidores DNS corretos.
A segunda medida será ter atenção. Evitar realizar logins em redes sociais ou em sites supostamente credíveis mas onde verifique algo “fora do normal”.

 

– Pontos finais

Tal como referi no artigo anterior, segundo as pesquisas que realizei não tenho conhecimento de que o método para aceder a estas páginas, e, portanto, a possibilidade de explorar esta vulnerabilidade, sejam conhecidas de forma pública.
Não terei problemas em divulgar as mesmas à NOS, caso esta as requeira, mas em nenhum momento as irei partilhar públicamente, pelo que é desnecessário qualquer comentário ou mensagem com este intuito.

 

Ambos os artigos pretendem demonstrar a existência da falha e, no presente caso, como esta pode ser utilizada para fins maliciosos.
Da mesma forma, visto que os métodos do artigo anterior, relativa ao Jungo OpenRG, não aparentam ser conhecidos, o impacto desta vulnerabilidade é relativamente baixo. Isto não impede que outras redes FON (a título de exemplo, sobre routers próprios FON/Fonera) não estejam a explorar a vulnerabilidade sobre outros sistemas (como o DD-WRT ou similares). Mas no que respeita à NOS e aos routers da mesma em Portugal, não deverá existir, para já, probabilidade de replicação da falha.

Share