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

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

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

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

- Качаем сплойт по ссылке выше
- Выставляем права на запуск : chmod 777 hp_ilo_exploit.py
- Смотрим хелп (его любезно автор написал для самых маленьких ;) )

0.png

- Запускаем:

1.png

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

5.png

Вторая (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 (я указал сразу уязвимый хост):

6.png

- Далее устанавливаем из репозитория утилиту работы с ipmi сервисом
Для просмотра контента необходимо: Войти или зарегистрироваться
:
У меня она уже была установлена.

7.png

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

8.png

В случае успеха мы увидим список пользователей (команда 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, чтобы подтвердить, что пробуем подключиться без пароля.
Валидный логин можем узнать при помощи того же метасплойта (а заодно и хеш пароля):

9.png

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

10.png

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

11.png

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

12.png

И снова мы покорили этот сервак!
Удачных пентестов. Тестируйте только с разрешения обладателя сервиса ;)
 
Последнее редактирование:

WhiteScar

New member
18.04.2018
3
1
#3
Огромное спасибо! тестанул свою сетку. Аж что то сгрустнулось буду все выхи обновлять . Полезно очень.
Может, очевидное скажу, но. Хорошо бы вынести все управляющие интерфейсы IPMI и прочих iDrac, iLo, свичей, ИБП и т.д. в отдельный vlan, админов посадить тоже в отдельный влан и разрешить доступ во влан управлялок только из админского влана.
 

Elektrolife

Well-known member
21.10.2016
176
25
#6
блин,из репозиториев не ставит ipmitool (( с гитхаба скачал,не подскажете как установить ? ) В редми написано: `./configure && make && make install' но что то не ставится (
 

Demi

Премиум
16.02.2017
70
89
#7
Может, очевидное скажу, но. Хорошо бы вынести все управляющие интерфейсы IPMI и прочих iDrac, iLo, свичей, ИБП и т.д. в отдельный vlan, админов посадить тоже в отдельный влан и разрешить доступ во влан управлялок только из админского влана.
А потом сделать переполнение mac таблицы и ходить без вланов, если есть апдейт с заплаткой то ставить в любом случае !
 
02.04.2018
133
190
#8
блин,из репозиториев не ставит ipmitool (( с гитхаба скачал,не подскажете как установить ? ) В редми написано: `./configure && make && make install' но что то не ставится (
На Kali точно ставится. На три системы разных ставил с репозиториев - без проблем. Какая система?
apt-get update
apt dist upgrade для начала
Из исходников никогда не приходилось собирать - навскидку не подскажу.
 

Elektrolife

Well-known member
21.10.2016
176
25
#9
На Kali точно ставится. На три системы разных ставил с репозиториев - без проблем. Какая система?
apt-get update
apt dist upgrade для начала
Из исходников никогда не приходилось собирать - навскидку не подскажу.
операционка кали 18.1,репозитории обновлял
 
02.04.2018
133
190
#10
операционка кали 18.1,репозитории обновлял
Может посчастливится увидеть ошибку? :) Чем информативней задан вопрос - тем больший шанс получить качественный ответ
Еще можно выложить результат команды
cat /etc/apt/sources.list

Только что установил с репозитория - никаких проблем.
 
Последнее редактирование:

Elektrolife

Well-known member
21.10.2016
176
25
#11
Может посчастливится увидеть ошибку? :) Чем информативней задан вопрос - тем больший шанс получить качественный ответ
Еще можно выложить результат команды
cat /etc/apt/sources.list

Только что установил с репозитория - никаких проблем.
ошибки нет никакой,просто не находит. Сейчас сделаю distr-upgrade и ещё раз попробую
 

Elektrolife

Well-known member
21.10.2016
176
25
#15
Если в Channel Priv Limit пишет что Unknown (0x00) - значит сервис не подвержен уязвимости ? Метасплоит сказал что: VULNERABLE: Accepted a session open request for cipher zero )
 
02.04.2018
133
190
#16
Если в Channel Priv Limit пишет что Unknown (0x00) - значит сервис не подвержен уязвимости ? Метасплоит сказал что: VULNERABLE: Accepted a session open request for cipher zero )
Бро, я же просил, задавая вопрос пиши команды, что было сделано. При каких условиях ошибка. Максимум информации. Все экстрасенсы в отпуске.
Если метасплойт говорит, скорее всего уязвим. Ни разу фолсов в этом модуле не встречал.
 
Последнее редактирование:

Elektrolife

Well-known member
21.10.2016
176
25
#17
Бро, я же просил, задавая вопрос пиши команды, что было сделано. При каких условиях ошибка. Максимум информации. Все экстрасенсы в отпуске.
Если метасплойт говорит, скорее всего уязвим. Ни разу фолсов в этом модуле не встречал.
Хорошо ) Тогда лучше скрин

1525954178554.png
 
02.04.2018
133
190
#18
Если список пользователей получил - значит уязвимость есть, так как это сделать удалось без пароля. Попробуй проделать описанные мною шаги дальше. Я сколько не сталкивался - поля столбцы Priv и Limit пустые. Судя по всему это особенность настройки данного сервера. Полагаю, это из-за IPMI Msg false. Сколько не сталкивался - везде true.
 

zhe_ka

Премиум
15.01.2018
27
99
#19
Всем привет!
Не могу запустить скрипт, помогите плиз.
ОС ubuntu-16.04-x86_64-minimal
При попытке запуска вот такая ошибка:
/usr/bin/env: ‘python\r’: No such file or directory
Питон стоит вроде
 

Valkiria

Red Team
05.01.2017
738
1 481
#20
Всем привет!
Не могу запустить скрипт, помогите плиз.
ОС ubuntu-16.04-x86_64-minimal
При попытке запуска вот такая ошибка:
/usr/bin/env: ‘python\r’: No such file or directory
Питон стоит вроде
Чаще всего такая ошибка выскакивает из-за неверного указания пути к исполняемому файлу и система не может его найти.
Первое, что приходит в голову - нужно указать НЕ относительный путь к исполняемому файлу скрипта, а абсолютный.