Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Fragnesia-go — Uma implementação em Go do fragnesia (CVE-2026-46300) | Kitploit
Ferramentas/GitHubGitHub/nonameuserosint-hue/fragnesia-go
Escalada de PrivilégiosExploraçãoExploração de Binários
GitHubnonameuserosint-hue/fragnesia-go

Fragnesia-go

Uma implementação em Go do fragnesia (CVE-2026-46300)

Ver Repositório
há 3 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

fragnesia-go

Uma SA. Um byte de cada vez. Sem corrida.

Port em Go do fragnesia (CVE-2026-46300). Membro da classe de vulnerabilidades Dirty Frag - bug separado, mesma superfície, patch próprio.

Como funciona (tl;dr)

O bug está no subsistema XFRM ESP-in-TCP do Linux. Quando TCP_ULP espintcp é instalado em um socket depois que os dados já foram transferidos por splice() de um arquivo para a fila de recebimento do TCP, o kernel trata os dados enfileirados como um registro de texto cifrado ESP e os descriptografa in-place. A origem desses dados é uma página do page cache. A descriptografia aplica XOR do keystream AES-GCM diretamente nela.

O resultado é uma escrita controlada de um único byte no page cache de qualquer arquivo legível.

Tabela do keystream

O bloco de contador AES-GCM (RFC 4106) na posição 2 é [salt(4) || IV(8) || 0x00000002]. Criptografar esse bloco com a chave de sessão gera um bloco de keystream de 16 bytes. O byte 0 desse bloco é o que sofre XOR com o byte de destino. Variando os 32 bits inferiores do nonce do IV, todos os 256 valores possíveis de byte do keystream são alcançáveis dentro dos primeiros 65536 nonces. O exploit constrói essa tabela de consulta uma única vez na inicialização via AF_ALG AES-ECB.

Loop de byte-flip

Para cada byte do payload:

  1. Leia o valor atual do arquivo (page cache).
  2. Calcule needed_keystream = current XOR desired.
  3. Busque o nonce para esse byte do keystream.
  4. Defina o IV e dispare um par de gatilhos TCP (o remetente faz splice da página do arquivo no socket; o receptor atrasa a instalação do TCP_ULP até que os dados sejam enfileirados).
  5. Resultado: current XOR keystream = current XOR (current XOR desired) = desired.

Uma SA. No máximo 192 gatilhos. Determinístico.

Uso

root@kitploit:~
go build -o fragnesia-go .
./fragnesia-go

Em caso de sucesso, ele entra em um shell root por meio de um novo PTY. O binário em disco não é alterado - apenas o page cache.

Limpeza

root@kitploit:~
echo 1 | tee /proc/sys/vm/drop_caches

Requisitos

  • Linux - kernel sem patch (veja abaixo)
  • Sem ferramentas externas - Go puro, binário estático único
  • Módulo do kernel: esp6 (modo de transporte, loopback IPv6)

Kernels afetados

Todos os kernels anteriores ao patch: https://lists.openwall.net/netdev/2026/05/13/79

Mesma faixa do dirtyfrag.

Mitigação

Igual à do dirtyfrag:

root@kitploit:~
rmmod esp4 esp6
printf 'install esp4 /bin/false\ninstall esp6 /bin/false\n' \
  > /etc/modprobe.d/fragnesia.conf

Comparação com dirtyfrag-go

Referências

  • v12-security/pocs - fragnesia - PoC original em C
  • CVE-2026-46300 - Red Hat
  • Patch do kernel

Créditos

  • William Bowling / equipe V12 - descoberta da vulnerabilidade e PoC original
Baixar ferramenta
dirtyfrag-gofragnesia-go
CVEsCVE-2026-43284 / CVE-2026-43500CVE-2026-46300
TransporteESP-in-UDP + RxRPCESP-in-TCP (ULP)
Granularidade de escrita4 bytes por gatilho1 byte por gatilho
SAs XFRM481
CriptografiaHMAC-SHA256 + CBC-AESAES-128-GCM
Família IPIPv4IPv6