O convidado invisível: revelando a rede sem fio da empresa com Kali Linux e Raspberry Pi





Hoje veremos como testar a segurança da rede sem fio de uma empresa de maneira relativamente silenciosa. O Raspberry Pi será usado como base, que suporta a instalação do Kali Linux. Instalar a distribuição é bastante simples:



  • Baixe a imagem oficial em kali.org ;
  • Grave em um disco SD usando Win32image para Windows e Gparted para Linux;
  • Inicie o Raspberry Pi com o cartão SD instalado.


Depois de instalado, você pode opcionalmente atualizar os pacotes, se disponíveis. Mas nenhuma ação adicional é necessária para funcionar totalmente. O tamanho necessário do cartão de memória é de 8 GB ou superior. Para que o sistema funcione corretamente, é desejável usar um volume maior.



O artigo é apenas para fins informativos. Não infrinja a lei.


Agora, quando o sistema está pronto para funcionar, resta apenas configurar o lançamento dos programas na inicialização do sistema, pois presume-se que o Raspberry Pi será instalado diretamente no alcance do ponto de acesso desejado para coleta autônoma de dados de autorização de wi-fi. Existem muitas ferramentas para trabalhar com o WPA2-Personal, com vários graus de interatividade, mas o pacote Aircrack-ng é um clássico sem idade . Inclui vários módulos auxiliares que permitem que você teste totalmente as redes sem fio, desde a mudança da interface para o modo de monitor até a força bruta de uma senha. Em nosso caso, é necessário apenas interceptar handshakes de Wi-Fi e salvá-los para análise posterior.

Isso pode ser feito usando o agendador de tarefas crontab. As linhas correspondentes precisam ser adicionados para executar o wifi.sh e scripts de eaphammer.sh :







Wifi.sh vai mudar a interface sem fio para modo monitor e executar o airodump-ng ferramenta, poupando os apertos de mão WPA2-Personal encontrados em um arquivo para análise posterior.







No comando airodump-ng launch, é necessário especificar os parâmetros da interface wireless e o arquivo no qual os handshakes recebidos (dados que são transmitidos quando o usuário se conecta ao ponto de acesso) serão salvos usando a chave -w . Além disso, é recomendado especificar o BSSID (endereço MAC do ponto de acesso) usando a chave--bssid e o canal em que está rodando usando -c . Isso não é necessário, mas se você especificar, apenas os dados necessários serão interceptados.

O segundo script iniciará a ferramenta eaphammer projetada para sequestrar credenciais ao usar o protocolo WPA2-Enterprise.







A ferramenta funciona segundo o princípio de um "gêmeo do mal", portanto, nos parâmetros de inicialização da ferramenta é necessário indicar:



  • -i é o nome da interface de rede. Se várias ferramentas estiverem sendo executadas simultaneamente usando uma rede sem fio, interfaces adicionais devem ser adicionadas;
  • --essid - nome do ponto de acesso;
  • --canal - canal no qual o ponto de acesso opera;
  • --auth - método de autenticação;
  • --creds - coleção de contas.


Além disso, para realizar um ataque, você precisa gerar um certificado executando o comando ./eaphammer --cert-wizard . No menu interativo, você pode especificar absolutamente qualquer informação, isso não afetará a qualidade do ataque.







Salvamos as configurações e, no futuro, os scripts serão executados junto com a inicialização do sistema.



Testando



Para realizar o teste, você precisa posicionar o Raspberry Pi de qualquer maneira conveniente dentro do alcance do ponto de acesso para que ninguém perceba enquanto os dados estão sendo coletados. A instalação precisa fornecer fonte de alimentação de 5 V e 2-2,5 A para funcionar. Tendo excluído a possibilidade de usar um adaptador para conectar a uma tomada, você precisa pensar em uma bateria do tipo powerbank para garantir uma operação ininterrupta durante todo o teste.

