The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  вход/выход  слежка  RSS
"Уязвимость в системе мониторинга Zabbix"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Уязвимость в системе мониторинга Zabbix"  +/
Сообщение от opennews (ok) on 13-Авг-16, 23:46 
В обновлениях  системы мониторинга Zabbix  2.2.14 и 3.0.4 (http://www.zabbix.com/)  устранена уязвимость (http://seclists.org/fulldisclosure/2016/Aug/60), позволяющая выполнить SQL-код в СУБД и добиться выполнения произвольных команд на сервере и отслеживаемых хостах. В частности, через SQL-запрос можно получить права администратора Zabbix, который в зависимости от конфигурации может выполнять команды на хостах, отслеживаемых в Zabbix. Проблема вызвана (https://support.zabbix.com/browse/ZBX-11023) недостаточной проверкой допустимых значений параметра toggle_ids при обращении к странице latest.php. Атака возможна со стороны аутентифицированного пользователя или при включении гостевого входа без пароля.



URL: http://seclists.org/fulldisclosure/2016/Aug/60
Новость: http://www.opennet.dev/opennews/art.shtml?num=44962

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Уязвимость в системе мониторинга Zabbix"  +34 +/
Сообщение от A.Stahl (ok) on 13-Авг-16, 23:46 
Лес. Зима. Вечер.
Подходит toggle_ids к latest.php, стучит и спрашивает: "А кто в скриптике живёт?"
А из latest.php ему отвечают: "Я Заббикс, за процессами слежу в этом скриптике сижу! А ты кто?"
-- А я Случайный Запрос, toggle_ids не донёс. Можно я с тобой поживу, SQL-код в СУБД пропихну?
-- Ну заходи, будем вместе жить, процессы сторожить.
И жили они долго и счастливо до самого kill -9!
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Уязвимость в системе мониторинга Zabbix"  +/
Сообщение от Аноним (??) on 14-Авг-16, 00:31 
> kill -9

Слишком добрый!!!  Требую продолжения!!!

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

5. "Уязвимость в системе мониторинга Zabbix"  +/
Сообщение от Аноним (??) on 14-Авг-16, 02:49 
Alt-sysrq-b тебе в помощь. В мультиках это обычно так: ты стоишь себе такой, ла-ла-ла. И тут на тебя падает рояль с тридцатого этажа.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

3. "Уязвимость в системе мониторинга Zabbix"  +/
Сообщение от XoRe (ok) on 14-Авг-16, 00:36 
Похоже, ветка 2.4.х не подвержена атаке
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

10. "Уязвимость в системе мониторинга Zabbix"  +/
Сообщение от Andrey Mitrofanov on 14-Авг-16, 12:07 
> Похоже, ветка 2.4.х не подвержена атаке

Я тебе больще скажу: похоже, и 2.0.18 не подвержена. Ср.:

2016-07-22 [Zabbix-announce] Zabbix 3.0.4 and 2.2.14 released
  --https://sourceforge.net/p/zabbix/mailman/message/35237249/

2016-04-20 [Zabbix-announce] Zabbix 2.0.17, 2.2.12, 2.4.8 and 3.0.2 released
  --https://sourceforge.net/p/zabbix/mailman/message/35027668/

Зато LTS такая LTS. http://www.zabbix.com/life_cycle_and_release_policy.php

2.0, видимо, выпкстили до введения ярлыка TLS... На картинках его не рисуют: плохо для продаж.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

4. "Уязвимость в системе мониторинга Zabbix"  +/
Сообщение от Аноним (??) on 14-Авг-16, 00:44 
Две недели назад у меня отключили сервер мониторинга на публичном IP. Якобы за рассылку спама. Установить не удалось что это было. Обновил zabbix и ОС. Запаролил админку апачевским паролем. Пока полет нормальный. Читал логи. Проверял конфиги. Проверял всякими утилитами типа tiger и т.д. в логах zabbix на тот период когда пров жаловался - странное повышение la - при среднем la 0,1 было повышение до примерно 0,7 которое четко видно на графике. Вопрос. Что это было?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

8. "Уязвимость в системе мониторинга Zabbix"  –5 +/
Сообщение от Michael Shigorin email(ok) on 14-Авг-16, 11:16 
> Что это было?

Просто к сведению -- в альте версию 3.0.4 собрали ещё несколько раньше, так что могло быть и оно: http://packages.altlinux.org/ru/p8/srpms/zabbix

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

9. "Уязвимость в системе мониторинга Zabbix"  +3 +/
Сообщение от Andrew (??) on 14-Авг-16, 11:40 
В альте собрали на 3 дня позже, чем пакеты под Ubuntu и Centos, которые появились на оффсайте 22-го числа.
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

7. "Уязвимость в системе мониторинга Zabbix"  +1 +/
Сообщение от YetAnotherOnanym (ok) on 14-Авг-16, 08:47 
Мда... в 2016 году пыхеры так и не освоили санитизацию запросов.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

11. "Уязвимость в системе мониторинга Zabbix"  +/
Сообщение от Аноним (??) on 14-Авг-16, 17:37 
Google вбросил им как это нужно реализовать https://wiki.php.net/rfc/sql_injection_protection
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

12. "Уязвимость в системе мониторинга Zabbix"  –1 +/
Сообщение от Аноним (??) on 14-Авг-16, 22:57 
> Google вбросил им как это нужно реализовать https://wiki.php.net/rfc/sql_injection_protection

Легко реализуется путем NoSQL баз. Извините, но SQL слишком много всего умеет. Вот занафига базе уметь код выполнять? Чтобы хакерью удобнее было? Если вы играете с огнем - однажды вы обжигаетесь.

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

13. "Уязвимость в системе мониторинга Zabbix"  +1 +/
Сообщение от Мяут (ok) on 14-Авг-16, 23:15 
> Легко реализуется путем NoSQL баз.

Тот же MongoDB имеет язык запросов основанный на JSON. Думаю уже набралось немало умников, которые эти самые запросы шлют из клентского жаваскрипта. Так что проблема отнюдь не в языке запросов.

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

16. "Уязвимость в системе мониторинга Zabbix"  –1 +/
Сообщение от Аноним (??) on 15-Авг-16, 03:54 
А если у меня база простая как валенок, понимающая только key и value ассоциированный с ним, и оба произвольные значения, возможно как максимум с ограничением по длине - как ты это хакать будешь, интересно? Оно чисто технически не имеет никаких языков запросов через которые ты бы мог у меня выполнить код. Как самый максимум ты может быть положишь какой-то мусор в базу лишний раз. Это, конечно, свинство, но намного менее неприятное :)
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

