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
Ferramentas/GitHubGitHub/gogooma125732/cve-2016-5195
Escalada de PrivilégiosAnálise de VulnerabilidadesAnálise de CódigoExploraçãoPapers e PesquisaAprendizado e Educação
GitHubgogooma125732/cve-2016-5195

CVE-2016-5195

Arcabouço de análise e validação não armamentizado do CVE-2016-5195 (Dirty COW) com pesquisa de causa raiz, revisão do patch upstream e PoC seguro apenas para laboratório em kernels confirmados.

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

CVE-2016-5195: Condição de Corrida no Kernel Linux Dirty COW

Pesquisa defensiva, validação não armamentizada e análise de patch para CVE-2016-5195 (Dirty COW), uma condição de corrida de copy-on-write do kernel Linux que pode permitir que um usuário local modifique dados associados a um mapeamento somente leitura e obtenha privilégios elevados.

CampoValor
ComponenteGerenciamento de memória do kernel Linux / get_user_pages()
FraquezaCWE-362: Concurrent Execution using Shared Resource with Improper Synchronization
GravidadeAlta, CVSS 3.1: 7.0
VetorCVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Pré-requisito de ataqueAcesso local de baixo privilégio
Correção upstream19be0eaffa3ac7d8eb6784ad9bdbc7d67ed8e619
Primeira versão upstream corrigidaLinux 4.8.3; backports das distribuições variam

Visão Geral

Dirty COW é uma corrida no tratamento pelo kernel Linux de escritas forçadas e mapeamentos copy-on-write (COW). Um usuário local pode disputar a invalidação de páginas contra uma escrita via /proc/self/mem. Em um kernel afetado, a corrida pode fazer com que dados associados a um mapeamento privado nominalmente somente leitura sejam gravados de volta no arquivo subjacente.

O impacto público é a escalada local de privilégios quando um atacante consegue aplicar a primitiva a um arquivo sensível à segurança. A vulnerabilidade foi explorada ativamente em outubro de 2016. Este repositório não automatiza esse caminho de escalada.

Estrutura do Repositório

CaminhoFinalidade
poc.cValidação não armamentizada usando apenas um inode temporário desvinculado
exploit.cPrimitiva de escrita em arquivo arbitrário para um laboratório descartável autorizado
ROOT_CAUSE.mdAnálise detalhada da transição de estado vulnerável e da corrida
VULNERABILITY_REPORT.mdPré-condições, causa raiz, impacto e remediação
PATCH_ANALYSIS.mdAnálise linha por linha da correção upstream FOLL_COW
evidence/Saída de validação estruturada e notas de interpretação

Harness de Validação Segura

O harness padrão é intencionalmente limitado:

  • ele não aceita caminho de destino nem payload controlado pelo atacante;
  • ele cria um arquivo temporário com modo 0600 e o desvincula imediatamente;
  • ele disputa apenas o inode descartável ainda aberto;
  • ele não faz conexão de rede e não executa nenhum comando; e
  • ele reporta um marcador benigno fixo.

Compilar

root@kitploit:~
cc -std=c11 -Wall -Wextra -Wpedantic -Werror -O2 \
  poc.c -o dirtycow-safe -pthread

A primitiva de exploit exclusiva de laboratório pode ser compilada separadamente:

root@kitploit:~
cc -std=c11 -Wall -Wextra -Wpedantic -Werror -O2 \
  exploit.c -o dirtycow-exploit -pthread

Executar em um sistema Linux de teste isolado

root@kitploit:~
./dirtycow-safe

Contagem opcional de iterações limitadas:

root@kitploit:~
./dirtycow-safe --iterations 5000000

Resultados possíveis:

  • marker-observed: comportamento vulnerável foi observado no inode descartável.
  • marker-not-observed: inconclusivo. Uma corrida que não dispara não prova que o kernel está corrigido.
  • saída 77: a interface Linux /proc/self/mem necessária está indisponível.

Não use o resultado do PoC como verificação primária do status do patch. Consulte o aviso do pacote de kernel da distribuição em execução e verifique se o kernel corrigido está ativo após a reinicialização.

Primitiva de Exploit

exploit.c aceita um arquivo explícito e um prefixo de substituição e demonstra a primitiva de escrita em arquivo arbitrário em um kernel afetado. Exige a confirmação literal --i-understand, aplica limites máximos de payload e iterações e não constrói um payload de escalada de privilégios.

O arquivo selecionado pode ser modificado permanentemente. Use-o apenas em um laboratório descartável e isolado que você possua ou para o qual esteja explicitamente autorizado a testar. A análise completa da corrida e das transições de estado está em ROOT_CAUSE.md.

Evidências

evidence/evidence.json registra as assinaturas de código-fonte observadas nas revisões oficiais do Linux antes e depois da correção, o resultado da compilação do PoC sem avisos e as propriedades de segurança da validação. evidence/validation.log fornece um resumo conciso. A validação capturada não executou a corrida.

Remediação

Instale a atualização de kernel fornecida pelo fornecedor e reinicie no kernel corrigido. Não decida a exposição apenas pela string de versão upstream: kernels empresariais e de distribuições comumente fazem backport da correção sem adotar o número de versão upstream. Contêineres usam o kernel do host; portanto, a remediação deve cobrir o host.

Consulte PATCH_ANALYSIS.md para a alteração upstream exata e VULNERABILITY_REPORT.md para orientações de validação.

Referências

  • NVD: CVE-2016-5195
  • Correção upstream do Linux
  • Changelog do Linux 4.8.3
  • Catálogo de Vulnerabilidades Exploradas Conhecidas da CISA
  • Registro CVE da Red Hat

Use este material apenas em sistemas que você possua ou para os quais esteja explicitamente autorizado a testar.

Baixar ferramenta