X41T Power-On Password auslesen

Einleitung

Ich hatte mir auf Ebay ein gebrauchtes Thinkpad X41T gekauft und meinem Drang, alles aufzuschrauben nachgegeben - diesmal mit einer Reinigung als Begründung - und im Zuge dessen die Stützbatterie abgezogen. Nachdem ich alles wieder zusammengebaut hatte, wollte das Laptop auf einmal ein Passwort von mir wissen und zwang mich aber gleichzeitig, erst ins BIOS zu wechseln und die korrekte Uhrzeit einzustellen. Ich hatte extra zur Sicherheit alle Passworteinstellungen im BIOS ausgeschaltet. Außerdem hatte ja der Vorbesitzer alle Passwörter zurückgesetzt. Trotzdem sollte ich jetzt ein Passwort eingeben. Eine kurze Recherche später war klar, dass das Passwort noch im Klartext auf einem EEPROM gespeichert sein müsste. Also habe ich mich auf die Suche gemacht.

Vorgehen

Nachdem ich die Kiste wieder in ihre Einzelteile zerlegt hatte, war der Chip leicht zu finden. Zum Glück bin ich im Besitz eines Bus Pirate, sodass eine I2C Verbindung schnell hergestellt war. Als ich dann den Chip ausgelesen und mir die Datei im Hex Editor angesehen hatte, war ich etwas ratlos, da kein Passwort zu finden war. Kein Wunder, denn ich hatte den falschen EEPROM ausgelesen. Als ich den richtigen Chip dann lokalisiert hatte, fing ich noch einmal von vorne an.

Leider war der Chip kein mir bekannter (Phillips P24S08) und hat auf meine Befehle zum Auslesen der Daten nicht reagiert. Aber der ganze Chip wird bei einem Neustart ausgelesen, jedenfalls schnitt der I2C Sniffer eine Menge Daten mit. So sind die Daten also auch beschaffbar, nur wo steht jetzt das Passwort? Ich kam dann auf die Idee, dass das Passwort zum Vergleich ja aus dem EEPROM geladen werden müsste. Also bis zur Eingabeaufforderung gewartet und einfach Enter gedrückt. Zack, sieben Byte liefen über die Leitung. Dann eine ASCII-Tabelle zu Rate gezogen. Die sieben Zeichen waren 004X139. Könnte ein Passwort sein. Also mit starkem Herzklopfen die Zeichen eingegeben und wieder Enter gedrückt. Kurze Zeit später war ich dann im BIOS und löschte das Passwort. Puh.

Jetzt wollte ich eigentlich das selbe nochmal machen, um den ganzen Prozess dokumentieren zu können. Da ich mich nicht mehr erinnern konnte, ob das Passwort das BIOS oder Power-On Passwort war, aktivierte ich beides, diesmal mit einem bekannten Passwort. Als ich dann wieder alles vorbereitet hatte und "nur noch schnell" die Kommunikation mitschneiden wollte, diesmal gleich bei der Eingabe des Passwortes, war nichts mehr los auf der Leitung des EEPROM. Die Verbindung stand, da ich beim booten die vertrauten Datenmengen mitschneiden konnte. Was war also passiert? Schon als ich zuerst vor dem Problem stand, zeigten sich Ungereimtheiten. Es gibt bei Thinkpads drei verschiedene Passwörter: das Supervisor-, Power-On- und Hard Disk Password. Da ich zu Beginn nicht einmal wusste, um welches es ging, versuchte ich erst mal, das zu ermitteln. Das Festplattenkennwort ließ sich schnell ausschließen. Blieben noch zwei Möglichkeiten. Normalerweise kommt man auch ohne das Supervisor Passwort ins BIOS, kann aber nichts ändern. Auch das war aber nicht möglich, ohne Passwort ging gar nichts. Also das Power-On Passwort? Eigentlich auch nicht, da dieses Passwort umgehbar ist, indem man ohne Stützbatterie startet. Das hat aber auch nicht funktioniert.

Ergebnis

Als ich dann mein Passwort gefunden hatte, war mir wieder egal, welches Passwort sich da einfach selbst installiert hatte. Aber die Umstände, unter denen das Problem überhaupt auftrat, die Lösung und die Nichtreproduzierbarkeit lassen für mich nur den Schluss zu, dass hier ein Bug zum Vorschein gekommen ist. Im Netz ließen sich noch ein paar ähnliche Fälle finden, bei denen aber leider nie stand, ob und wenn ja wie das Problem gelöst wurde. Sollte irgendjemand also auch dieses Problem haben, kann man sich etwas Zeit sparen und statt dem Durchsuchen des Filedumps bei der Passwortabfrage einmal Enter drücken und damit das Passwort rekonstruieren.