
Эксплойт для Apache NiFi CVE-2023-34468, нацеленный на уязвимость в версиях 1.21.0 и более ранних, для демонстрации доступа к данным и компрометации системы.
[][nifi]
Apache NiFi — это простая в использовании, мощная и надежная система для обработки и распределения данных.
Apache NiFi создан для потоков данных. Он поддерживает высококонфигурируемые ориентированные графы маршрутизации данных, преобразования и логики системного посредничества. Некоторые из его ключевых возможностей включают:
Ознакомьтесь с кратким руководством для разработчиков. Оно содержит информацию о получении локальной копии исходного кода, указания по отслеживанию проблем, а также предупреждения о распространенных проблемах с окружениями разработки.
Более полное руководство по разработке и информацию о внесении вклада в проект вы найдете в Руководстве разработчика NiFi.
Выполните mvn clean install или для параллельной сборки выполните mvn -T 2.0C clean install.
Параллельная сборка на современном оборудовании должна занять около пятнадцати минут.
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] ------------------------------------------------------------------------
Выполните mvn clean install -DskipTests, чтобы пропустить выполнение модульных тестов.
Перейдите в каталог nifi-assembly. В каталоге target содержатся бинарные архивы.
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
Скопируйте nifi-VERSION-bin.tar.gz или nifi-VERSION-bin.zip в отдельный каталог развертывания.
Извлечение дистрибутива создаст новый каталог, названный в честь версии.
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
Перейдите в каталог развертывания и выполните следующую команду для запуска NiFi.
laptop:~ myuser$ cd ~/example-nifi-deploy/nifi-*
laptop:nifi-1.0.0-SNAPSHOT myuser$ ./bin/nifi.sh start
Запуск bin/nifi.sh start запускает NiFi в фоновом режиме и завершает работу. Используйте --wait-for-init с необязательным таймаутом в
секундах, чтобы дождаться полного запуска перед завершением.
laptop:nifi-1.0.0-SNAPSHOT myuser$ ./bin/nifi.sh start --wait-for-init 120
Конфигурация по умолчанию генерирует случайные имя пользователя и пароль при запуске. NiFi записывает сгенерированные учетные данные
в журнал приложения, расположенный в logs/nifi-app.log в каталоге установки NiFi.
Следующая команда может использоваться для поиска сгенерированных учетных данных в операционных системах с установленным grep:
laptop:nifi-1.0.0-SNAPSHOT myuser$ grep Generated logs/nifi-app*log
NiFi регистрирует сгенерированные учетные данные следующим образом:
Generated Username [USERNAME]
Generated Password [PASSWORD]
Значение USERNAME будет случайным UUID, состоящим из 36 символов. Значение PASSWORD будет случайной строкой, состоящей из
32 символов. Сгенерированные учетные данные будут сохранены в conf/login-identity-providers.xml, при этом пароль хранится
с использованием хеширования bcrypt. Запишите эти учетные данные в надежном месте для доступа к NiFi.
Случайные имя пользователя и пароль можно заменить собственными учетными данными с помощью следующей команды:
./bin/nifi.sh set-single-user-credentials <username> <password>
Откройте следующую ссылку в веб-браузере для доступа к NiFi: https://localhost:8443/nifi
Веб-браузер отобразит предупреждение о потенциальном риске безопасности из-за самозаверяющего сертификата, сгенерированного NiFi во время инициализации. Для первоначальных установок в целях разработки можно принять потенциальный риск безопасности и продолжить загрузку интерфейса. Для production-развертываний следует предоставить сертификат от доверенного центра сертификации и обновить конфигурацию keystore и truststore в NiFi.
После принятия самозаверяющего сертификата доступ к NiFi отобразит экран входа в систему.
