• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

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

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


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

zhe_ka

Green Team
15.01.2018
129
310
BIT
0
Чаще всего такая ошибка выскакивает из-за неверного указания пути к исполняемому файлу и система не может его найти.
Первое, что приходит в голову - нужно указать НЕ относительный путь к исполняемому файлу скрипта, а абсолютный.
Пробовал прописывать абсолютный - ничего не изменилось, ругается явно питон, но вот что ему не нравиться?
 
V

Valkiria

но вот что ему не нравиться?
Выкладывай все логи, исполеяемый файл, растолковывай подробнее.
Только в этом случае можно ответить более утвердительно.
Но я настаиваю на том, что ты неправильно прописал путь к файлу.
 

chokopai

Green Team
10.10.2016
35
37
BIT
0
Всем привет!
Не могу запустить скрипт, помогите плиз.
ОС ubuntu-16.04-x86_64-minimal
При попытке запуска вот такая ошибка:
/usr/bin/env: ‘python\r’: No such file or directory
Питон стоит вроде
Скорее всего скрипт автор из под винды писал. И твой терминал просто не вывел тебе всего текст ошибки. На вскидку понятно что строка ‘python\r’ воспринимается как одно слово , а не как "/python/(путь) и "\r" (возврат каретки) .
Попробуй напрямую (без bash а прямо в интерпретаторе) посмотреть
python
>>>from subprocess import Popen, PIPE
>>> Popen('./твой скрипт.py', stdout=PIPE, stderr=PIPE).communicate()
и если увидишь что то типа
(b ' b' /usr/bin/env: ‘python\r’: No such file or directory)
то значит так оно и есть , что '\r' воспринимается как часть команды запуска скрипта , а дирректории ‘python\r’ у тебя естественно нет, по тому и ругается "No such file or directory"
Если всё так ,попробуй создать в PATH файл с именем 'python\r' :
os.symlink('/usr/bin/python', os.path.expanduser('~/bin/python\r'))
после чего по идее должно всё запуститься.
Хотя могу окнечно и ошибаться .. Кстати совсем не давно , где то я уже видел похожий случай, на каком то форуме вроде, так что в гугл думаю тебе тоже заглянуть не помешало бы..
 

zhe_ka

Green Team
15.01.2018
129
310
BIT
0
В общем запустил я скрипт, зашел в папку со скриптом, и написал python скрипт.py , правда пришлось ещё установить python-requests.
 

zhe_ka

Green Team
15.01.2018
129
310
BIT
0
Cначала загрузил через filezilla скрипт 44005.py в путь var/www/htlml
Потом с помощью команды cd зашел в эту папку и запустил help для теста командой python 44005.py -h
GIDMdCLC.png
 

woos

New member
09.10.2017
1
0
BIT
0
подскажите что это за ошибка Error! Could not connect to target 192.168.10.125, Reason: HTTPSConnectionPool(host='192.168.10.125' , port=443): Max retries exceeded with url: /rest/v1/AccountService/Accounts (Caused by SSLError(SSLError(1, u' [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:726) ' ) , ))
 

carderxp

New member
07.05.2018
4
0
BIT
0
как сдампить пароли ? так как добавлено максимальное кол-во учеток.
Код:
[-] Error! Server returned status code 400, data: {"Messages":[{"MessageID":"Base.0.10.CreateLimitReachedForResource"}],"Type":"ExtendedError.1.0.0","error":{"@Message.ExtendedInfo":[{"MessageID":"Base.0.10.CreateLimitReachedForResource"}],"code":"iLO.0.10.ExtendedInfo","message":"See @Message.ExtendedInfo for more information."}}
вот что нашел в гугле
Subverting your server through itsBMCstruct  https_connection{...0x0C:char  connection[0x10];...0x28:char  localConnection;...0xB8:void*vtable;}Indeed, a very simple and stable exploitation consists in sending aConnectionheader containing 29 random characters. The overflow willreach thelocalConnectionboolean, setting it to a non-zero value. Thisis sufficient to allow unauthenticated access to several pages, includingtheRest APIendpoint.Gaining arbitrary code execution is a bit harder, as we have to overwritethevtablepointer to make it point to a known place containing arbitraryfunction pointers. The first observation we made was that there was nodefense-in-depth mechanism such asNXorASLR. We then noticed thateach web server thread uses a working buffer located in the binary.datasection, in which each line received is stored before being parsed. We thusare able to control this working buffer content, and can use it to store afakevtableand a shellcode, gaining effective code execution.We developed a proof-of-concept exploit reading the content of the filecontaining the cleartext users credentials (i:/vol0/cfg/cfg_users.bin):$  python  exploit_get_users.py
192.168.42.78  250
[*]Connecting  to192.168.42.78..
.[+]Connected
[*]Assembling  shellcode...
[*]Preparing  shellcode  headers...
[*]Preparing  fake  vtable..
.[*]Preparing  fake  vtable  headers...
[*]Preparing  XML  request...
[*]Sending1094d  bytes...
[+]Request  XML  sent
[*]XML  data  retrieved
[*]Found  iLO  version2.50[*]Preparing  request2..
.[*]Sending109f9  bytes...
[+]Request2sen
t[+]User01: [Administrator] [Administrator] [G......7]
[+]User02: [admin] [admin] [passw0rd]
 

