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
CVE-2017-5123 — exploit do kernel linux | Kitploit
Ferramentas/GitHubGitHub/floatingguy/cve-2017-5123
Escalada de PrivilégiosAnálise de VulnerabilidadesExploraçãoAprendizado e EducaçãoExploração de Binários
GitHubfloatingguy/cve-2017-5123

CVE-2017-5123

exploit do kernel linux

Ver Repositório
1444há 8 anosAinda 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-2017-5123

Escalação de privilégios no Linux explorando a chamada de sistema waitid. O exploit é trazido a você por @XeR_0x2A e @chaign_c do HexpressoTeam apenas para fins educacionais.
O bug foi introduzido em 21/05/2017 e corrigido em 09/10/2017, sabendo-se que 4.14.0-rc4+ está vulnerável.

asciicast

Se você tem um nível iniciante/intermediário em escrita de exploits, encorajamos você a explorá-lo sozinho antes de ler nossa implementação. É um exercício muito bom com uma primitiva de exploração fácil (escrita arbitrária em memória do kernel gravável).
Também desafiamos @LiveOverflow a tentar.

Aqui está a descrição:

oss-security:
Olá,

Chris Salls descobriu que, quando a chamada de sistema waitid() no kernel Linux
v4.13 foi refatorada, acidentalmente deixou de verificar se o
argumento recebido apontava para o espaço do usuário. Isso permitiu que
atacantes locais escrevessem diretamente na memória do kernel, o que poderia
levar à escalação de privilégios.

Introduzido por este commit:
https://git.kernel.org/linus/4c48abe91be03d191d0c20cc755877da2cb35622

Corrigido com este commit na árvore principal:
https://git.kernel.org/linus/96ca579a1ecc943b75beba58bebb0356f6cc4b51

Isso deve ser corrigido no -stable free (no futuro v4.13.7) em breve:
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/log/?h=linux-4.13.y

Obrigado,

Spoiler !

waitid:
waitid -- espera que um processo filho mude de estado.

root@kitploit:~
int waitid(idtype_t idtype, id_t id, siginfo_t *infop, int options);

O kernel não verifica se infop é um ponteiro do kernel ou do espaço do usuário, então podemos sobrescrever memória de qualquer página de memória do kernel com permissões de escrita. A parte divertida é que controlamos apenas parcialmente o que é escrito.
Existem mais de mil maneiras de explorar isso. Decidimos transformar essa primitiva de escrita em uma desreferência de ponteiro nulo. Sobrescrevemos a variável have_canfork_callback na seção .BSS do kernel. Definir esta variável para qualquer coisa diferente de 0 (verdadeiro) fará com que um callback não definido (nulo) seja "chamado em uma nova tarefa antes de o processo ser exposto".

Agradecemos a Chris Salls e @kees_cook por compartilharem o CVE.

Primeiro exploit "no mundo real" do kernel Linux de @XeR_0x2A e @chaign_c do HexpressoTeam.

[email protected]
[email protected]

2017-10-22

Baixar ferramenta