18. "Уязвимость в системе мониторинга Zabbix"  +/
Сообщение от www2 (??) on 15-Авг-16, 07:47 
>Оно чисто технически не имеет никаких языков запросов через которые ты бы мог у меня выполнить код. Как самый максимум ты может быть положишь какой-то мусор в базу лишний раз. Это, конечно, свинство, но намного менее неприятное :)

Товарищ, потише. Думайте, прежде чем говорить. Здесь именно это и происходит - в базу кладут "какой-то мусор". Только, вот беда, Zabbix штатно позволяет выполнять команды локально или через Zabbix-агентов, если это разрешено в их конфигах. В результате в базу можно положить не только "какой-то мусор", но и так называемые "действия", который как раз и позволяют выполнять произвольные команды на Zabbix-сервере или через Zabbix-агентов.

Смена одного хранилища на другое тут не помогла бы. Проблема только в недостаточной валидации данных в веб-интерфейсе, написанном на PHP.

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

19. "Уязвимость в системе мониторинга Zabbix"  +/
Сообщение от КО on 15-Авг-16, 07:54 
>>А если у меня база простая как валенок, понимающая только key и value ассоциированный с ним

То где-то есть программа реализующая логику в которой значения из базы - операнд.
Ну и далее эта программа и стрельнет. А будет ли это в СуБД или в браузере у клиента выполнится вдруг неожиданный javascipt пришедший из доверенной базы - уже детали. :)

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

24. "Уязвимость в системе мониторинга Zabbix"  +/
Сообщение от angra (ok) on 15-Авг-16, 09:37 
Просто у тебя хакерское воображение отсутсвует как таковое. Тут пару дней назад пробегала новость о использовании redis для взлома сервера. Поинтересуйся деталями, они есть по ссылкам. Откроешь для себя новый мир, где подстановка "мусорного" ключ->значение достаточна для взлома. И никакого SQL или выполнения кода со стороны БД.
Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

14. "Уязвимость в системе мониторинга Zabbix"  +/
Сообщение от Аноним (??) on 14-Авг-16, 23:48 
https://mariadb.com/sites/default/files/MaxScaleSecuritySolu...
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

17. "Уязвимость в системе мониторинга Zabbix"  –2 +/
Сообщение от Аноним (??) on 15-Авг-16, 03:57 
> https://mariadb.com/sites/default/files/MaxScaleSecuritySolu...

