ESXi root Password Recovery

Warum es wichtig ist, den physischen Zugang zum Server und zu IPMI / iRMC zu sichern

Der Titel des Artikels ist nicht ganz korrekt, denn bei der beschriebenen Technik handelt es sich nicht wirklich um ein Recovery, sondern um ein Passwort Rücksetzung auf ein leeres Passwort des root Kontos. Eine detaillierte Anleitung schrieb Autor Lingeswaran auf Unixarena, die ich an einem Testsystem ausprobierte. Der Ablauf ist im Artikel unten dokumentiert.

Schwachstelle ?

Ich würde diese Möglichkeit nicht als Schwachstelle oder Sicherheitslücke von VMware ESXi betrachten, denn man benötigt zur Durchführung physischen Zugang zum Server bzw. zu dessen Remotekonsole (iRMC). Dass ein Rechenzentrum entsprechend gesichert sein muss, versteht sich im Grunde von selbst. Aber auch Remote Management Konsolen müssen geschützt sein und vor allem Defaultpasswörter müssen geändert werden. Für die unten beschriebene Prozedur benötigte ich keinen Zutritt zum Rechenzentrum. Alles wurde remote mittels iRMC durchgeführt. Das gilt auch für das virtuell eingelgte Ubuntu ISO.

Durchführung

resetroot01

Der root Zugang ist über ein Passwort geschützt.

resetroot02

Ich verbinde mich mit der Remote Konsole von iRMC (Fujitsu) und binde ein Ubuntu Desktop ISO ein.

resetroot03Remote Storage > Connect

Mangels Passwort kann ich den server nicht mit einem reboot starten. Ich muss ihn hart ausschalten – auch das geht remote über iRMC.

iRMC > Power Management > Power Cycle

Beim Start des Systems gehe ich ins Bootmenü (F12) und wähle die Ubuntu DVD aus. Ich wähle die Option Try Ubuntu. Damit startet das System komplett von DVD (ISO).

resetroot04Zunächst wird ein Terminalfenster benötigt. Die Suche funktioniert bei Ubuntu mit dem Icon links oben. Dort gibt man „terminal“ ein.

resetroot05Für alle weiteren Aktionen benötigen wir root Rechte, die wir aber mit sudo ohne Probleme erhalten. Danach starten wir zur Ermittelung der ESXi Partition das Tool „fdisk“.

sudo su
fdisk -l

Das ESXi Bootmedium ist 8 GB groß und der Installer hatte eine GPT Partitionstabelle erstellt. GPT wird von fdisk nicht unterstützt.

resetroot06Hier hilft gparted weiter.

gparted

Die gesuchte Partition ist /dev/sda5

resetroot07Die Partition /dev/sda5 (ESXi) wird ins Live-Linux eingebunden.

mount /dev/sda5 /mnt
cd /mnt
ls -lrt

Das interessante File ist state.tgz.

resetroot08Die Datei state.tgz wird zur Bearbeitung nach /tmp kopiert.

cp state.tgz /tmp/
cd /tmp
ls

 

resetroot09

Da es sich um einen Tarball handelt, muss dieser erst entpackt werden.

tar -xzf state.tgz

Darin befindet sich ein weiterer Tarball „local.tgz“. Auch dieser muss entpackt werden.

resetroot10

tar -xzf -local.tgz

Aus local.tgz wurde das Verzeichnis „etc“ extrahiert.

resetroot11

Im File etc/shadow sind die verschlüsselten Passwörter des ESXi abgelegt. Man kann diese zwar nicht im Klartext auslesen, aber man kann sie löschen. 🙂

cd etc
cat shadow | grep root

Die Ausgabe zeigt das shadow des Benutzers root.

resetroot12Der Bereich zwischen dem ersten und zweiten Doppelpunkt in der Zeile „root“ muss entfernt werden. Dazu verwendet man einen Editor wie „vi“ oder „nano“. Das Bild unten zeigt den Ihnalt von shadow, nachdem das root Passwort gelöscht wurde.

resetroot13

Jetzt muss die veränderte Shadow Datei wieder zurück ins tar. Dazu müssen wir eine Ebene aufsteigen und zunächst das local.tgz mit Verzeichnis etc aktualisieren. Danach state.tgz mit local.tgz aktualisieren.

cd ..
tar -czf local.tgz etc
tar -czf state.tgz local.tgz

resetroot14Den aktualisierten Tarball wieder nach /mnt kopieren und danach /mnt unmounten und den Server neu starten.

cp state.tgz /mnt
umount /mnt
reboot

Nach dem Neustart des Systems funktioniert der root Login mit leerem Passwort. 🙂

 

Links

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.