Получаем доступ к HP iLo

Получаем доступ к HP iLo

Life-Hack

Всем доброго дня. Проводя аудит, я зачастую нахожу на внешнем периметре (чаще конечно на внутреннем, но поверьте, на внешнем бывают нередко) открытый интерфейс удаленного администрирования серверов HP ILo. В данном обзоре хотел поведать Вам о двух уязвимостях в данном сервисе.

Первая (CVE-2017-12542):

Три месяца назад в паблике опубликовали убийственный сплойт, позволяющий без авторизации добавить нового пользователя с правами админа. Уязвимы версии HPE iLo 4 ниже 2.53. Реализация атаки настолько проста, что справится ребенок 

- Качаем сплойт по ссылке выше

- Выставляем права на запуск : chmod 777 hp_ilo_exploit.py

- Смотрим хелп (его любезно автор написал для самых маленьких

- Запускаем:

- Вуаля – заходим браузером и наслаждаемся правами админа:

Вторая (CVE-2013-4805):

Уязвимость называется IPMI Cipher Suite Zero Authentication Bypass (CVE-2013-4805) и дает возможность добавлений административного пользователя в iLO. Уязвимость присутствует на серверах HP с Integrated Lights-Out 3 (iLO3) firmware версии до 1.60 и iLO4 firmware версии до 1.30.

Поехали:

- Сначала просканим сеть и найдем уязвимые хосты. Для этого в метасплойте есть отдельный сканер ipmi_cipher_zero.

Как обычно указываем подсеть и пишем exploit (я указал сразу уязвимый хост):

- Далее устанавливаем из репозитория утилиту работы с ipmi сервисом IpmiTool:

У меня она уже была установлена.

Далее происходит магия

В случае успеха мы увидим список пользователей (команда user list).

Параметры:

-I выбор протокола. lanplus говорит, что мы используем протокол IPMI v2.0 RMCP+ LAN Interface

-C 0 говорит, что мы не будем использовать аутентификацию (Cipher 0)

-H указываем IP сервера.

-U имя пользовтеля (в данном случае Admin. Бывает Administrator,root и т.д.). Как брутить логин расскажу ниже.

Так же можно указать любой пароль (хотя уязвимость основана на безпарольном доступе): -P YourPassword

-P говорит использовать пароль, а YourPassword это сам пароль.

Если мы не указали пароль, то утилита его запросит. Просто нажимаем Enter, чтобы подтвердить, что пробуем подключиться без пароля.

Валидный логин можем узнать при помощи того же метасплойта (а заодно и хеш пароля):

В скрипте указаны дефолтные словари с логинами и паролями (хеш прогоняется по списку паролей словаря).

При желании можете указать свои.

Ну и что тут интересного, скажете вы? А вот что!

Вместо того, чтобы брутит хеш - лучше создать нового пользователя с правами админа, зная только логин существующего:

Видим, что пользователь создался.

Первой командой параметром user set name мы указали, что нужно создать нового пользователя в пустом слоте 3 с именем c0deby.

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

Видим, в отличие от предыдущего скриншота, права у нас теперь стали админские.

Пробуем залогиниться через веб:

И снова мы покорили этот сервак!

Удачных пентестов. Тестируйте только с разрешения обладателя сервиса. Источник