No final, resta apenas pegar a instalação e analisar os dados obtidos. Ao usar o eaphammer, os dados serão gravados como um aperto de mão na pasta de loot, que está localizado no mesmo lugar que a própria ferramenta, mas é melhor jogar pelo seguro e adicionar redirecionamento de saída para gravar em algum arquivo no script de inicialização da ferramenta. Então a análise será apenas para encontrar as credenciais no arquivo de saída.







Se fosse possível interceptar dados para se conectar ao WPA2-Personal, tudo o que resta é tentar adivinhar a senha usando um dicionário. A enumeração pode ser realizada usando diferentes ferramentas:



  • usando Aircrack-ng ;
  • a ferramenta Pyrit , que permite que você use ao olhar através do poder de uma placa de vídeo;
  • CowPatty - Fornece tabelas arco-íris de força bruta.


E também com a ajuda de ferramentas de força bruta bastante populares:





As tabelas do arco-íris são hashes especialmente calculados, usados ​​para recuperar senhas muito rapidamente. Eles são bancos de dados nos quais um hash pré-calculado corresponde a uma senha. Se falarmos sobre Wi-Fi, o cálculo das tabelas de arco-íris leva tanto tempo quanto um ataque de força bruta normal, mas a busca por uma senha usando uma tabela de arco-íris já criada levará alguns segundos. Portanto, se você precisar verificar apenas um handshake para um ponto de acesso, não haverá diferença entre as senhas de força bruta e a compilação de rainbow tables. O uso de rainbow tables só faz sentido ao testar dois ou mais handshakes, já que o teste de vários handshakes em rainbow tables leva o mesmo tempo que um teste.Também vale a pena observar uma desvantagem significativa das tabelas rainbow - elas ocupam muito espaço, muito mais do que um dicionário normal com senhas.



Se compararmos o desempenho de ferramentas que permitem usar a potência da CPU e GPU na pesquisa, então a diferença entre, por exemplo, Aircrack-ng e Hashat será bastante significativa. Mesmo se compararmos os modos de força bruta usando as potências de CPU e GPU separadamente quando força bruta através de Hashcat, então no primeiro caso, usando, por exemplo, uma CPU Xeon E5450, a velocidade será de ~ 3500 PMK / s, e ao usar uma GPU, por exemplo, GTX 1050Ti, a velocidade aumentará para ~ 130.000 PMK / s.



Com base no fato de que apenas um handshake foi interceptado, seria mais conveniente usar a força bruta da senha usando Aircrack-ng... Como inicialmente foi indicado apenas o número do canal para o qual foram capturados os handshakes, na leitura do dump será indicada a lista de pontos de acesso que atuam neste canal, bem como a informação sobre se foi recebido um handshake para algum deles.







Selecionamos a rede " PTT " de interesse e o processo de pesquisa é iniciado. Existem muitos recursos diferentes na Internet onde você pode encontrar um dicionário de seu interesse, por exemplo, aqui ou aqui .



Além de recursos abertos, existem ferramentas especializadas para gerar seus próprios dicionários. Um deles é o Crunch , que é bastante simples de usar:



crunch 8 9 1234567890 -o wordlist.txt
      
      





Onde



  • 8 9 - comprimento mínimo e máximo das senhas no dicionário;
  • 1234567890 - símbolos usados. É permitido usar números e letras e caracteres especiais;
  • -o é o arquivo no qual todas as variantes serão gravadas.


Como resultado, a senha acabou sendo " senha ".







Dicas para reduzir a possibilidade de comprometer sua rede sem fio



  • ao usar WPA2-Personal, o comprimento recomendado da senha deve ser maior do que o mínimo de 8 caracteres; além disso, o uso de senhas de dicionário reduz significativamente o tempo para adivinhá-las. Em 2020, algumas das senhas de 8 caracteres mais populares ainda eram “12345678” e “senha”;
  • MAC- . , , , MAC- , . MAC- . , « » , ;
  • . . . (VLAN) ;
  • ;
  • WPA2-Enterprise, , ;
  • (WIPS). / . OSI, WIPS , “ ”.







All Articles