
Exploit pour Apache NiFi CVE-2023-34468, ciblant une vulnérabilité dans les versions 1.21.0 et antérieures pour démontrer l'accès aux données et la compromission du système.
[][nifi]
Apache NiFi est un système facile à utiliser, puissant et fiable pour traiter et distribuer des données.
Apache NiFi a été conçu pour les flux de données. Il prend en charge des graphes orientés hautement configurables de routage, de transformation et de logique de médiation système. Parmi ses principales fonctionnalités :
Consultez le guide de démarrage rapide pour le développement. Il contient des informations pour obtenir une copie locale du code source, donne des conseils sur le suivi des problèmes et met en garde contre certains problèmes courants dans les environnements de développement.
Pour un guide plus complet sur le développement et des informations sur la contribution au projet, consultez le Guide du développeur NiFi.
Exécutez mvn clean install ou pour une construction parallèle, exécutez mvn -T 2.0C clean install.
La construction parallèle devrait prendre environ quinze minutes sur un matériel moderne.
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] ------------------------------------------------------------------------
Exécutez mvn clean install -DskipTests pour ignorer l'exécution des tests unitaires.
Changez de répertoire vers nifi-assembly. Le répertoire target contient les archives binaires.
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
Copiez le fichier nifi-VERSION-bin.tar.gz ou nifi-VERSION-bin.zip dans un répertoire de déploiement distinct.
L'extraction de la distribution créera un nouveau répertoire nommé d'après la version.
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
Placez-vous dans le répertoire de déploiement et exécutez la commande suivante pour démarrer NiFi.
laptop:~ myuser$ cd ~/example-nifi-deploy/nifi-*
laptop:nifi-1.0.0-SNAPSHOT myuser$ ./bin/nifi.sh start
L'exécution de bin/nifi.sh start démarre NiFi en arrière-plan et quitte. Utilisez --wait-for-init avec un délai d'attente optionnel en secondes pour attendre un démarrage complet avant de quitter.
laptop:nifi-1.0.0-SNAPSHOT myuser$ ./bin/nifi.sh start --wait-for-init 120
La configuration par défaut génère un nom d'utilisateur et un mot de passe aléatoires au démarrage. NiFi écrit les informations d'identification générées dans le journal d'application situé dans logs/nifi-app.log sous le répertoire d'installation de NiFi.
La commande suivante peut être utilisée pour trouver les informations d'identification générées sur les systèmes d'exploitation avec grep installé :
laptop:nifi-1.0.0-SNAPSHOT myuser$ grep Generated logs/nifi-app*log
NiFi enregistre les informations d'identification générées comme suit :
Generated Username [USERNAME]
Generated Password [PASSWORD]
Le USERNAME sera un UUID aléatoire composé de 36 caractères. Le PASSWORD sera une chaîne aléatoire composée de 32 caractères. Les informations d'identification générées seront stockées dans conf/login-identity-providers.xml, le mot de passe étant stocké avec un hachage bcrypt. Notez ces informations d'identification dans un endroit sûr pour accéder à NiFi.
Le nom d'utilisateur et le mot de passe aléatoires peuvent être remplacés par des informations d'identification personnalisées à l'aide de la commande suivante :
./bin/nifi.sh set-single-user-credentials <username> <password>
Ouvrez le lien suivant dans un navigateur web pour accéder à NiFi : https://localhost:8443/nifi