|
| |
Windows-Passwörter
Geschrieben von Marc Ruef <marc.ruef@computec.ch>
für http://www.computec.ch/
Version 2.0a 03. April 2000
1.0 Inhaltsverzeichnis
1.0 Inhaltsverzeichnis
2.0 Das Netzwerk-Passwort
3.0 Word-Passwörter
3.1 Einführung
3.2 Die Sicherheitsrisiken
2.0 Das Netzwerk-Passwort
Bei Windows 9x kommt eine relativ simple Verschlüsselung
mittels XOR zum Einsatz kommt. So zum Beispiel beim Verschlüsseln
der Passwörter, welche beim Zugriff auf freigegebene, durch Passcodes
geschützte Ordner benötigt werden. Die XOR-Verschlüsselung
ist eine symmetrische Verschlüsselung, und kann somit mit dem selben
Schlüssel umgekehrt werden, denn bei einer symmetrischen Verschlüsselung
wird für das Ver-, sowie das Entschlüsseln der gleiche Schlüssel
verwendet.
Sobald man einen auf seiner Harddisk befindlichen Ordner mittels Klicken
mit der rechten Maustaste im Windows Explorer mit einem Passwort freigibt,
wird dies in der Registry vermerkt. Die Registry ist eine Datenbank, welche
in Windows von Microsoft integriert wurde, um administrative Arbeiten,
wie das Verwalten von Dateierweiterungen, und die Registrierungen von Programmen
zu handeln. Die Registry wird mit dem Aufrufen der Datei "regedit.exe",
welche sich im Windows-Verzeichnis befindet, geöffnet, und kann mit
demselben Programm auch editiert werden. Doch Vorsicht ist hier geboten,
denn ein falscher Eintrag in die Registry kann das ganze System unbrauchbar
machen.
Das Passwort für das Anwählen des freigegebenen Ordners ist
mittels einer auf der mathematischen Funktion XOR aufbauenden Verschlüsselung
vorgenommen, und als Hex-Werte im Schlüssel "Param1enc" und "Param2enc"
in "Arbeitsplatz/HKEY_LOCAL_MACHINE/Software/Microsoft/Network/Lanman/Freigegebener
Ordner" der Registry gespeichert. "Param1enc" beinhaltet das verschlüsselte
Passwort für Schreibzugriffe, und "Param2enc" gegebenenfalls das verschlüsselte
Passwort für reine Lesezugriffe.
XOR bedeutet im englischen "exclusive or", und wird mit den Fachbegriffen
Antivalenz oder Addition modulo 2 erklärt. Diese mathematische Funktion
wir als elementar logische Operation betrachtet. Sprachlich ist sie mit
"entweder, oder" gleichzusetzen. Die Mathematische Abbildung sieht folgendermassen
aus:
Wert False (0)
True (1)
False (0) False (0) True (1)
True (1) True (1) False (0)
XOR wird, wie vielleicht schon aufgefallen, als elementare Verschlüsselungsoperation
in den verschiedensten Bereichen eingesetzt. Dies gilt nicht nur für
den Bereich des Personal Computers, sondern sie wird auch für die
Prüfsummenbildung in der Chipkarten-Technik eingesetzt. Kommt sie
in geeigneter Kombination mit anderen Operationen vor, ist sie sehr nützlich,
und schwer zu entschlüsseln. Ein wirklich gutes Beispiel dafür
ist der Verschlüsselungsalgorithmus zu IDEA. Oft wird sie in simpelster
Weise eingesetzt, wie wir es am Beispiel von Windows 9x schon gesehen haben.
Dort wurde einfach der Klartext per XOR mit dem Schlüssel verknüpft.
Die Entschlüsselung erfolgt durch eine erneute XOR-Verknüpfung,
denn es gilt (a XOR b) XOR b = a.
Doch nun genug der trockenen Theorie der Mathematik. Wenden wir uns
einem Gedankenspiel meinerseits zu: Möchte man nun, dass ein Ordner
unter Windows ohne Passwort freigegeben ist, löscht man einfach das
verschlüsselte Passwort in den Param-Einträgen. Dies könnte
theoretisch ein trojanisches Pferd erledigen. Ein solches Tool existiert
noch nicht, und es wäre es wohl durchaus wert, dieses Gedankenspiel
einmal in die Praxis umzusetzen.
Doch es gibt auch die Möglichkeit, jenen Eintrag zu entschlüsseln.
Doch vorerst möchte ich erklären, wie eine Verschlüsselung
mittels XOR durchgeführt wird:
Als erstes versuchen wir den Buchstaben A mittels XOR zu verschlüsseln.
Der Buchstabe A hat in der ASCII-Tabelle den Wert 65. Diese dezimale Zahl
geben wir in einen wissenschaftlichen Taschenrechner ein, wie er bei Windows
schon implementiert ist. Jetzt verwandeln wir diese dezimale Zahl in eine
hexadezimale, welche dann 41 lautet. Jetzt wählen wir die Xor funktion,
und geben 35 ein. Nun erscheint die Zahl 74 auf dem Display, welche nun
das mit XOR verschlüsselte, in einer hexadezimalen Zahl wiedergegebene
Pendant zum ASCII-Zeichen A ist. Eine ASCII-Tabelle findet sich ohne weiteres
im WWW, oder man wird in einschlägiger Fachliteratur, ja sogar dem
Handbuch zu MS DOS fündig.
Jetzt kehren wir das ganze um: Der erste Eintrag in Param1enc lautet
61, und ist wie schon oben erwähnt ein hexadezimaler Wert. Diesen
Wert geben wir als hexadezimalen Wert in unseren Wissenschaftlichen Taschenrechner
ein. Nun drücken wir XOR, und geben danach die Zahl 35 ein, und erhalten
den hexadezimalen Wert 54 als Ausgabe. Jetzt wandeln wir diesen Wert in
eine dezimale Zahl um: Es erscheint 84 auf dem Display des Rechners. Nun
schauen wir in einer ASCII-Tabelle nach, welches Zeichen neben dem Eintrag
84 steht: Es ist der Buchstaben T. Der erste Buchstaben des verschlüsselten
Passwortes lautet also T. Diesen Vorgang führen wir für die restlichen
Buchstaben des Passwortes fort. Die nächste Zahl müssen wir jedoch
mit dem hexadezimalen Wert 9A mit XOR kombinieren. Die folgenden Kombinationen
mit XOR lauten dann jeweils 4D, A6, 53, A9, D4 und 6A.
3.0 Word-Passwörter
3.1 Einführung
Das Passwort von Word-Dateien, nehmen Word for Windows (kurz
WfW), berechnet aus dem Passwort einen 16 Byte Schlüssel und verknüpft
den Text mit einer zyklischen XOR Verbindung. Diese Kodierung nennt sich
"repeated key cipher" und lässt sich mit nicht so viel Aufwand dekodieren.
In den Versionen 1 und 2 von WfW wurde der Schlüssel noch mit dem
verschlüsselten Dokument abgelegt. Mit ein wenig Aufwand konnte der
entschlüsselte Text gelesen und das Passwort entfernt werden. Dazu
musste einfach der 16 Byte Schlüssel gefunden und der Text mit der
zyklischen XOR Verknüpfung entschlüsselt werden. Marc Thibault
benutzt eine solche Routine in seinem WORDUNP Programm. WWPass (Version
1.10, 1995/96) ist ein anderes DOS-Programm, welches das Passwort entfernt.
Man sollte noch ein zusätzliches Programm testen. Leider sind die
Dokumenten in der alten Version nicht mehr die Regel. In der Version 6
hat sich das Dokumentenformat geändert und der Schlüssel liegt
nicht länger in der Datei. Dadurch wird das Lösen des Problems
etwas komplizierter, doch mit ein wenig Wissen über Kryptonanalyse
lässt sich der klare Text aus dem Dokument nehmen.
Folgende Schritte sind nötig:
Lade einen 16 Byte Teil des Ciphertext in einen Puffer.
Für jeden Schlüssel von 1 bis 16: Das Schlüsselbyte ist
das am häufigsten vorkommende Zeichen (nämlich das Leerzeichen)
in der Zeile XOR'd mit 32 (dem ASCII Code vom Space).
XOR zyklisch den Schlüssel mit dem Ciphertext.
Zwar kann über diese Technik der Text wieder sichtbar gemacht weden,
jedoch ist der Benutzer grössten Teils dabei die Vorschläge des
Programmes zu bewerten. Und wenn das Dokument kurz oder wenige Leerzeichen
enthält scheitert der Versuch. Der Word for Windows Password-Cracker
(Version R8, August 1995) ist ein Programm von Fauzan Mirza, der obigen
Algorithmus noch verfeinert. Die Entschlüsselungs-Routine basiert
auf dem Programm W1 von Lyal Collins. Die Idee basiert auf der Annahme,
dass Dokumente grössten Teils aus Kleinbuchstaben besteht und in einer
bestimmten Häufigkeit vorkommen. (Daher ist das Programm auch für
englische Dokumente konstruiert.) Das Programm scheitert nur an kleinen
Texten, da keine Analysedaten bereit stehen.
3.2 Die Sicherheitsrisiken
Öffnet man ein passwortgeschütztes Word-Dokument
in einem Word-kompatiblen Programm, welches keine Passwortfunktionen kennt,
und den gewünschten Text trotzdem interpretieren kann, hat man den
Schutz elegant umgangen.
Siehe auch assymmetrische
Kryptoalgorithmen, Brute-Force,
Kryptoanalyse, monoalphabetische
Verschlüsselung, symmetrische
Kryptoalgorithmen, XOR
| |
Windows-Passwörter |
|
Ihr Name: Besucher (nicht angemeldet).
Online: 10 aktive User.
|
|
Anmelden | Abmelden |
|
|
Benachrichtigen bei Änderungen: |
|
|
|
|
Antivirus-Infos: |
|
|