623/UDP/TCP - IPMI
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
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 di avvio pre-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 sull'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)
Puoi identificare la versione utilizzando:
Nel campo di IPMI 2.0, è stata scoperta una significativa falla di sicurezza da Dan Farmer, che espone 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 un utente valido sia preso di mira. 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.
Per rilevare questa falla, può essere impiegato il seguente scanner ausiliario di Metasploit:
Sfruttare questa vulnerabilità è possibile con ipmitool
, come dimostrato di seguito, consentendo l'elenco e la modifica delle password degli utenti:
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:
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
:
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:
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:
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.
L'accesso amministrativo al Baseboard Management Controller (BMC) apre varie vie 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 ripristino. 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.
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.
port:623
Impara e pratica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)