Сегодня мы продолжим разбираться с тем, как себя вести на первой встрече с системой мониторинга во время пентеста. На этот раз к нам в гости заглянул старина Zabbix.
Как тут всё устроено
На первый взгляд Zabbix может показаться сложно устроенной системой мониторинга для пользователя, который сталкивается с ним впервые.
Со временем эта система мониторинга обзавелась большим колличеством пользователей и многочисленные форумы с радостью помогут разобраться во всех аспектах тонкой настройки данного ПО, однако коммьюнити редко помогает созданию безопасной конфигурации системы, об этих слабых сторонах сегодня и пойдет речь.
Заезжаем налегке
Не думаю, что вы удивитесь узнав о том, что не все системные администраторы поддерживают версии своих СМ в актуальном состоянии. Так что начнем с простого определения версии системы (для этого можно использовать один из этих скриптов 1 или 2). С определенной вероятностью вам не понадобится придумывать что-то дальше и вы сможете использовать один из хорошо проверенных эксплоитов для того, чтобы добиться цели.
Но думаю вы заглянули под кат не для того, чтобы читать про то, как пользоваться модулями Metasploit'a и вот, вы воодушевленный благими намерениями и исследовательским антуражем приходите делать свою работу, подключаетесь к Ethernet розетке и обнаруживаете свеженький, обновленный Zabbix. Не беда, разработчики системы подумали о вас и сделали передачу трафика между хостом и сервером в незашифрованном виде, так что если администратор не озаботился настройкой шифрования — пора вспомнить о старине arp spoofing. Детальное описание перехвата сессии администратора и закрепления на веб-интерфейсе описано здесь, так же все необходимые скрипты могут быть изучены тут.
We need to go deeper
Хорошо, вы уже скомпрометировали систему, однако знаете, что Zabbix обладает функционалом взаимодействия с наблюдаемыми агентами и уходить не попробовав захватить подсеть было бы непозволительной роскошью. В отличие от Nagios в Zabbix многие наши возможности ограничены конфигурационными файлами, которые не торопятся предоставлять нам возможность держать постоянный шелл на агенте, но сдаются только слабые и в обновленной версии нашей памятки доступно излагается о способах закрепиться в скомпрометированной системе и необходимом состоянии конфигов, для успешной эскалации на хосте вне зависимости от того имеем ли мы дело с Unix или Windows.
Как вы уже поняли, целью этой заметки было в очередной раз привлечь внимание всех пользователей систем мониторинга к проблеме их защищенности, а так же обратить их взгляд на наш Cheat Sheet по эксплуатации СМ. Работа на этом не заканчивается и в скором времени будут представлены новые исследования в этой области.
Благодарности
Хотелось бы поблагодарить Shodin за проделанную работу по исследованию системы мониторинга Zabbix (статья этого исследователя будет опубликована в нашем блоге в ближайшее время), без его вклада наша памятка была бы намного скуднее. Респект этим ребятам: sabotaged, ro421.
До скорых встреч!
Комментарии (12)
AntoniusFirst
28.02.2018 15:36Вы хотите сказать, что кто-то в здравом уме будет передавать незашифрованный траффик в открытом интернете? Это же легко настраивается в Zabbix.
HD421 Автор
28.02.2018 15:58К сожалению, с определенной периодичностью встречаются компании, в которых вспомогательное ПО сконфигурировано с грубыми нарушениями или работает в дефолтной поставке (то есть вопросы безопасности отданы на откуп разработчикам).
achekalin
02.03.2018 10:50Логика говорит, что это все же не следствие кривости Заббикса, а рук компаний и их подрядчиков.
Да, есть некоторая неприятность, что без Заббикс можно и без шифрования запустить. Но резон в этом есть: вы можете хотеть, например, общаться с агентами по доверенной сети (в пределах выделенного LAN-а, например), и нет смысла в накладных расходах.
А уж что не обновляют — кто виноват?
0x12ee705
28.02.2018 16:04хорошо проверенных эксплоитов
Мне кажется Вам статью нужно было написать еще в 2009 годуHD421 Автор
28.02.2018 16:13Это был намек на то, что до сих пор можно встретить большое количество устаревших систем мониторинга, а вектора описанные в читщите актуальны для последних версий.
AlexGluck
28.02.2018 17:42Что касается API и веб интерфейса то let's encrypt всех спасёт по красоте с TLS1.3(на крайний самоподписанные сертификаты). Что касается передачи в открытом интернете данных мониторинга, то даже psk ключа на zabbix-proxy в регионе будет достаточно чтобы отпугнуть не целевые атаки.
А вот если вы достигли дзена, то смело расчехляйте ansible\chef\salt\etc и пишите настройку TLS для сервера, прокси и агентов. Одной командой куда проще защититься, чем читать такие посты. Для тех кто сам писать не хочет, может взять уже готовые материалы в интернете. Но если у вас дзен уровень зашкаливает, то вы не будете писать настройку сами, а возьмёте материалы в интернете и сделаете ревью, впоследствии внеся небольшие правки под себя.
akamajoris
01.03.2018 13:33Хорошо, вы уже скомпрометировали систему
Хороший пост. И методики интересные.
Cayp
01.03.2018 23:03-1Статья капитана очевидности.
— Используя MITM атаки на инфраструктуру (в статье упоминается ARP spoofing) можно перехватить данные, в т.ч. логины/пароли, куки/sessiondid и т.п. секретные вещи, особенно если они не зашифрованы.
— Если вы не обновляетесь — вы можете быть уязвимы.
— Если вы не меняете дефолтные логин и пароль, то его может знать кто-то кроме вас.
— Если вы разрешили в агентах системы мониторинга удалённое исполнение команд (EnableRemoteCommands=1 для Zabbix агента), а сам агент запущен от LOCAL SYSTEM или подобного привилегированного пользователя, то компрометация системы мониторинга компрометирует всю инфраструктуру с которой работает эта система. Аналогично с параметрами, спецсимволами можно экранироваться и выполнить инъекции команд (UnsafeUserParameters=1 для Zabbix агента, Unsafe как-бы намекает). По умолчанию это отключено.
Все эти вектора имеют весьма посредственное отношение к системам мониторинга и в полной мере применимы к абсолютно любой системе с централизованным управлением с учётом описанных выше допущений.
Это может быть и AD, и любая система управления конфигурацией типа SCCM и т.п., и даже сервер администрирования антивируса, например KAV, и ещё неисчислимое множество их комбинаций.
Reface
Интересно, а какой тогда мониторинг является наиболее секьюрным?
AntoniusFirst
Наиболее секьюрны те решения, которые первоначально задумывались для работы из облака. Те же New Relic или Appdynamics имеют очень высокую степень защиты. А New Relic, насколько мне известно, даже отвечает требованиям стандарта PCI DSS
banzayats
Zabbix вполне себе секьюрнный. Он поддерживает шифрование между агентами/прокси/сервером. Просто это не включено по-умолчанию. Так что если у вас не реализована защита не уровне сети, то извольте включить соответствующие Настройки в системе мониторинга. Ну и не забывайте обновляться.
Единственное с чем соглашусь — в Windows агент стартует под системной записью, что не очень безопасно. Но это тоже решается.