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
CTF-CVE-2022-0847 — Desafio CTF que implanta o exploit CVE-2022-0847 (Dirty Pipe) para sobrescrever arquivos somente leitura. Inclui scripts de configuração, dicas e verificação para prática de exploração do kernel. | Kitploit
Ferramentas/GitHubGitHub/justinye377/ctf-cve-2022-0847
Escalada de PrivilégiosExploraçãoCTFAprendizado e EducaçãoExploração de BináriosLabs e Prática
GitHubjustinye377/ctf-cve-2022-0847

CTF-CVE-2022-0847

Desafio CTF que implanta o exploit CVE-2022-0847 (Dirty Pipe) para sobrescrever arquivos somente leitura. Inclui scripts de configuração, dicas e verificação para prática de exploração do kernel.

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

Dirty Pipe Deployment

Para este desafio, você quer sobrescrever o arquivo somente leitura "cat.txt" usando o exploit CVE-2022-0847 Existem muitas maneiras de fazer isso usando o exploit

Dependências

  • Kernel Linux versão 5.8 ou posterior (vulnerável)
  • gcc (GNU Compiler Collection) para compilar o código do exploit

Configuração Inicial

  1. Configure um Ambiente Vulnerável:
  • Para Usuários Linux:
    • Use uma distribuição Linux com versão do kernel 5.8 ou mais recente, mas abaixo das versões corrigidas:
    • As versões corrigidas incluem 5.16.11, 5.15.25 e 5.10.102.
    • Verifique a versão do kernel no seu sistema executando: uname -r
    • Se o seu kernel já estiver corrigido, pode ser necessário fazer downgrade ou usar uma instalação Linux diferente para atender aos critérios de vulnerabilidade.
  • Para Usuários Windows:
    • Instale uma Máquina Virtual:
      • Baixe e instale uma máquina virtual como Oracle VM VirtualBox ou VMware.
    • Baixe uma Distribuição Linux Vulnerável:
      • Acesse os Arquivos do Kali Linux para baixar uma versão antiga do Kali Linux.
      • Versões sugeridas incluem qualquer lançamento com kernel 5.8 - 5.15 (ex.: Kali 2021.1).
    • Alternativamente, outras distribuições Linux com versões de kernel compatíveis funcionarão (ex.: versões antigas do Ubuntu ou Debian).
  • Configure a VM:
    • Crie uma nova máquina virtual no VirtualBox:
    • Aloque pelo menos 2 GB de RAM e 10 GB de espaço em disco.
    • Use o arquivo ISO baixado para instalar a distribuição Linux.
    • Após a instalação, confirme a versão do kernel executando: uname -r
  • Instale as Ferramentas Necessárias:
    • Após configurar o ambiente, certifique-se de que as seguintes ferramentas estão instaladas:
      • gcc: Necessário para compilar o código do exploit.
      • make: Para construir projetos, se necessário.
      • Atualize seu gerenciador de pacotes e instale as ferramentas: sudo apt update sudo apt install gcc make -y

Iniciando o Desafio

  1. Inicie: Certifique-se de verificar a versão do kernel! Usando este link do github (https://github.com/basharkey/CVE-2022-0847-dirty-pipe-checker.git)

Verifique se o arquivo cat.txt é somente leitura

As limitações são: o atacante deve ter permissões de leitura (porque precisa usar splice() para enviar uma página para um pipe) o deslocamento não deve estar em um limite de página (porque pelo menos um byte dessa página deve ter sido enviado para o pipe) a escrita não pode cruzar um limite de página (porque um novo buffer anônimo seria criado para o restante) o arquivo não pode ser redimensionado (porque o pipe tem seu próprio gerenciamento de preenchimento de página e não informa ao cache de página quantos dados foram anexados)

  1. Implante o Exploit:
  • Crie um pipe.

  • Preencha o pipe com dados arbitrários (para definir o flag PIPE_BUF_FLAG_CAN_MERGE em todas as entradas do anel).

  • Drene o pipe (deixando o flag definido em todas as instâncias struct pipe_buffer no anel struct pipe_inode_info).

  • Use splice() para enviar dados do arquivo alvo (aberto com O_RDONLY) para o pipe a partir de antes do deslocamento alvo.

  • Escreva dados arbitrários no pipe; esses dados substituirão a página do arquivo em cache em vez de criar um novo struct pipe_buffer anônimo porque PIPE_BUF_FLAG_CAN_MERGE está definido.

  • Sobrescreva o cat.txt, altere I'm a cat 1444 para I'm a dog 2025

  • Use check_cat.sh para verificar se funcionou ou não chmod +x check_cat.sh ./check_cat.sh

Regeneração do Desafio

Use o seguinte chmod +x cat_generate.sh ./cat_generate.sh

Publicando o Desafio

As dicas estão em hints.txt

Baixar ferramenta