Отличный пример того как сначала люди создают себе проблемы. зачем-то научив базу выполнять код, парить, жарить и крестиком вышивать, а потом - героически с этим борятся изобретая чуть ли не app-level firewall. При том что половина вещей делается на тривиальных key-value, которые быстрые как понос и хакать там просто нечего. Ну да, програмить это может быть несколько менее удобно, особенно если вы планируете активно перетрясать схему базы.

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

20. "Уязвимость в системе мониторинга Zabbix"  +/
Сообщение от www2 (??) on 15-Авг-16, 07:57 
>> https://mariadb.com/sites/default/files/MaxScaleSecuritySolu...
> Отличный пример того как сначала люди создают себе проблемы. зачем-то научив базу
> выполнять код

Ты уверен, что база выполняет какой-то там код? СУБД выполняет запросы. Если базу попросить выполнить DROP DATABASE, а права пользователя разрешают ему это сделать, то чья это проблема? Всякие хранилища ключ-значение тоже выполняют запросы. Можно вставить туда значение, можно прочитать, можно удалить. Если попросят удалить и имеют на это право, то это проблема базы? Если попросят вставить что-то нежелательное, то это проблема базы? Это проблема приложения. Оно должно следить за тем, что просит сделать СУБД.

Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

26. "Уязвимость в системе мониторинга Zabbix"  +/
Сообщение от Аноним (??) on 15-Авг-16, 12:07 
Формально, можно было бы разнести DDL и DML, да и в принципе любовь WEB + MySQL + PHP к "Alter table add column" нехорошая штука.
Столкнулся с тем что "некоторых разработчиков" очень сложно убедить в том что им для "сайта" ddl не нужен :)
Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

33. "Уязвимость в системе мониторинга Zabbix"  +/
Сообщение от www2 (??) on 16-Авг-16, 11:50 
Честно говоря, я не понимаю о ком вы. Разработчики Zabbix нигде не делают alter table add column. Разве что при миграции на новую версию.

Иногда структуру базы данных бывает нужно менять. И довольно часто делать это нужно над имеющимися данными, а не экспортом и реимпортом в новую структуру. Так что DDL плохому танцору мешают, а хорошему - нет. Не нравится - учётную запись можно ограничить так, чтобы никаких alter table. Чтобы учётная запись могла только select, insert, update и delete.

Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

25. "Уязвимость в системе мониторинга Zabbix"  +/
Сообщение от angra (ok) on 15-Авг-16, 09:40 
Болезный, ты где на картинке увидел код? Если для тебя where это код, то настоятельно советую сменить профессию.

Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

27. "Уязвимость в системе мониторинга Zabbix"  +/
Сообщение от DeadLoco (ok) on 15-Авг-16, 12:29 
SQL умеет столько, сколько нужно для работы с множествами. А что большинство ниасиляторов использует РСУБД в качестве индексированого кеша - это проблемы ниасиляторов.

Хотя, казалось бы, достаточно сделать прослоечку из хранимых процыдурок, которую и отдавать наружу в пхп, но нет же, непременно нужно лезть в часы хлебным ножом.

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

