
Exploit per Apache NiFi CVE-2023-34468, che mira a una vulnerabilità nelle versioni 1.21.0 e precedenti per dimostrare l'accesso ai dati e il compromesso del sistema.
[][nifi]
Apache NiFi è un sistema facile da usare, potente e affidabile per elaborare e distribuire dati.
Apache NiFi è stato creato per il dataflow. Supporta grafi orientati altamente configurabili di routing dei dati, trasformazione e logica di mediazione di sistema. Alcune delle sue caratteristiche principali includono:
Leggi la guida rapida allo sviluppo. Include informazioni su come ottenere una copia locale del sorgente, fornisce indicazioni sul tracciamento dei problemi e mette in guardia su alcuni problemi comuni con gli ambienti di sviluppo.
Per una guida più completa allo sviluppo e informazioni su come contribuire al progetto, leggi la Guida per gli sviluppatori di NiFi.
Esegui mvn clean install oppure, per una build in parallelo, esegui mvn -T 2.0C clean install.
La build in parallelo dovrebbe richiedere circa quindici minuti su hardware moderno.
laptop:nifi myuser$ mvn -T 2.0C clean install
[INFO] Scanning for projects...
[INFO] Inspecting build with total of 115 modules...
...tens of thousands of lines elided...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 09:24 min (Wall Clock)
[INFO] Finished at: 2015-04-30T00:30:36-05:00
[INFO] Final Memory: 173M/1359M
[INFO] ------------------------------------------------------------------------
Esegui mvn clean install -DskipTests per saltare l'esecuzione dei test unitari.
Spostati nella directory nifi-assembly. La directory target contiene gli archivi binari.
laptop:nifi myuser$ cd nifi-assembly
laptop:nifi-assembly myuser$ ls -lhd target/nifi*
drwxr-xr-x 3 myuser mygroup 102B Apr 30 00:29 target/nifi-1.0.0-SNAPSHOT-bin
-rw-r--r-- 1 myuser mygroup 144M Apr 30 00:30 target/nifi-1.0.0-SNAPSHOT-bin.tar.gz
-rw-r--r-- 1 myuser mygroup 144M Apr 30 00:30 target/nifi-1.0.0-SNAPSHOT-bin.zip
Copia nifi-VERSION-bin.tar.gz o nifi-VERSION-bin.zip in una directory di distribuzione separata. L'estrazione della distribuzione creerà una nuova directory con il nome della versione.
laptop:nifi-assembly myuser$ mkdir ~/example-nifi-deploy
laptop:nifi-assembly myuser$ tar xzf target/nifi-*-bin.tar.gz -C ~/example-nifi-deploy
laptop:nifi-assembly myuser$ ls -lh ~/example-nifi-deploy/
total 0
drwxr-xr-x 10 myuser mygroup 340B Apr 30 01:06 nifi-1.0.0-SNAPSHOT
Spostati nella posizione di distribuzione ed esegui il seguente comando per avviare NiFi.
laptop:~ myuser$ cd ~/example-nifi-deploy/nifi-*
laptop:nifi-1.0.0-SNAPSHOT myuser$ ./bin/nifi.sh start
L'esecuzione di bin/nifi.sh start avvia NiFi in background ed esce. Usa --wait-for-init con un timeout facoltativo in secondi per attendere un avvio completo prima di uscire.
laptop:nifi-1.0.0-SNAPSHOT myuser$ ./bin/nifi.sh start --wait-for-init 120
La configurazione predefinita genera un nome utente e una password casuali all'avvio. NiFi scrive le credenziali generate nel log dell'applicazione situato in logs/nifi-app.log nella directory di installazione di NiFi.
Il seguente comando può essere utilizzato per trovare le credenziali generate sui sistemi operativi con grep installato:
laptop:nifi-1.0.0-SNAPSHOT myuser$ grep Generated logs/nifi-app*log
NiFi registra le credenziali generate come segue:
Generated Username [USERNAME]
Generated Password [PASSWORD]
USERNAME sarà un UUID casuale composto da 36 caratteri. PASSWORD sarà una stringa casuale composta da 32 caratteri. Le credenziali generate verranno memorizzate in conf/login-identity-providers.xml con la password salvata tramite hashing bcrypt. Conserva queste credenziali in un luogo sicuro per l'accesso a NiFi.
Il nome utente e la password casuali possono essere sostituiti con credenziali personalizzate usando il seguente comando:
./bin/nifi.sh set-single-user-credentials <username> <password>
Apri il seguente link in un browser web per accedere a NiFi: https://localhost:8443/nifi
Il browser web mostrerà un messaggio di avviso che indica un potenziale rischio per la sicurezza dovuto al certificato autofirmato generato da NiFi durante l'inizializzazione. Accettare il potenziale rischio e continuare a caricare l'interfaccia è un'opzione per le installazioni di sviluppo iniziali. Le distribuzioni di produzione dovrebbero fornire un certificato da un'autorità di certificazione attendibile e aggiornare la configurazione del keystore e del truststore di NiFi.
L'accesso a NiFi dopo aver accettato il certificato autofirmato mostrerà la schermata di accesso.
