Ir al contenido

IPMI

Por

Madurezreviewed
Última revisión
Publicado
Última actualización

Un servidor necesita seguir siendo administrable cuando el sistema operativo no arranca, la red principal falla o el equipo está apagado. Intelligent Platform Management Interface (IPMI) sitúa esa capacidad en un Baseboard Management Controller (BMC), un sistema separado que puede leer sensores, abrir consola, montar medios y controlar energía.

La independencia que hace útil al BMC también crea otra frontera de confianza. Tiene red, firmware, usuarios, channels y logs propios, y puede conservar acceso aunque el host principal esté completamente aislado. Enumerar IPMI exige tratar el BMC como un activo distinto y relacionar cada usuario con el channel, cipher suite y nivel de privilegio que realmente puede negociar.

Los ejemplos usan TARGET_IP, USERNAME, PASSWORD, HASH_FILE, CHANNEL y USER_ID como placeholders.

IPMI requiere mensajes binarios válidos. Ncat puede comprobar de forma limitada que el puerto UDP es alcanzable, pero no sustituye el protocolo. Nmap identifica RMCP/IPMI y algunas propiedades preautenticación. ipmitool es el cliente principal para canales, usuarios, cifrados, sensores e inventario cuando existe una cuenta. El módulo ipmi_dumphashes de Metasploit automatiza la captura del intercambio RAKP cuando la versión y configuración lo permiten.

Pregunta Herramienta Límite
¿responde un BMC por IPMI? Nmap ipmi-version no identifica por sí solo fabricante ni firmware
¿qué canal y privilegio aplica? ipmitool necesita credenciales y acceso al canal
¿qué usuarios y cifrados existen? ipmitool la lista visible depende del privilegio
¿expone material RAKP offline? Nmap o Metasploit requiere validación sobre la identidad concreta
¿qué impacto tendría la cuenta? ipmitool y consola web no ejecutar power control para probar enumeración

Conserva BMC, canal, cipher suite, nivel de privilegio y usuario en cada resultado. El host administrado y su BMC son activos distintos.

Un BMC puede ofrecer inventario, sensores, Serial over LAN, control de energía, logs de hardware y acceso a medios remotos. IPMI over LAN suele utilizar 623/udp. La interfaz web del fabricante y servicios como SSH pueden aparecer en otros puertos y compartir o no el mismo almacén de identidades.

Nmap -sU selecciona UDP, -p 623 limita el escaneo y ipmi-version envía una petición RMCP/IPMI para identificar versiones y capacidades:

Identificar IPMI sobre UDP
nmap -sU -p 623 --script ipmi-version TARGET_IP

Una respuesta confirma un servicio compatible, no la marca exacta del servidor físico. Correlaciona direcciones MAC, certificado web, hostname, firmware e inventario cuando estén disponibles.

ipmitool -I lanplus selecciona IPMI 2.0 sobre RMCP+ y -H fija el BMC. -U aporta el usuario y -P la contraseña, pero -P expone el secreto en la línea de comandos. Es preferible omitirlo para que la herramienta lo solicite o usar un mecanismo protegido de lectura:

Consultar información del BMC
ipmitool -I lanplus -H TARGET_IP -U USERNAME mc info

Una vez autenticado, amplía de forma dirigida. IPMI organiza el acceso de red en channels identificados por un número:

Consultar channels, usuarios y sensores
ipmitool -I lanplus -H TARGET_IP -U USERNAME channel info 1
ipmitool -I lanplus -H TARGET_IP -U USERNAME user list 1
ipmitool -I lanplus -H TARGET_IP -U USERNAME sensor list

El número de canal varía. channel info 1 permite confirmar su medio, protocolo y estado antes de enumerar usuarios. Los niveles de privilegio IPMI, como USER, OPERATOR y ADMINISTRATOR, controlan comandos del BMC y no equivalen a usuarios del sistema operativo.

Para relacionar identidad, acceso y criptografía hacen falta tres consultas adicionales. channel getaccess CHANNEL USER_ID muestra si el usuario puede iniciar sesiones IPMI en ese channel y su límite de privilegio. channel getciphers ipmi CHANNEL enumera las cipher suites que el BMC anuncia para IPMI. lan print CHANNEL muestra la configuración de red efectiva del channel:

Relacionar acceso, cipher suites y red del BMC
ipmitool -I lanplus -H TARGET_IP -U USERNAME \
channel getaccess CHANNEL USER_ID
ipmitool -I lanplus -H TARGET_IP -U USERNAME \
channel getciphers ipmi CHANNEL
ipmitool -I lanplus -H TARGET_IP -U USERNAME lan print CHANNEL

