Como saber se a senha da sua rede Wi-Fi é realmente segura
Como saber se a senha da sua rede Wi-Fi é realmente segura
Embora os usuários muitas vezes se preocupem em reconhecer se sua rede Wi-Fi é segura para trocar informações, a realidade também indica que a configuração fraca de uma rede Wi-Fi pode ser a porta de entrada para que um invasor assuma o controle de um computador, roube códigos de acesso e até mesmo comprometer outros dispositivos conectados à mesma rede, como vimos no caso prático de um ataque que começa acessando uma rede Wi-Fi e depois vai para uma Smart TV . É por isso que neste artigo vamos compartilhar algumas ferramentas gratuitas com as quais é possível auditar a segurança de uma rede para determinar se são seguras ou não.
O uso de senhas fracas não é uma prática exclusiva dos usuários domésticos. Aliás, em artigo publicado recentemente pela FastCompany, foi revelado que uma empresa mundialmente reconhecida que oferece espaços compartilhados para empreendedores, startups e freelancers utilizava a mesma senha em vários de seus escritórios; que também era tão fraco que até fazia parte da lista das piores senhas . Portanto, este artigo pode ser de interesse não apenas para usuários domésticos com algum conhecimento técnico, mas também para empresas ou organizações interessadas em avaliar a segurança de sua rede Wi-Fi.
Como auditar a segurança de uma rede Wi-FI
Embora existam várias ferramentas disponíveis, abaixo explicamos algumas delas e os passos que devemos seguir:
A primeira coisa que precisamos fazer é criar um Live CD do Kali Linux. Para isso devemos:
- Baixe uma imagem ISO de 32 ou 64 bits, dependendo da arquitetura do processador, na página oficial,
- Baixe o programa Win32DiskImager ou outro aplicativo para criar um disco de inicialização com a imagem baixada,
- Inicialize o sistema a partir da mídia removível escolhida.
Capture o aperto de mão da conexão
Embora existam muitas formas de auditar uma rede wireless, neste caso vamos focar em um método que começa com a captura do handshake (processo de autenticação entre o Access Point e o cliente, por exemplo, um dispositivo móvel). Como veremos mais adiante, é um método muito eficaz.
Para esta demonstração, usaremos a ferramenta Wifite que vem instalada por padrão com o Kali Linux. Esta ferramenta utilizará internamente, de forma transparente para nós, Aireplay-ng e Airmon-ng para escutar passivamente se algum novo cliente se conectar à rede e capturar o “handshake”. Se não conseguir, ou se não quiser esperar muito, ele automaticamente continuará com um processo mais agressivo, enviando um "pacote deauth" para um cliente forçando sua desconexão. Assim, o dispositivo desconectado tentará se reconectar ao Ponto de Acesso automaticamente e é nesse momento que o Wifite obterá o handshake de conexão.
Quebre o aperto de mão e pegue a senha: parte teórica
Antes de ir para a parte prática de como capturar o aperto de mão, vamos ver a parte teórica desse processo.
Agora precisamos obter a senha. Conforme mostrado na imagem abaixo, o protocolo WPA2 usa um processo de autenticação descrito no protocolo IEEE-802.11i:
O cliente que desconectamos já sabia a senha correta para se conectar à rede Wi-Fi, e todas essas informações foram obtidas pela captura do handshake. Obviamente, os desenvolvedores do protocolo não foram tão descuidados, então não encontraremos a senha em texto simples. O que acontece é que a senha de autenticação (PSK) foi usada para construir a Pairwise Transient Key (PTK) e outras chaves.
O que precisamos fazer neste momento é:
- Assumindo senhas diferentes (PSK),
- Calcule o PTK e o restante das chaves para cada suposição que fazemos,
- Compare o MIC (Message Integrity Code) “genuíno” que captamos no handshake com o que obtemos ao computar as chaves em cada caso.
Se assumirmos uma senha e os MICs (o calculado e o original) coincidirem, as chances de termos uma senha errada são 2^(-128), ou seja, 0,00000, seguido de outros 33 zeros.
Felizmente, existem ferramentas que permitem automatizar esse processo. Nossa melhor opção será tentar obter a senha pela força bruta; ou seja, tente todas as combinações possíveis, uma a uma, até chegar ao resultado. Nesse caso, todo o processo será “offline” para que, no caso de um ataque real, a vítima não tenha como saber que alguém está tentando adivinhar sua senha.
Para economizar tempo, é importante que, ao realizar esse processo, tenhamos o máximo de informações possíveis sobre a senha. A seguir veremos por que pode ser uma dor de cabeça deixar a configuração padrão no dispositivo que a empresa provedora de serviços de Internet nos envia para conectar à rede Wi-Fi.
Quebre o aperto de mão e pegue a senha: parte prática
Indo para a parte prática deste processo, para esta demonstração utilizarei meu próprio Access Point com a configuração padrão; ou seja, sem ter feito nenhuma alteração em sua configuração, que é o erro que infelizmente a maioria dos usuários comete.
Vou começar abrindo um novo terminal e iniciando a ferramenta:
Assim que a ferramenta for aberta, ela colocará automaticamente nosso adaptador sem fio no modo de monitoramento e começará a escanear as redes que estiverem dentro do alcance.
Na coluna "NUM" encontraremos o índice atribuído a cada rede. Simplesmente escolhemos a rede que queremos auditar inserindo seu índice. Neste caso, trabalharemos no índice 1. Ele iniciará um processo automatizado e capturará o handshake. Sim, o Wifite torna isso muito fácil.
Após alguns minutos, obteremos o seguinte resultado, indicando que a captura foi bem-sucedida:
Pronto, já temos o aperto de mão. Para realizar o processo de força bruta, usaremos a ferramenta hashcat . A primeira coisa que precisamos fazer é converter o formato do arquivo capturado contendo o handshake de .cap para .hccapx , que é o formato usado pelo hashcat. Para a conversão usaremos cap2hccapx , embora outras ferramentas estejam disponíveis.
Baixe o código-fonte do cap2hccapx , disponível no GitHub, e compile-o. Para isso, basta digitar os seguintes comandos na ordem:
1 2 3 | $ wget https://raw.githubusercontent.com/hashcat/hashcat-utils/master/src/cap2hccapx.c $ gcc -o cap2hccapx cap2hccapx.c $ mv cap2hccapx /bin |
Por fim, execute a conversão com o comando:
1 | $ cap2hccapx <nombre del archivo>.cap <nombre del archivo>.hccapx |
Como mencionei antes, quanto mais informações de senha tivermos de antemão, melhor. Nesse sentido, o problema das chaves Wi-Fi que comumente encontramos por padrão em muitas redes de usuários na LATAM é que elas são exclusivamente numéricas e possuem 10 ou 11 dígitos. Das quais algumas conhecemos, pois são sempre as mesmas. Esta é a configuração padrão com a qual muitos roteadores são instalados e cuja configuração nunca é modificada pelo usuário.
Lembre-se também de que existem bancos de dados de senhas comuns – chamados de “arquivos de dicionário” – que o hashcat nos permitirá usar para auditar a rede. Uma boa recomendação para os usuários é certificar-se de que a senha que escolhemos para nossa conexão não esteja dentro de um desses arquivos .
Usando o padrão conhecido por algumas empresas, descobrimos que existem dígitos que não mudam; para o nosso exemplo vamos pegar os 3 primeiros dígitos como: 004 ou 014 e vamos testar com ambos.
Seguem-se alguns dos números associados ao cliente, como por exemplo o seu número de identificação. Precisamos encontrar os 7 ou 8 dígitos restantes da senha. Sabendo dessas informações vamos abrir um novo console e escrever o seguinte comando:
1 | $ hashcat -m 2500 -a3 004?d?d?d?d?d?d?d <nombre del archivo>.hccapx |
Onde:
-m 2500 indica que este é um handshake WPA.
-a3 indica que o ataque será por força bruta (mascarado).
e 004?d?d?d?d?d?d?d indica que a senha será de 10 números começando com 004.
Depois que o comando for inserido, o hashcat começará a tentar adivinhar a senha. Dependendo da qualidade do nosso hardware, o tempo que levará será. Vale esclarecer que é possível usar hashcat com placa de vídeo para agilizar o processo.
Como vemos, existem 10 milhões de senhas possíveis. Embora seja um número alto, se levarmos em conta a “velocidade” de processamento que os processadores atuais possuem, vemos que esse processo leva apenas aproximadamente 32 minutos. A senha quebrada pode ser encontrada no arquivo potfile .
Com essas etapas podemos identificar o quão segura é a senha de uma rede sem fio e, portanto, seu nível de exposição a um ataque que se aproveite dessas vulnerabilidades.
Depois de obter a senha da rede Wi-Fi, é possível conectar-se à rede e obter acesso aos outros dispositivos conectados. Isso pode dar a um invasor a possibilidade de explorar outras vulnerabilidades presentes em outros dispositivos.
Infelizmente, é extremamente comum encontrar usuários que utilizam as credenciais padrão que acompanham o roteador , o que representa um problema de segurança para o usuário, pois dá ao invasor a possibilidade de acessar a configuração do roteador e realizar diversas tarefas. Portanto, na maioria das vezes é possível acessar sua configuração, dando origem a diversos tipos de ataques.
Comentários
Postar um comentário