Mit roher Gewalt

Windows-Passwörter werden verschlüsselt auf Rechnern abgelegt und im Netzwerk übertragen. Trotzdem gibt es Methoden und Tools, um an die Klartextpasswörter zu gelangen. Nur wer deren Tricks kennt, kann sich zuverlässig schützen.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 11 Min.
Von
  • Daniel Bachfeld
Inhaltsverzeichnis

Um unautorisierte Zugriffe auf Windows-PCs zu verhindern, kann man eine vorherige Authentifizierung erzwingen. Den meisten Anwendern ist dies als Windows-Login bekannt, der mit CTRL-ALT-DEL aufgerufen wird. Nur zugelassene Benutzer können sich mit Name und Passwort lokal anmelden. Ist der Rechner in ein Windows-Netz eingebunden, meldet man sich in der Regel am Domänen-Controller an. Die Eingabemaske ist die gleiche, mit dem Unterschied, dass man statt des Rechnernamens den Namen einer Domäne auswählt. Der Domänen-Controller verwaltet die Zugriffsrechte der Anwender auf Netzwerk-Ressourcen beziehungsweise die Rechte der Anwender in einer Domäne. Angemeldete Benutzer erhalten einen so genannten Access-Token, mit dem man sich anderen Systemen gegenüber autorisieren kann. Zum Schutz der Anmeldedaten vor dem Ausspähen auf dem lokalen PC und während der Übertragung im Netzwerk verschlüsselt Windows die übertragenen Daten. Spezielle Programme knacken aber auch die eingesetzte Verschlüsselung der Anmeldeinformationen.

Die ersten Implementierungen eines Domänenkonzeptes wurden mit dem LanManager (LM) realisiert. DOS-, Windows- und OS/2-Clients konnten in einer Domäne auf Unix- und OS/2-Server zugreifen. Die Authentifizierung erfolgt über ein Challenge/Response-Verfahren. Dabei wird im Netzwerk nie das Passwort selbst übertragen, weder verschlüsselt noch im Klartext, sondern eine so genannte verschlüsselte Response als Antwort auf eine vom Server gesendete Challenge.

Passwörter speichert Windows auf Clients und Servern immer verschlüsselt. Dazu wandelt es das Passwort in eine 14-Byte-lange Zeichenkette um, in dem es zu lange Wörter abschneidet beziehungsweise zu kurze mit Nullen verlängert und alle Kleinbuchstaben in Großbuchstaben umwandelt. Zusätzlich dreht es alle Bytes um (reversed) und teilt die Zeichenkette in zwei 7-Byte-Ketten auf. Diese verwendet Windows als 56-Bit-DES-Schlüssel (7x8), um eine, in jedem Windows-PC gleiche, 8-Byte-Kette ("KGS!@#$%") zu verschlüsseln. Fügt man die zwei verschlüsselten 8-Byte-Strings wieder zusammen, erhält man einen 16 Byte langen Hash, der auf dem Client und dem Server als LanManager-Hash gespeichert wird.

Windows erzeugt den LM-Hash mit zwei 56-Bit-DES-Schlüsseln.

Die Schwächen dieser Methode liegen auf der Hand: Das Passwort ist maximal 14 Zeichen lang und verwendet nur Großbuchstaben, statt eines 112-Bit-Schlüssels (14x8) werden zwei 56-Bit-Schlüssel benutzt. Zwei kurze Schlüssel lassen sich aber schneller berechnen, als ein langer. Ist das Passwort nur 7 Byte lang, besteht ein Schlüssel sogar nur aus Nullen. Da beim Erzeugen des LM-Hashes eine zufällige Komponente fehlt, erzeugt das gleiche Passwort immer den gleichen Hash. Ein Angreifer kann damit riesige Hash-Tabellen vorberechnen, um später das Passwort zu knacken. Der Advanced Instant NT Password Cracker [8] implementiert genau diese Methode: Mit Tabellen von 2 GByte kann er 99 Prozent der Passwörter in weniger als einer Minute knacken.