Zer0must2b

Green Team
23.06.2019
306
138
BIT
0
Код:
Target is VULNERABLE!
Traceback (most recent call last):
  File "44005.py", line 111, in <module>
    for i in data['Items']:
KeyError: 'Items'
$
 

pr0phet

Platinum
02.04.2018
358
496
BIT
9
как сдампить пароли ? так как добавлено максимальное кол-во учеток.
Код:
[-] Error! Server returned status code 400, data: {"Messages":[{"MessageID":"Base.0.10.CreateLimitReachedForResource"}],"Type":"ExtendedError.1.0.0","error":{"@Message.ExtendedInfo":[{"MessageID":"Base.0.10.CreateLimitReachedForResource"}],"code":"iLO.0.10.ExtendedInfo","message":"See @Message.ExtendedInfo for more information."}}
вот что нашел в гугле
Subverting your server through itsBMCstruct  https_connection{...0x0C:char  connection[0x10];...0x28:char  localConnection;...0xB8:void*vtable;}Indeed, a very simple and stable exploitation consists in sending aConnectionheader containing 29 random characters. The overflow willreach thelocalConnectionboolean, setting it to a non-zero value. Thisis sufficient to allow unauthenticated access to several pages, includingtheRest APIendpoint.Gaining arbitrary code execution is a bit harder, as we have to overwritethevtablepointer to make it point to a known place containing arbitraryfunction pointers. The first observation we made was that there was nodefense-in-depth mechanism such asNXorASLR. We then noticed thateach web server thread uses a working buffer located in the binary.datasection, in which each line received is stored before being parsed. We thusare able to control this working buffer content, and can use it to store afakevtableand a shellcode, gaining effective code execution.We developed a proof-of-concept exploit reading the content of the filecontaining the cleartext users credentials (i:/vol0/cfg/cfg_users.bin):$  python  exploit_get_users.py
192.168.42.78  250
[*]Connecting  to192.168.42.78..
.[+]Connected
[*]Assembling  shellcode...
[*]Preparing  shellcode  headers...
[*]Preparing  fake  vtable..
.[*]Preparing  fake  vtable  headers...
[*]Preparing  XML  request...
[*]Sending1094d  bytes...
[+]Request  XML  sent
[*]XML  data  retrieved
[*]Found  iLO  version2.50[*]Preparing  request2..
.[*]Sending109f9  bytes...
[+]Request2sen
t[+]User01: [Administrator] [Administrator] [G......7]
[+]User02: [admin] [admin] [passw0rd]
В статье же описано:

1575851042369.png


Сдампить можно только хеши паролей.
 

carderxp

New member
07.05.2018
4
0
BIT
0

LTD

Green Team
14.12.2019
22
21
BIT
0
Как правильно написать запрос для Шодана по глобальному поиску таких серваков?
 

LTD

Green Team
14.12.2019
22
21
BIT
0
)))) Спасибо!
А как чтобы сразу "HPE iLo 4 ниже 2.53"?
 

id2746

Green Team
12.11.2016
435
644
BIT
14
)))) Спасибо!
А как чтобы сразу "HPE iLo 4 ниже 2.53"?
только для тебя палю преватную схему прямо в паблик:
kak_vzlomat_analnuju_joppu.JPG

и друзьям расскожи.
)

Вот тебе на похек с патсонами три штуки прямиком из Румынии.
HTML:
https://www.shodan.io/search?query=HP+iLo+product%3A%22HP+iLO%22+version%3A%221.91%22+country%3A%22RO%22
 
  • Нравится
Реакции: LTD
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!