
Testador automatizado de vulnerabilidades para clientes Wi-Fi e pontos de acesso, que detecta falhas de fragmentação/agregação FragAttacks por meio de injeção de quadros, testes em modo misto e análise de captura de pacotes.
Este repositório contém a ferramenta FragAttacks. Ela pode testar clientes Wi-Fi e pontos de acesso para ataques de fragmentação e agregação. Essas vulnerabilidades afetam todas as redes Wi-Fi protegidas. Para mais informações sobre essas vulnerabilidades, consulte fragattacks.com.
Os seguintes recursos adicionais estão disponíveis:
Consulte o registro de alterações para uma visão geral detalhada das atualizações da ferramenta feitas desde 11 de agosto de 2020. Esse registro de alterações também contém informações sobre em qual versão do hostap a ferramenta FragAttacks se baseia.
Observe que os ataques são idênticos contra WPA2 e WPA3 porque seus cifradores de criptografia CCMP e GCMP são idênticos. Redes WPA mais antigas usam TKIP por padrão para criptografia, e a aplicabilidade dos ataques contra TKIP é discutida no artigo e no site. Para ilustrar que o Wi-Fi é vulnerável desde a sua criação, o artigo e o site também discutem brevemente a aplicabilidade dos ataques contra WEP.
Apenas placas de rede sem fio específicas são suportadas. Isso porque algumas placas de rede podem sobrescrever o número de sequência ou de fragmento de quadros injetados, ou podem reordenar quadros de prioridades diferentes, e isso interfere na ferramenta de teste (ou seja, a ferramenta pode indicar que um dispositivo é seguro quando não é). Eu confirmei que as seguintes placas de rede funcionam corretamente:
| Placa de Rede | USB | 5GHz | modo misto | modo de injeção |
|---|---|---|---|---|
| Technoethical N150 HGA | Sim | Não | driver/firmware corrigido | driver/firmware corrigido |
| TP-Link TL-WN722N v1.x | Sim | Não | driver/firmware corrigido | driver/firmware corrigido |
| Alfa AWUS036NHA | Sim | Não | driver/firmware corrigido | driver/firmware corrigido |
| Intel Wireless-AC 8265 | Não | Sim | driver corrigido | sim |
| Intel Wireless-AC 3160 | Não | Sim | driver corrigido | sim |
| Alfa AWUS036ACM | Sim | Sim | driver corrigido | sim |
| Netgear WN111v2 | Sim | Não | driver corrigido | sim |
| Alfa AWUS036ACH | Sim | Sim | não | sim |
As duas últimas colunas significam:
Modo misto: se a placa de rede pode ser usada no modo misto recomendado.
Modo de injeção: se a placa de rede pode ser usada como uma segunda interface para injetar quadros no modo de injeção.
Sim indica que a placa funciona imediatamente no modo indicado. Driver/firmware corrigido significa que a placa é compatível quando usada com drivers e/ou firmware corrigidos. Não significa que esse modo não é suportado pela placa de rede. Recomendo usar a ferramenta de teste no modo misto.
Observe que dispositivos USB podem ser usados dentro de uma máquina virtual, e os drivers e/ou firmware modificados podem ser instalados nessa máquina virtual. No entanto, descobri que o uso de máquinas virtuais pode tornar as placas de rede menos confiáveis e, em vez disso, recomendo o uso de uma imagem USB ao vivo se você não puder instalar os drivers/firmware modificados nativamente.
Minha experiência com as placas de rede acima pode ser encontrada aqui. Resumidamente:
O AWUS036ACM no modo misto parece confiável com nossos drivers mais recentes e é o que eu recomendo. Um dispositivo mais barato, mas quase idêntico, é um com chipset MT7612U. Veja mais informações aqui.
Eu recomendava anteriormente o Technoethical N150 HGA no modo misto. Este dongle é idêntico ao TP-Link TL-WN722N v1.x e exige o uso de drivers e firmware corrigidos. É um dos dongles mais bem testados, mas é difícil de encontrar. Por isso, agora recomendo o AWUS036ACM.
Os Intel 3160 e 8265 são suportados e amplamente testados. Às vezes, o firmware deles travava, mas uma reinicialização torna a placa de rede utilizável novamente. O Intel AX200 não é compatível com a ferramenta de teste.
O WN111v2 parece funcionar bem, embora eu não o tenha testado extensivamente.
O driver para o AWUS036ACH não faz parte do kernel Linux e exige a instalação de um driver separado. No Kali, você pode instalar esse driver pelo gerenciador de pacotes. Esta placa não foi extensivamente testada.
Se você não conseguir encontrar uma das placas de rede acima, pode procurar por placas de rede alternativas que tenham grandes chances de também funcionar. Ao usar uma placa de rede que não é explicitamente suportada, recomendo fortemente executar primeiro os testes de injeção antes de usá-la, e usar a ferramenta contra uma implementação conhecidamente vulnerável para confirmar que a ferramenta funciona corretamente.
A ferramenta de teste foi testada no Ubuntu 20.04 usando o kernel 5.8. Se você usar outra distribuição Linux, observe que apenas versões de kernel iguais ou inferiores a 5.12 são suportadas.
Ao usar o Ubuntu 20.04, você primeiro precisará instalar o kernel 5.8 da seguinte forma. Observe que o seu kernel existente continuará instalado e também continuará sendo usado por padrão:
sudo apt install linux-image-5.8.0-63-generic linux-headers-5.8.0-63-generic linux-hwe-5.8-headers-5.8.0-63 \
linux-modules-5.8.0-63-generic linux-modules-extra-5.8.0-63-generic
Agora reinicie o Ubuntu, segure a tecla Shift durante a inicialização, selecione "Advanced options for Ubuntu" e inicie o kernel 5.8 escolhendo "Ubuntu, with Linux 5.8.0-63-generic". Você pode editar a configuração do GRUB para que o Ubuntu use essa versão do kernel por padrão. Continue as próximas instruções com esse kernel agora em execução.
Instale as dependências necessárias: