Archive

Archive for fevereiro \20\UTC 2011

Combinação perigosa

Ah, a internet, uma caixinha de surpresas…

1 – Operadora de banda larga “dá” um modem+roteador sem fio se o assinante adquirir uma determinada velocidade.

2 – Ela pré-configura esses modems com uma senha padrão de acesso do “suporte”, acessível a qualquer um através da nossa famigerada porta 80, o HTTP.

3 – O firmware do modem tem falhas de segurança que permitem que qualquer usuário acesse qualquer página  – mesmo sem a presença do menu, através da barra de endereços  – , e possa, dentre outras coisinhas…

4 – Pegar a senha de wireless que está no meio do código em JavaScript.

5 – “Reflitão”

Para testar isso, criei uma prova de conceito simples: um script em PHP (queria fazer em Python ou Ruby, mas não resisti) e um banco de dados MySQL. O script varre uma determinada faixa de IP e tenta conectar na porta 80 com as credenciais de suporte. Feito isso, ele solicita 2 páginas específicas. Uma que armazena a chave compartilhada de wireless e outra que exibe o SSID e o BSSID do access point daquele dispositivo. Algumas expressões regulares capturam esses dados e eles são gravados no banco de dados.

Deixo bem claro que não pretendo usar esses dados para benefício próprio (tipo internet sem fio de graça onde eu estiver). É que eu adoro criar essas provas de conceito “do mal”.

P.S.: No final da edição desse post, descobri que esse foi um esforço praticamente inútil. É possível adivinhar uma chave através do BSSID, se o dono do dispositivo não alterá-la. Segredo =X

P.S. 2: Eu já alterei a minha senha de suporte para evitar algum transtorno, a.k.a. script-kiddie.

%d blogueiros gostam disto: