1. Descripción técnica
IPMI RAKP Hash Disclosure deriva del flujo de autenticación RAKP de IPMI 2.0. Antes de que el cliente haya demostrado conocer la contraseña, el BMC devuelve un código HMAC calculado con material de la sesión y la clave asociada al usuario solicitado. Un cliente conoce los restantes campos del cálculo y puede verificar candidatos de contraseña fuera de línea.
El valor capturado no es un hash simple de la contraseña y no se descifra. Herramientas de cracking reproducen el HMAC de cada candidato con los datos de la sesión hasta encontrar uno que coincida.
// renderizando diagrama…
2. Impacto
Permite recuperar contraseñas débiles de cuentas IPMI sin enviar cada intento al BMC. La misma credencial puede otorgar control del plano de administración y, si fue reutilizada, acceso a otros servicios. Un HMAC capturado no garantiza que el cracking tenga éxito: la viabilidad depende de la entropía de la contraseña.
3. Condiciones necesarias
- La interfaz IPMI 2.0 es accesible por red.
- El BMC responde al intercambio RAKP para un usuario válido.
- El atacante captura todos los campos necesarios para verificar candidatos.
- La contraseña pertenece a un espacio de búsqueda abordable para obtener texto claro.
4. Validación y detección
El módulo auxiliary/scanner/ipmi/ipmi_dumphashes de Metasploit solicita material RAKP y puede exportarlo en formatos compatibles con John the Ripper o Hashcat. La prueba debe diferenciar tres resultados: usuario válido, material RAKP capturado y contraseña finalmente recuperada. Sólo el último confirma el texto claro.
La detección defensiva debe observar consultas RAKP repetidas, enumeración de usuarios y tráfico IPMI desde segmentos no administrativos. El cracking posterior ocurre fuera de línea y no genera nuevos eventos en el BMC.
5. Explotación documentada en los writeups
5.1. 113-atom
Metasploit obtiene el material RAKP asociado a una cuenta IPMI y el ataque de diccionario recupera su contraseña. Después se comprueba la reutilización de esa credencial en SSH, una consecuencia adicional que no forma parte del protocolo RAKP.
6. Mitigación
- Aislar los BMC en una red de administración sin acceso desde redes de usuario.
- Restringir UDP 623 mediante firewall y listas de control.
- Usar contraseñas IPMI únicas, aleatorias y de alta entropía.
- Eliminar o renombrar cuentas predeterminadas cuando el fabricante lo permita.
- Actualizar firmware y aplicar controles compensatorios indicados por el proveedor.
- Evitar reutilizar credenciales IPMI en el sistema operativo u otros servicios.
7. Clasificación
- CWE-200: Exposure of Sensitive Information
- CWE-522: Insufficiently Protected Credentials
- Impacto principal: offline password cracking contra cuentas IPMI.