заметки про zabbix

заметки про zabbix

zer0way

Иногда на тестах есть доступ к заббиксу с ограниченными правами, я покажу некоторые интересные вещи на примере заббикса на standoff365.

У нас есть доступ к заббиксу с ограниченными правами, доступен только один хост, как на скрине:

В самом заббиксе на мониторинге намного больше хостов, в моем случае 61

Часть 1

В данной лабе, как и в жизни. мы можем выполнять команды ОС через items c key system.run[команда] при условии что выполнение разрешено в конфиге zabbix клиента

описание Item
успешное выполнение команды через Test и вывод результата в Value.

1 хост это конечно хорошо....но мы можем отправлять команды абсолютно на любой zabbix агент, просто указав его ip адрес в "host address".

Я отправил через burp на проверку /24 подсеть с командой whoami и получил следующий результат:

на одной из машин разрешено выполнение команд и zabbix работает от имени system

Команды выполнять на любых заббикс агентах, которые мониторятся в данном заббиксе но не доступны нам из gui мы смогли.

Но что делать если выполнение команд запрещено?

Часть 2

Читаем мануалы zabbix - https://www.zabbix.com/documentation/current/ua/manual/config/items/itemtypes/zabbix_agent

Наблюдаем прекрасный Key - vfs.file.contents позволяющий читать содержимое файлов. Так как на windows os зачастую zabbix agent работает с правами system, то читать мы можем много и очень много.

Например, историю powershell команд администратора на контроллере домена:

история powershell команд администратора домена с паролями

К тому же, в качестве пути можно указать путь к своему smb серверу и получить NTLM сессию устройства

Окей, прочитали файлы, возможно ничего не нашли интересного..

Часть 3

опять таки читаем мануалы zabbix и видим интересный ключ wmi.getall. Данный ключ позволяет выполнять wmi запросы к устройству....

например: wmi.getall[root\cimv2,"SELECT * FROM WIN32_GroupUser"]

где root\cimv2 неймспейс и в ковычках сам запрос.

Некоторые запросы позволяют обойти другие ограничения безопасности zabbix агентов. Некоторые примеры запросов:

  • получить список запущенных процессов - wmi.getall[root\cimv2,"Select * From Win32_Process"]
  • получить список сервисов - wmi.getall[root\cimv2,"Select * From Win32_Service"]
  • получить список пользователей - wmi.getall[root\cimv2,"SELECT * FROM Win32_UserAccount"]
пример ответа на запрос


  • получить список файлов в каталоге - wmi.getall[root\cimv2,"SELECT * from Cim_DataFile where path = \"\\Users\\administrator\\\" and Drive=\"C:\""]
список файлов на рабочем столе администратора на контроллере домена
  • получить список каталогов - wmi.getall[root\cimv2,"SELECT * from Win32_Directory where path = \"\\Users\\administrator\\\" and Drive=\"C:\""]

Часть 4

Если у вас нет доступа к заббиксу, но есть предположение что где то NAT и в конфиге пассивного zabbix агента может быть указан адрес того самого NATа..можно попробовать поотправлять запросы напрямую через утилиту zabbix_get:

zabbix_get -s ip_адрес -p 10050 -k agent.ping

и если вам повезет, то вы сможете отправлять запросы напрямую


P.S.

Ключей очень много и возможностей для активной разведки тоже, zabbix прекрасный для этого инструмент.


Report Page