(Не)безопасность систем мониторинга: Zabbix

    image

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

    Как тут всё устроено


    image
    На первый взгляд Zabbix может показаться сложно устроенной системой мониторинга для пользователя, который сталкивается с ним впервые.

    Со временем эта система мониторинга обзавелась большим колличеством пользователей и многочисленные форумы с радостью помогут разобраться во всех аспектах тонкой настройки данного ПО, однако коммьюнити редко помогает созданию безопасной конфигурации системы, об этих слабых сторонах сегодня и пойдет речь.

    Заезжаем налегке


    Не думаю, что вы удивитесь узнав о том, что не все системные администраторы поддерживают версии своих СМ в актуальном состоянии. Так что начнем с простого определения версии системы (для этого можно использовать один из этих скриптов 1 или 2). С определенной вероятностью вам не понадобится придумывать что-то дальше и вы сможете использовать один из хорошо проверенных эксплоитов для того, чтобы добиться цели.

    image

    Но думаю вы заглянули под кат не для того, чтобы читать про то, как пользоваться модулями Metasploit'a и вот, вы воодушевленный благими намерениями и исследовательским антуражем приходите делать свою работу, подключаетесь к Ethernet розетке и обнаруживаете свеженький, обновленный Zabbix. Не беда, разработчики системы подумали о вас и сделали передачу трафика между хостом и сервером в незашифрованном виде, так что если администратор не озаботился настройкой шифрования — пора вспомнить о старине arp spoofing. Детальное описание перехвата сессии администратора и закрепления на веб-интерфейсе описано здесь, так же все необходимые скрипты могут быть изучены тут.

    We need to go deeper


    Хорошо, вы уже скомпрометировали систему, однако знаете, что Zabbix обладает функционалом взаимодействия с наблюдаемыми агентами и уходить не попробовав захватить подсеть было бы непозволительной роскошью. В отличие от Nagios в Zabbix многие наши возможности ограничены конфигурационными файлами, которые не торопятся предоставлять нам возможность держать постоянный шелл на агенте, но сдаются только слабые и в обновленной версии нашей памятки доступно излагается о способах закрепиться в скомпрометированной системе и необходимом состоянии конфигов, для успешной эскалации на хосте вне зависимости от того имеем ли мы дело с Unix или Windows.

    Как вы уже поняли, целью этой заметки было в очередной раз привлечь внимание всех пользователей систем мониторинга к проблеме их защищенности, а так же обратить их взгляд на наш Cheat Sheet по эксплуатации СМ. Работа на этом не заканчивается и в скором времени будут представлены новые исследования в этой области.

    Благодарности


    Хотелось бы поблагодарить Shodin за проделанную работу по исследованию системы мониторинга Zabbix (статья этого исследователя будет опубликована в нашем блоге в ближайшее время), без его вклада наша памятка была бы намного скуднее. Респект этим ребятам: sabotaged, ro421.

    До скорых встреч!
    Digital Security 115,72
    Безопасность как искусство
    Поделиться публикацией
    Комментарии 12
      0
      Интересно, а какой тогда мониторинг является наиболее секьюрным?
        –2
        Наиболее секьюрны те решения, которые первоначально задумывались для работы из облака. Те же New Relic или Appdynamics имеют очень высокую степень защиты. А New Relic, насколько мне известно, даже отвечает требованиям стандарта PCI DSS
          +2

          Zabbix вполне себе секьюрнный. Он поддерживает шифрование между агентами/прокси/сервером. Просто это не включено по-умолчанию. Так что если у вас не реализована защита не уровне сети, то извольте включить соответствующие Настройки в системе мониторинга. Ну и не забывайте обновляться.
          Единственное с чем соглашусь — в Windows агент стартует под системной записью, что не очень безопасно. Но это тоже решается.

          +2
          Вы хотите сказать, что кто-то в здравом уме будет передавать незашифрованный траффик в открытом интернете? Это же легко настраивается в Zabbix.
            0
            К сожалению, с определенной периодичностью встречаются компании, в которых вспомогательное ПО сконфигурировано с грубыми нарушениями или работает в дефолтной поставке (то есть вопросы безопасности отданы на откуп разработчикам).
              +1
              Логика говорит, что это все же не следствие кривости Заббикса, а рук компаний и их подрядчиков.

              Да, есть некоторая неприятность, что без Заббикс можно и без шифрования запустить. Но резон в этом есть: вы можете хотеть, например, общаться с агентами по доверенной сети (в пределах выделенного LAN-а, например), и нет смысла в накладных расходах.

              А уж что не обновляют — кто виноват?
            +3
            хорошо проверенных эксплоитов

            Мне кажется Вам статью нужно было написать еще в 2009 году
              0
              Это был намек на то, что до сих пор можно встретить большое количество устаревших систем мониторинга, а вектора описанные в читщите актуальны для последних версий.
              +1
              Что касается API и веб интерфейса то let's encrypt всех спасёт по красоте с TLS1.3(на крайний самоподписанные сертификаты). Что касается передачи в открытом интернете данных мониторинга, то даже psk ключа на zabbix-proxy в регионе будет достаточно чтобы отпугнуть не целевые атаки.

              А вот если вы достигли дзена, то смело расчехляйте ansible\chef\salt\etc и пишите настройку TLS для сервера, прокси и агентов. Одной командой куда проще защититься, чем читать такие посты. Для тех кто сам писать не хочет, может взять уже готовые материалы в интернете. Но если у вас дзен уровень зашкаливает, то вы не будете писать настройку сами, а возьмёте материалы в интернете и сделаете ревью, впоследствии внеся небольшие правки под себя.
                +3
                Хорошо, вы уже скомпрометировали систему

                Хороший пост. И методики интересные.
                  +2
                  Очередная публикация ради публикации.
                    +1
                    Статья капитана очевидности.

                    — Используя MITM атаки на инфраструктуру (в статье упоминается ARP spoofing) можно перехватить данные, в т.ч. логины/пароли, куки/sessiondid и т.п. секретные вещи, особенно если они не зашифрованы.
                    — Если вы не обновляетесь — вы можете быть уязвимы.
                    — Если вы не меняете дефолтные логин и пароль, то его может знать кто-то кроме вас.
                    — Если вы разрешили в агентах системы мониторинга удалённое исполнение команд (EnableRemoteCommands=1 для Zabbix агента), а сам агент запущен от LOCAL SYSTEM или подобного привилегированного пользователя, то компрометация системы мониторинга компрометирует всю инфраструктуру с которой работает эта система. Аналогично с параметрами, спецсимволами можно экранироваться и выполнить инъекции команд (UnsafeUserParameters=1 для Zabbix агента, Unsafe как-бы намекает). По умолчанию это отключено.

                    Все эти вектора имеют весьма посредственное отношение к системам мониторинга и в полной мере применимы к абсолютно любой системе с централизованным управлением с учётом описанных выше допущений.
                    Это может быть и AD, и любая система управления конфигурацией типа SCCM и т.п., и даже сервер администрирования антивируса, например KAV, и ещё неисчислимое множество их комбинаций.

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

                    Самое читаемое