Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-99999 — Sonda em Go que reproduz o bug de checksum-offload IPv4 do Linux PwnEscape em um TAP preparado, injetando cabeçalhos virtio forjados e verificando a cópia fora dos limites do cabeçalho do fragmento. | Kitploit
Ferramentas/GitHubGitHub/perongh/cve-2026-99999
Sniffing e Análise de PacotesAnálise de VulnerabilidadesExploraçãoSegurança de RedeLabs e Prática
GitHubperongh/cve-2026-99999

CVE-2026-99999

Sonda em Go que reproduz o bug de checksum-offload IPv4 do Linux PwnEscape em um TAP preparado, injetando cabeçalhos virtio forjados e verificando a cópia fora dos limites do cabeçalho do fragmento.

Ver Repositório
2231há 20 diasRevisado pelo Kitploit

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

Sonda de laboratório CVE-2026-99999

Sonda em Go para o bug de checksum-offload IPv4 do Linux conhecido como PwnEscape. Ela se conecta a um TAP que você já preparou e verifica se o fragmentador do host confia em um cabeçalho IPv4 reescrito por skb_checksum_help.

A sonda lida com injeção e captura de pacotes. scripts/setup.sh prepara as interfaces do laboratório, as configurações de sysctl e a regra nftables dentro do network namespace pwnesc. scripts/teardown.sh remove o laboratório.

O que ela verifica

Em um kernel que ainda completa um checksum parcial antes de ler ihl (reproduzido aqui no 6.18.54; corrigido no 6.18.57):

  1. Um cabeçalho de checksum virtio com csum_start=22 é aceito. Duas tags VID-0 são então removidas (14+4+4), de modo que a escrita do checksum recai sobre o byte de versão/IHL do IPv4.
  2. O primeiro byte muda de 0x45 para 0x4f. O fragmentador usa um cabeçalho de 60 bytes.
  3. Com defrag de conntrack e o -head 8 padrão, a cabeça linear tem 28 bytes, então a cópia do cabeçalho de 60 bytes lê 32 bytes além de skb_headlen, adentrando as opções IPv4 dos fragmentos de saída.

Isso exercita a primitiva de divulgação descrita no write-up do PwnEscape da PWN.AI. Com CONFIG_INIT_ON_ALLOC_DEFAULT_ON, o tailroom novo do slab pode aparecer como zeros nos bytes copiados.

Pré-requisitos

  • Um host de teste Linux ou VM com um kernel que completa checksums parciais antes de ler ihl
  • Go 1.27.1 ou mais recente
  • Privilégios de root para a configuração do laboratório e a sonda
  • ip, nft, sysctl
  • nf_conntrack e nf_defrag_ipv4 embutidos ou carregáveis
  • /dev/net/tun

Compilar e executar

A partir do diretório do repositório no host:

go build -o poc .
sudo ./scripts/setup.sh
sudo ip netns exec pwnesc ./poc

A sonda abre pwntap com IFF_TAP|IFF_NO_PI|IFF_VNET_HDR e captura a saída em pwnv1. Reserve pwntap para a sonda. A regra ct do nftables ativa a desfragmentação do conntrack, e pwnv0 usa MTU 200 para fragmentar novamente o datagrama remontado na saída.

Uma verificação de cabeçalho bem-sucedida imprime verify: first byte 0x4f ihl=15. A sonda então relata os fragmentos de saída, suas opções IPv4 e os bytes copiados além da cabeça linear.

Opções

  • -head (padrão 8): payload do fragmento de offset 0 em bytes; um múltiplo de 8 de 8 até 40. A cópia esperada além da cabeça linear é de 40 - head bytes.
  • -rest (padrão 400): payload do fragmento de conclusão em bytes; pelo menos 16.
  • -spray (padrão 0): número de frames do mesmo tamanho alocados imediatamente antes do fragmento de offset 0.
  • -spray-fill (padrão 0xee): byte usado para preencher esses frames.
  • -page: usa uma cabeça page_frag, cujo tail pode conter metadados de skb. O padrão é uma cabeça de slab.
  • -skip-verify: vai diretamente para a verificação do datagrama fragmentado.

PWN_TAP seleciona a interface TAP (padrão pwntap). PWN_CAP seleciona a interface de captura (padrão pwnv1). O script de configuração usa esses nomes padrão.

Limpeza

Depois que a sonda terminar, saia de quaisquer shells em pwnesc e execute a partir do host:

sudo ./scripts/teardown.sh

Isso exclui pwnesc junto com suas interfaces, a tabela nftables ip pwn e as configurações de sysctl locais do namespace.

Baixar ferramenta