15. "Уязвимость в системе мониторинга Zabbix"  +/
Сообщение от Аноним (??) on 15-Авг-16, 00:36 
Что ни придумают, лишь бы Nagios не пользоваться(
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

21. "Уязвимость в системе мониторинга Zabbix"  –2 +/
Сообщение от www2 (??) on 15-Авг-16, 08:03 
В Nagios есть NRPE и это его основное назначение - выполнять команды, которые попросит сервер мониторинга. Zabbix позволяет выполнять команды на удалённом узле, но по умолчанию эта функция отключена, потому как хватает штатных возможностей агента и UserParameter. Выполнять вообще-вообще произвольные команды - это очень редкий случай.

Да, в Zabbix можно настроить выполнение команды без перезапуска всего сервера мониторинга, просто зайдя в веб-интерфейс и указав, где и какую команду нужно выполнять. В Nagios после правки конфига нужно перезапускать весь сервер. Кушайте сами.

Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

23. "Уязвимость в системе мониторинга Zabbix"  +/
Сообщение от PavelR (??) on 15-Авг-16, 08:19 
>В Nagios после правки конфига нужно перезапускать весь сервер. Кушайте сами.

Хороший вброс, но у вас "нипалучилось".

Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

28. "Уязвимость в системе мониторинга Zabbix"  +/
Сообщение от www2 (??) on 15-Авг-16, 12:32 
Вброс или не вброс, но кушайте сами. Меня Zabbix устраивает вполне. В "ём" есть сложные выражения для триггеров, графики, оповещения, действия, API, разграничение доступа. Ядро умеет очень много. В Nagios что ни надо замониторить, всё внешним плагином делается, который может только сказать хорошо или плохо сейчас. Предыдущее состояние в плагине взять неоткуда. Попробуйте в вашем нагиосе сделать триггер "если среднее значение на хосте A за сутки больше, чем 10% от среднего значения на хосте Б за час, то проблема". Своё хранилище придётся придумывать для хранения данных предыдущих опросов.
Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору

34. "Уязвимость в системе мониторинга Zabbix"  +/
Сообщение от PavelR (??) on 16-Авг-16, 12:27 
> Вброс или не вброс, но кушайте сами. Меня Zabbix устраивает вполне.

Устраивает - пользуйтесь.

>В Nagios после правки конфига нужно перезапускать весь сервер.

А вот гнать чушь про ПО, которым вы не пользуетесь - не надо.

Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

22. "Уязвимость в системе мониторинга Zabbix"  +/
Сообщение от www2 (??) on 15-Авг-16, 08:13 
Вот вам вбросик: https://www.opennet.dev/opennews/art.shtml?num=22285
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

31. "Уязвимость в системе мониторинга Zabbix"  +/
Сообщение от XoRe (ok) on 15-Авг-16, 14:38 
> Что ни придумают, лишь бы Nagios не пользоваться(

Чет я не находил, чтобы nagios мог получать 500 новых значений в секунду.
А вот zabbix с таким спокойно справляется.

Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

36. "Уязвимость в системе мониторинга Zabbix"  +/
Сообщение от anonimous on 17-Авг-16, 06:31 
Это Поллер Zabbix'a за тебя решил.

Частая ошибка Заббистов, в том что они вначале пробуют мониторинг на слабом железе,
и Там где Nagios\Icinga2 начинают задыхаться - Zabbix адаптируеться. Итого Zabbix - победиль!

Дело в том что Icinga2 ( nagios лучше таки выкидывать ) - как то все равно на твое железо.
Указал ты ей, например, мониторить раз в секунду 500 хостов, где у каждого 500 метрик, - она и будет запускать их каждую секунду. Т.е. 500*500=250000 в секунду. Ну а справиться ли? Зависит от железа. Сервер может вообще зависнуть к х*.

Хотим офигенный мониторинг, покупаем для него офигенное железо.

Про всякие там триггреры, где "на одном хосте то, на другом это - непорядок" - пишем в Graphite. ( Icinga2 + Graphite ) Ну а для graphite много приложений умеющих работать с его базой разными функциями и оповещать заодно.

В целом, сравнивать zabbix и icinga2, тоже самое как сравнивать США и Советский Союз в период разгара холодной войны.

Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

29. "Уязвимость в системе мониторинга Zabbix"  +1 +/
Сообщение от www2 (??) on 15-Авг-16, 12:35 
Я посмотрел на эту уязвимость. Не знаю, почему, но у меня на 2.4.0 выдаёт такую ошибку:
Error in query [INSERT INTO profiles (profileid, userid, idx, value_int, type, idx2) VALUES (800800175701336, 1001000000000075, 'web.latest.toggle', '1', 2, 1);select * from users (1=1)] [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'select * from users (1=1)' at line 1]

Ну то есть этот дописанный сбоку запрос не выполняется. Пробовал что-нибудь придумать, как этим воспользоваться. Вставить вместо числа результат из подзапроса, например, или какой-нибудь union изобразить. Ничего не придумал. Может быть фантазия бедная, но сдаётся мне, что проблема преувеличена.

На 3.0.0 выдаёт:
Zabbix получил некорректный запрос.
Детали
Операция не может быть выполнена из-за несанкционированного запроса.
Операция не может быть выполнена из-за несанкционированного запроса.
Операция не может быть выполнена из-за несанкционированного запроса.
Закрыть

Проблем нашли, да. А как её эксплуатировать - не придумали. Ну или у выполнявших какое-то другое программное окружение. Может PHP другой.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

30. "Уязвимость в системе мониторинга Zabbix"  +/
Сообщение от Коля (ok) on 15-Авг-16, 12:54 
заббикс имеет такой дикий говнокод в фронтэнде на пхп, что волосы под мышками становятся дыбом. Этот невинный баг баловство. Там и покруче вещи накопать можно, если нужно.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

32. "Уязвимость в системе мониторинга Zabbix"  +/
Сообщение от Alex Emergy on 16-Авг-16, 10:38 
Очень даже не плохо. Панель сделана в духе Windows 7-10. Только непорадовало, что нет индикации, что приложение запущено.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру