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
DirtyFrag-go — Uma implementação em Go de dirtyfrag (CVE-2026-43284 / CVE-2026-43500) | Kitploit
Ferramentas/GitHubGitHub/nonameuserosint-hue/dirtyfrag-go
Escalada de PrivilégiosExploraçãoExploração de Binários
GitHubnonameuserosint-hue/dirtyfrag-go

DirtyFrag-go

Uma implementação em Go de dirtyfrag (CVE-2026-43284 / CVE-2026-43500)

Ver Repositório
1há 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

dirtyfrag-go

Dois bugs. Um shell. Nenhuma escrita em disco.

Portabilidade em Go do dirtyfrag (CVE-2026-43284 / CVE-2026-43500).

Como funciona (tl;dr)

A classe dos bugs está no subsistema XFRM do kernel Linux. Quando uma página de arquivo é splice()ada em um pipe e depois em um socket criptografado com ESP, o kernel descriptografa o payload ESP in-place – diretamente na página de cache de páginas (page cache) do arquivo de origem. O arquivo é somente leitura. O cache de páginas não é.

dirtyfrag encadeia dois bugs independentes que exploram essa primitiva:

CVE-2026-43284 – Caminho ESP/XFRM

Instala 48 SAs (Associações de Segurança) do XFRM em modo transporte via NETLINK_XFRM. Cada SA codifica 4 bytes de payload de shellcode no campo seq_hi de seu estado de replay ESN. Uma cadeia vmsplice + splice dispara a descriptografia ESP in-place para cada SA, escrevendo esses 4 bytes na entrada de cache de páginas de /usr/bin/su. 48 disparos, 192 bytes escritos, sem condição de corrida.

CVE-2026-43500 – Caminho RxRPC/rxkad

Faz força bruta offline em 3 chaves de sessão PCBC(fcrypt) que produzem as sequências de bytes alvo quando descriptografadas. Dispara um gatilho de socket AF_RXRPC para cada chave a fim de corrigir a entrada root em /etc/passwd para root::0:0 (nullok). su - então aceita uma senha vazia.

Ambos os caminhos são executados em um namespace de usuário + rede (CLONE_NEWUSER | CLONE_NEWNET) para evitar a necessidade de CAP_NET_ADMIN no host.

Uso

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

# Forçar um caminho específico
./dirtyfrag-go --force-esp
./dirtyfrag-go --force-rxrpc

# Saída verbosa
./dirtyfrag-go -v

O binário tenta o caminho ESP primeiro. Se /usr/bin/su não for corrigido (patched) em seguida, ele recai para o caminho RxRPC (até 3 tentativas). Em caso de sucesso, ele entra em um shell root através de um novo PTY.

Limpeza

O exploit toca apenas o cache de páginas. Os binários em disco e /etc/passwd permanecem intactos. Uma reinicialização restaura tudo. Para remover imediatamente sem reiniciar:

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

Requisitos

  • Linux – kernel não corrigido (veja abaixo)
  • Nenhuma ferramenta externa ou payload pré-construído – Go puro, binário estático único
  • Módulos do kernel: esp4, esp6 (caminho ESP) e/ou rxrpc (caminho RxRPC)

Kernels afetados

Todos os kernels anteriores aos patches:

  • CVE-2026-43284: https://lists.openwall.net/netdev/2026/05/06/112
  • CVE-2026-43500: https://lists.openwall.net/netdev/2026/05/06/114

Mitigação

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

Comparado ao original

O runtime do Go é multi-threaded desde o início, portanto unshare(CLONE_NEWUSER) não é permitido. A portabilidade em Go se auto-re-executa como um processo filho com SysProcAttr.Cloneflags definido, o que chama clone() antes da inicialização do runtime Go.

Referências

  • V4bel/dirtyfrag – PoC original em C
  • CVE-2026-43284 – NVD
  • CVE-2026-43500 – NVD

Créditos

  • V4bel – descoberta das vulnerabilidades e PoC original
Baixar ferramenta
C (original)Go
Dependências externasnenhumanenhuma
Arquivo úniconãonão
Binário estáticosimsim
Caminho RxRPCsimsim
Caminho ESPsimsim
Isolamento de namespaceunshare()re-execução com Cloneflags