WLAN criptografada WPA / WPA2 Pentesting
O WPA / WPA2 é a próxima evolução da rede sem fio segura que surgiu depois que o WEP se revelou inseguro. Os algoritmos usados por esses protocolos são muito mais seguros (WPA: TKIP e WPA2: CCMP / AES), impossibilitando o cracking da rede, utilizando a mesma abordagem que fizemos com o WEP.
A quebra de WPA / WPA2 é baseada na mesma ideia - farejar o handshake de 4 vias inicial e aplicar um ataque de força bruta para quebrar a senha criptografada.
Para ilustrar este exemplo, farei mais uma vez usar o WLAN "LAB-test", desta vez protegido com WPA2 usando a seguinte chave - "F8BE4A2C". Como você se lembra dos capítulos anteriores, o sucesso e o tempo necessário para a força bruta da senha depende da complexidade da senha. A senha que usei aqui é potencialmente fraca - o suficiente para ser quebrada em um tempo relativamente razoável. Em ambientes reais, você só deve ver a senha, que tem mais de 10 caracteres e todos os tipos de sinais alfanuméricos incluídos - dessa forma, levaria anos para aplicá-la à força bruta.
Da mesma forma que no último exemplo, começaremos com airodump-ng, para coletar passivamente algumas informações sobre a WLAN.
Como você pode observar, na verdade ele tem SSID "LAB-test" protegido com WPA2 com criptografia CCMP. O cliente conectado ao LAB-test é atualmente meu outro PC com endereço MAC de 84: A6: C8: 9B: 84:76.
O primeiro passo é permitir a detecção do tráfego (não nos importamos muito com os pacotes de dados desta vez) O teste LAB é para coletar o handshake inicial de 4 vias entre o AP e o cliente sem fio (meu PC).
Como você pode ver abaixo, toda vez que um novo usuário entra na rede, o airodump está farejando o handshake de 4 vias.
Como temos esses apertos de mão coletados em um arquivo, estamos prontos para quebrar a senha. O único elemento que falta é um arquivo de dicionário com as possíveis senhas. Existem várias ferramentas que você pode usar como john, crunch ou você pode até baixar o arquivo de dicionário da internet. Neste exemplo, mostrarei crunch, mas fique à vontade para experimentar todas as soluções que você encontrar. Lembre-se, o céu é o limite.
Como você pode ver, crunchpode criar um dicionário para você. Vamos supor que queremos todas as senhas com números e letras de até 8 caracteres. E vamos supor que o número pode ser de 0 a 9 e as letras de A a F. Por que fazemos essas limitações (suposição sobre a senha)? - é porque, se você quiser ter um arquivo com todas as combinações de senha compostas pelos números 0-9, letras az e AZ, você precisa de um espaço de 18566719 GB (!!!).
Portanto, primeiro criamos todas as combinações e as colocamos em um arquivo de dicionário.
Em seguida, fazemos referência a este arquivo de dicionário usando o aircrack utilitário para tentar derivar a chave certa, da seguinte maneira -
O aircrack-ng encontrou 8 BSSIDs no arquivo, portanto ele pergunta a você - qual é a WLAN que você deseja crackear - referenciei o número 2 - rede "LAB-test".
Verificar cada uma das senhas, uma por uma, é um processo muito longo. O tempo para encontrar uma senha correta depende de quão longe em um arquivo de dicionário a senha é colocada (se você tiver sorte, você pode encontrar a senha em sua primeira tentativa, se a senha for colocada na 1ª linha do arquivo de dicionário). Neste exemplo, como podem ver, encontrei a senha, mas demorou 8 horas e 47 minutos (!!!). Usar uma senha de 10 caracteres em vez de 8 aumentaria o tempo provavelmente para dias ou semanas.
Você deve ter em mente que quanto mais longo o dicionário, mais tempo demorará para quebrar a senha. E, como sublinhei algumas vezes antes, se a senha for muito complexa e longa, não é computacionalmente viável executar cracking (no tempo limitado, digamos menos de 10 anos).