Una cipher suite ofrecida no indica que cualquier usuario pueda negociar con ella. El BMC puede limitar el nivel de privilegio por suite y por usuario. Correlaciona el ID de usuario, el channel, el acceso IPMI, el límite de privilegio y los algoritmos antes de concluir qué sesión es posible.

No existe una pareja de credenciales predeterminada universal. Fabricante, generación, proceso de provisión y firmware cambian el comportamiento. Los candidatos procedentes de documentación o inventario deben atribuirse al modelo exacto.

En IPMI 2.0, RMCP+ utiliza el Remote Authenticated Key-Exchange Protocol (RAKP). Durante el intercambio, el BMC devuelve un HMAC calculado con material de sesión y el secreto del usuario. Si se conoce un username válido, ese valor permite comprobar candidatos de contraseña offline.

El módulo ipmi_dumphashes de Metasploit automatiza el intercambio y guarda material compatible con herramientas de cracking. El resultado depende de que IPMI 2.0 esté disponible, el username sea aceptado y el BMC implemente el comportamiento esperado:

Configurar la captura RAKP en Metasploit
use auxiliary/scanner/ipmi/ipmi_dumphashes
set RHOSTS TARGET_IP
set USER_FILE USER_LIST
run

Hashcat utiliza el modo 7300 para IPMI2 RAKP HMAC-SHA1. -m 7300 selecciona el formato y -a 0 un ataque straight con wordlist:

Comprobar candidatos offline
hashcat -m 7300 -a 0 HASH_FILE WORDLIST

La captura no altera la contraseña del BMC, pero genera intentos de negociación visibles en sus logs o en telemetría de red. Un crack correcto confirma el secreto del usuario probado. No demuestra qué privilegio tiene ni si otras interfaces aceptan la misma credencial.

La configuración que merece atención es la combinación, no un único campo: usuario habilitado, acceso IPMI activo en un channel alcanzable, límite de privilegio suficiente y autenticación compatible con el cliente. Una cuenta sin nombre puede ocupar una posición, un usuario listado puede estar deshabilitado y una interfaz web puede aplicar una política distinta. Cuando existe acceso local al BMC, compara user list, channel getaccess, channel getciphers y lan print con lo observado desde la red.

Registra al menos:

  • IP y MAC del BMC, separadas de las del sistema operativo
  • versión IPMI, RMCP+ y cipher suites anunciadas
  • fabricante, modelo y versión de firmware
  • canales activos y fuentes de autenticación
  • usuarios, estado y nivel de privilegio cuando sean visibles
  • interfaz web, SSH, virtual media y Serial over LAN
  • reloj y logs del BMC, que pueden no estar sincronizados con el host

Las acciones de energía, borrado de logs y cambios de red modifican el plano de gestión y pueden interrumpir el host. Para footprinting basta con consultas de estado y capacidad.

ipmi-version identifica la respuesta RMCP/IPMI sin credenciales. ipmi-cipher-zero prueba si una suite permite autenticación sin conocer la clave. ipmi-brute realiza intentos repetidos. Son preguntas distintas y las categorías del script no sustituyen su revisión:

Identificar IPMI sobre UDP
sudo nmap -sU -sV -n -Pn -p 623 \
--script ipmi-version TARGET_IP

Comprueba el resultado con ipmitool -I lanplus -H TARGET_IP -U USERNAME mc info cuando exista una cuenta. lanplus selecciona RMCP+ de IPMI 2.0. Un timeout puede proceder de ACL por origen, límite del BMC, cipher suite incompatible o UDP filtrado.

Una credencial BMC puede permitir consola remota, power control, virtual media, inventario y configuración de red independientemente del sistema operativo. Enumera canales, privilegio máximo, usuarios habilitados y capacidades sin ejecutar acciones de energía. Los comandos power off, power cycle, cambios de usuario, red, certificados o virtual media alteran disponibilidad o persistencia y requieren una rama de validación separada.

El material RAKP capturado permite una comprobación offline de la contraseña en determinadas configuraciones IPMI 2.0. Registra username, cipher suite, hash mode, origen y hora. Un crack negativo solo cubre el diccionario y reglas utilizados.

Muchos BMC tienen CPU y memoria limitadas. Reduce concurrencia y separa fallos de red de saturación. El appliance puede conservar auditoría de login, sesiones, cambios de usuario, consola y energía, mientras que la red observa UDP/623. Al cerrar, termina sesiones, desmonta virtual media si la operación la adjuntó, no cambies energía y conserva firmware/modelo porque condicionan interpretación y vulnerabilidades.

Selecciona clientes y NSE desde herramientas y automatización. Registra cada capacidad con la checklist y consulta comandos ya contextualizados en la cheatsheet.