Hacking Guest Wi-Fi Portals on Linksys Access Points

Há anos que existe uma falha na forma como alguns pontos de acesso Linksys facilitam o acesso dos utilizadores convidados. Um pouco de pesquisa revela queixas sobre este método que datam de 2013, e aparentemente o problema ainda não foi corrigido em alguns pontos de acesso modernos do Linksys.

Inicialmente todos os pontos de acesso no mercado anunciam um SSID protegido por WPA2-PSK para os utilizadores convidados se ligarem. O administrador configuraria a chave pré-partilhada e fornecê-la-ia aos utilizadores convidados. Os utilizadores usariam então a chave pré-partilhada para autenticar ao AP, um processo que todos nós conhecemos. O benefício disto é óbvio – toda a comunicação com o AP é encriptada, incluindo o processo de autenticação. (Bem, pelo menos tão seguro como a WPA2 pode ser.)

Linksys, em alguns APs, optou por lidar com isto de forma um pouco diferente. Em vez de fornecer um SSID com encriptação WPA2-PSK, o AP anuncia um SSID aberto e não encriptado. Quando os convidados se ligam a este SSID, é-lhes oferecido um portal de entrada para fornecer uma palavra-passe, que é uma chave pré-partilhada que é partilhada entre todos os convidados. O problema com esta implementação é que o portal web utilizado para aceitar esta chave não é encriptado com encriptação WPA2-PSK (uma vez que o SSID é aberto e não encriptado) ou HTTPS.

Outros pontos de acesso, incluindo pontos de acesso fornecidos aos clientes da Comcast Xfinity, também oferecem um SSID não encriptado para fornecer aos utilizadores um portal web, mas pelo menos o portal é encriptado com SSL e não são transmitidas senhas de texto simples através do ar.

Sniffing Unencrypted Passwords on the Air

Note: Se não estiver familiarizado com a utilização de comandos airmon-ng e airodump-ng, talvez queira verificar o meu artigo anterior, que vai mais fundo no que diz respeito à sintaxe dessas ferramentas.

Como pode imaginar, uma vez que a palavra-passe do convidado sem fios é transmitida através do ar sem encriptação, é muito fácil farejar este tráfego e obter acesso ao acesso gratuito à Internet através do portal do convidado. Os únicos requisitos de hardware e software incluem um adaptador sem fios capaz de ser colocado em modo monitor, e o conjunto de ferramentas aircrack, que estão disponíveis por defeito em Kali Linux.

De dentro de Kali colocaremos o nosso adaptador sem fios compatível em modo monitor.

airmon-ng start wlan0

Iniciaremos então o airodump para identificar o nosso SSID alvo. Os dados importantes a recolher são o canal em que o ponto de acesso está a funcionar, e o BSSID do SSID que está a ser anunciado. Esta informação deve ser mostrada no ecrã de saída do airodump.

airodump-ng wlan0mon

Após termos recolhido o canal e o BSSID se o SSID aberto, podemos começar a farejar o tráfego destinado a/para esse SSID. Primeiro, vamos querer ter a certeza de que estamos no directório de trabalho da raiz da nossa máquina Kali. Quando começarmos a capturar dados com airodump, serão criados vários ficheiros, incluindo um ficheiro de captura de pacotes que podemos analisar em Wireshark.

cd ~airodump-ng -c 6 --bssid DE:AD:BE:EF:00:00 -w LinksysCapture wlan0mon

Neste comando a bandeira -c especifica o canal em que o nosso SSID alvo está a usar, a bandeira -bssid especifica o BSSID do SSID que reunimos acima, e a bandeira -w fornece um nome para os nossos ficheiros de saída.

Após este comando ser executado, seremos Abel para ver a saída do airodump para o SSID específico que especificámos. Sob a coluna STATION, seremos capazes de ver quando uma estação se liga. Quando uma estação se liga e entra na palavra-passe sem fios hóspede, seremos capazes de usar Wireshark para a exfiltrar do ficheiro LinksysCapture-01.cap que o airodump cria para nós.

Capturar a palavra-passe e avaliar com Wireshark

Neste ponto, é um jogo de espera, uma vez que teremos de esperar que um utilizador válido se ligue ao SSID inseguro, e introduzir a palavra-passe do hóspede. Assim que um utilizador se ligar, deveremos poder ver o seu endereço MAC aparecer abaixo da coluna STATION. O contador sob a coluna Frames aumenta à medida que comunicam com o SSID e os frames são passados para trás e para a frente.

Podemos tirar uma fotografia do ficheiro à medida que este é capturado, abrindo um novo terminal e copiando o ficheiro .cap existente para outro ficheiro .cap. Por exemplo:

cp LinksysCapture-01.cap cap.cap

Podemos usar isto para tirar um instantâneo para avaliar em Wireshark enquanto se deixa a varredura inicial a correr, no caso de alguém ligado mas não introduziu a palavra-passe correcta, ou não tentou introduzir uma palavra-passe depois de ter pensado que poderia obter Internet grátis através de um SSID aberto.

Abriremos o instantâneo da nossa saída, cap.cap, e utilizamos um filtro de visualização em Wireshark, facilmente introduzido digitando-o na barra do filtro acima da saída da captura. Este filtro mostrará apenas pedidos http POST, que é como a página web do portal de visitantes fornece os dados da palavra-passe para a AP do Linksys.

na parte central da janela Wireshark, se rolarmos até ao fundo e expandirmos o conteúdo do JavaScript Object Notation: aplicação/json, podemos ver todos os objectos no objecto JSON, que inclui o endereço MAC do PC convidado, o endereço IP como fornecido pela AP, e a palavra-passe do convidado em texto simples (que nesta captura é “palavra-passe”.”)

Conclusion

Se estiver a utilizar a funcionalidade “Guest Access Portal” num AP Linksys que trata os logins de visitantes desta forma, poderá querer considerar a substituição desse AP por um AP mais seguro, ou pelo menos desactivar a funcionalidade se não quiser que as pessoas recebam uma boleia gratuita na sua ligação à Internet.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *