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-2024-48990 — Exploit para CVE-2024-48990 (Escalada de privilegios local en needrestart < 3.8) | Kitploit
Herramientas/GitHubGitHub/ns989/cve-2024-48990
Escalada de PrivilegiosAnálisis de VulnerabilidadesExplotaciónPruebas de PenetraciónRed Teaming
GitHubns989/cve-2024-48990

CVE-2024-48990

Exploit para CVE-2024-48990 (Escalada de privilegios local en needrestart < 3.8)

Ver Repositorio
5hace 1 añoAú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-2024-48990

Exploit para CVE-2024-48990 (Escalada de privilegios local en needrestart < 3.8)

Antecedentes

Lee https://blog.qualys.com/vulnerabilities-threat-research/2024/11/19/qualys-tru-uncovers-five-local-privilege-escalation-vulnerabilities-in-needrestart. Qualys hace un gran trabajo explicándolo.

TLDR;

En sistemas con needrestart anterior a 3.8, los usuarios locales pueden ejecutar código arbitrario y escalar privilegios a root sin interacción del usuario.

Screenshot from 2024-11-21 20-07-48

Exploit

El exploit tal como está escrito ahora añadirá un nuevo usuario llamado "_daemon" al sistema con UID/GID de 0 (root) mediante un comando sed para editar el archivo /etc/passwd. La contraseña es la misma que el nombre de usuario. Ni siquiera estoy seguro de que puedas llamarlo exploit, ya que es solo una biblioteca compartida que ejecuta un solo comando.

Para compilar el exploit por ti mismo, ejecuta lo siguiente:

gcc exploit.c -o exploit.so -shared -fPIC -s

1. Crea un directorio para almacenar los archivos del exploit. El directorio que crees debe tener un subdirectorio llamado "importlib"

mkdir -p /tmp/.X11-Unix/importlib

2. Inicia un proceso que active el exploit

Podrías ejecutar cualquier script de python de larga duración. Pero para parecer menos sospechoso en la lista de procesos, puedes usar este comando de una sola línea para iniciar un intérprete de python que se suspende tan pronto como se inicia (por lo que nunca llega a ejecutar nada).

  • PYTHON - La ruta al intérprete de python

  • ARGV - La cadena que aparecerá en la lista de procesos

  • PYPATH - La ruta al directorio que creaste (sin incluir el directorio importlib)

Para ARGV, asegúrate de que:

  • la ruta al intérprete de python sea el primer argumento en ARGV

  • el segundo argumento (el "script") sea un archivo que realmente exista en el sistema (needrestart lo comprueba). No tiene que ser un script de python real.

  • el segundo argumento no sea el mismo que el de un proceso que ya se está ejecutando (needrestart usará el que está "en caché" y que ya ha visto).

Aparte de eso, puedes jugar con ARGV tanto como quieras. ¿Quizás hacer que parezca un proceso normal del sistema?

PYPATH=/tmp/e/ PYTHON=/usr/bin/python3 ARGV='/usr/bin/python3 /usr/bin/networkd-dispatcher --run-startup-triggers' python3 -c 'import os,ctypes; libc=ctypes.CDLL("libc.so.6"); pid=os.fork(); exit() if pid > 0 else print("\n",os.getpid()); libc.ptrace(0, 0, 0, 0); os.execvpe(os.environ["PYTHON"], os.environ["ARGV"].split(), {"PYTHONPATH":os.environ["PYPATH"]})'

3. Mueve el objeto compartido del exploit al lugar correcto

Debe estar dentro del directorio importlib y llamarse "init.so"

mv /tmp/exploit.so /tmp/.X11-Unix/importlib/__init__.so

4. Espera a que needrestart haga lo suyo

La próxima vez que needrestart se ejecute (es decir, cuando una actualización con apt o unattended upgrades lo inicie), ejecutará python con la variable PYTHONPATH de nuestro proceso y cargará el archivo init.so, que ejecutará nuestro comando. Podrás iniciar sesión con las credenciales _damon:_daemon.

Cosas que pueden impedir que el exploit funcione

needrestart no es completamente tonto y comprueba varias cosas al escanear procesos y antes de entrar en la parte vulnerable del código

  • ¿Es el proceso un script de python en ejecución? Si no lo es, lo omite (los procesos de python -c se omiten)
  • ¿El proceso ya ha sido visto? No se puede hacer una copia exacta de otro proceso (por ejemplo, unattended-upgrade-shutdown o networkd-dispatcher) o se omitirá.
  • Si /etc/needrestart/needrestart.conf tiene "$nrconf{interpscan}" establecido en "0", no hay suerte.
Descargar herramienta