Watchguard XTM 5 – BIOS entsperren / modifizieren

Auf Watchguard-Geräten der XTM 5 Serie kann die aktuelle BIOS-Konfiguration standardmäßig zwar eingesehen, jedoch nicht verändert werden. Dadurch ist es beispielsweise nicht möglich, das Booten über USB-Sticks zu erlauben oder Änderungen an der Lüftersteuerung vorzunehmen.

Bei meiner Recherche bin ich zwar auf diverse angepasste BIOS-Versionen gestoßen, jedoch stimmten Details wie Release-Datum nicht mit meinem Gerät überein. Grund genug, mir selbst ein Bild davon zu machen.

Voraussetzung für die weiteren Schritte ist ein laufendes Linux oder (Free-)BSD, da ein System zum Auslesen und Flashen des BIOS benötigt wird. Ich nutze hier eine vorhandene pfSense-Installation.

Im ersten Schritt habe ich mir mit dem Kommandozeilenprogramm „dmidecode“ Informationen zum aktuellen BIOS ausgeben lassen:

dmidecode -t bios
BIOS Information
         Vendor: American Megatrends Inc.
         Version: 080015
         Release Date: 04/26/2010
         Address: 0xF0000
         Runtime Size: 64 kB
         ROM Size: 1024 kB

Nun habe ich das Tool „flashrom“ installiert, mit dem sich unter anderem BIOS-Chips auslesen und beschreiben lassen:

pkg install flashrom

Da ich das vorhandene BIOS editieren wollte, musste ich es zuerst auslesen. Flashrom unterstützt viele verschiedene Geräte, daher muss mit dem Parameter „-p“ zuerst das Mainboard (internal) ausgewählt und danach ein Pfad zum Sichern des BIOS mit „-r“ angegeben werden:

flashrom -p internal -r /tmp/BIOS-backup.rom
flashrom v1.0 on FreeBSD 11.2-RELEASE-p10 (amd64)
flashrom is free software, get the source code at https://flashrom.org
  
Using clock_gettime for delay loops (clk_id: 4, resolution: 1ns).
Found chipset "Intel ICH7/ICH7R".
Enabling flash write... OK.
Found Micron/Numonyx/ST flash chip "M25P80" (1024 kB, SPI) mapped at physical address 0x00000000fff00000.
Reading flash... done.

Die erzeugte Datei habe ich auf einen Windows-PC verschoben und eine Kopie in dem Tool „AMIBCP for Windows“ geöffnet. Im Netgate-Forum hat ein Nutzer freundlicherweise den Hinweis gegeben, dass die „User Access Level“-Werte von „02“ auf „03“ geändert werden müssen, die Konfiguration sieht somit folgendermaßen aus:

Nach dem Speichern der Änderungen habe ich die modifizierte Datei wieder auf die Watchguard kopiert, um diese nun in den BIOS-Chip zu schreiben. An dieser Stelle der übliche Hinweis, dass beim Flashen immer etwas schiefgehen kann und dies auf eigene Gefahr erfolgt. Sollte das System am Ende nicht mehr starten, kann ich jedoch dieses Video empfehlen.

flashrom -p internal -w /tmp/BIOS-modded.rom
flashrom v1.0 on FreeBSD 11.2-RELEASE-p10 (amd64)
flashrom is free software, get the source code at https://flashrom.org
  
Using clock_gettime for delay loops (clk_id: 4, resolution: 1ns).
Found chipset "Intel ICH7/ICH7R".
Enabling flash write... OK.
Found Micron/Numonyx/ST flash chip "M25P80" (1024 kB, SPI) mapped at physical address 0x00000000fff00000.
Reading old flash chip contents... done.
Erasing and writing flash chip... Erase/write done.
Verifying flash... VERIFIED. 

Nun galt es zu hoffen und das Gerät neuzustarten. Ich war froh, als über die serielle Schnittstelle wieder erste Zeichen huschten – jedoch konnte ich trotzdem keine Änderungen im BIOS vornehmen. Warum? Ich habe vergessen, die Einstellungen zurückzusetzen.

Nachdem ich das Gerät stromlos gemacht und die Batterie für ca. 30 Sekunden entnommen hatte, waren die Datums- und Zeiteinstellungen zurückgesetzt worden und ich konnte jetzt endlich alle Konfigurationsmöglichkeiten anpassen.

Ein Kommentar

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.