Wiederherstellung von Internet Explorer
Passwörtern: Theorie und Praxis
Einführung
Typen von in IE gespeicherten Passwörtern
Internet-Anmeldedaten
Auto-Vervollständigung von Eingabedaten
Auto-Vervollständigung von Passwörtern
FTP-Passwörter
Passwörter zur Synchronisierung von zwischengespeicherten
Webseiten
Profile-Passwörter
Formular-Feld-Daten
Passwörter für den Inhaltsratgeber
Kurzübersicht Programme zur Wiederherstellung von IE Passwörtern
PIEPR – die erste Wahl
Beispiele aus der Praxis.
Beispiel 1: Wiederherstellung eines FTP-Passworts des aktuellen
Benutzers
Beispiel 2: Wiederherstellung von Internet-Passwörtern. Das
Betriebssystem startet nicht mehr
Beispiel 3: Wiederherstellung von alternativ gespeicherten
Passwörtern
Zusammenfassung
Einführung
Es wird wohl niemand bestreiten, dass der Internet Explorer (IE)
heutzutage der am meisten verwendete Webbrowser ist. Laut Statistik haben sich
ca. 70% der Internet Benutzer für dieses Programm entschieden. Die Debatte über
Pro und Contra wird wohl ewig dauern; was jedoch niemand bestreiten kann ist,
dass der IE den Defacto-Standard darstellt. IE beinhaltet diverse Technologien
um dem Benutzer die Arbeit zu erleichtern. Eine dieser Technologien –IntelliSense-
dient dazu wiederkehrende Tätigkeiten zu erleichtern, z.B. durch die
automatische Vervollständigung von bereits besuchten Webadressen, Ausfüllen von
Formularfeldern, Passwörtern, usw.
Viele heutige Angebote im Internet erfordern eine Anmeldung des Benutzers, d.h.
der Benutzer muss sich durch einen Namen und ein Passwort identifizieren. Falls
Sie mehr als ein Dutzend dieser Angebote nutzen benötigen Sie wohl eine Software
zur Passwortverwaltung. Alle Modernen Browser beinhalten solch eine
Passwortverwaltung, natürlich auch der IE. Warum sollte man sich immer
neue Passwörter, welche schnell wieder in Vergessenheit geraten,
merken müssen ? Es wäre doch sehr viel einfacher wenn der Browser diese lästige
Tätigkeit von speichern und wieder aufrufen der Passworte für Sie erledigt. Es
ist einfach und komfortabel.
Dies wäre eine absolut perfekte Lösung; jedoch, falls Ihr Betriebssystem
zerstört ist oder nicht wieder korrekt Installiert wird, ist die
Wahrscheinlichkeit sehr gross die gespeicherten Passworte zu verlieren. Dies ist
der Preis für die Einfachheit und den Komfort. Zum Glück hat fast jedes
Internet-Angebot eine Funktion 'Passwort vergessen'. Dies ist jedoch kein
Allheilmittel.
Jeder Entwickler löst das Problem der vergessenen Passwörter anders. Manche
empfehlen das regelmässige Kopieren von wichtigen Dateien in einen
Sicherungsordner, andere geben dem registrierten Benutzer ein Programm an die
Hand mit dessen Hilfe er seine Daten retten kann, wieder andere sehen kein
Problem darin und bieten keine Unterstützung an. Die Nachfrage bestimmt jedoch
das Angebot; und Programme zur Wiederherstellung von Passwörtern haben eine hohe
Nachfrage.
In diesem Artikel geht es um die verschiedenen Arten von privaten Daten welche
IE speichert, wie diese Daten wieder zurückgeholt werden können sowie die
beispielhafte Wiederherstellung von verlorenen Internet-Passwörtern.
Typen von in IE gespeicherten Passwörtern
IE kann folgende Typen von Passwörtern speichern:
- Internet Anmeldedaten
- Auto-Vervollständigung von Eingabedaten
- Auto-Vervollständigung von Passwörtern
- FTP-Passwörter
- Passwörter zur Synchronisierung von zwischengespeicherten Webseiten
- Profile-Passwörter
- Formular-Feld-Daten
- Passwörter für den Inhaltsratgeber (Content Advisor)
Sehen wir uns jeden Typ einmal etwas genauer an.
Internet-Anmeldedaten
Unter Internet-Anmeldedaten versteht man den Benutzernamen und das
Passwort welche für manche Webseiten benötigt werden. Diese Daten werden durch
die wininet.dll verarbeitet. Wenn man eine geschützte Webseite aufrufen möchte,
kommt eventuell die Anmeldeaufforderung (Fig. 1).

Fig 1. Internet Credentials dialog.
Wenn die Option 'Dieses Kennwort in der Kennwortliste speichern'
ausgewählt wird, werden die Anmeldedaten auf dem lokalen Computer gespeichert.
Bei den älteren Windowsversion der 9x-Reihe wurden diese Daten in
PWL-Dateien gespeichert. Bei den aktuellen Windowsversionen ab Windows 2000
werden diese nun im sogenannten 'Geschützten Speicher'
abgelegt.
Autovervollständigen von Formular-Daten
Formular-Feld-Daten (Passwörter werden anders behandelt) sind
ebenfalls im 'Geschützten Speicher' abgelegt und erscheinen dort als eine Liste
von HTML-Formularfeld-Namen und den entsprechenden Benutzerdaten. Wenn ein
Benutzer auf einer HTML-Seite seine e-mail Adresse in ein entsprechendes
Formularfeld eingibt, wird der Feldname sowie der Feldinhalt und das Datum bzw.
Zeit der letzten Benutzung im 'Geschützten Speicher' abgelegt. Der Titel sowie
die Adresse der HTML-Seite werden nicht gespeichert. Ist das nun gut oder
schlecht ? Diese Frage ist schwierig zu beantworten; tendentiell ist sie wohl
eher gut. Die offensichtlichen Vorteile sind: es wird nicht soviel Platz belegt
und die Suche ist nicht so zeitraubend. Falls Sie der Meinung sind, dass diese
Gründe nicht so relevant sind, denken Sie einmal welcher Aufwand für die
zusätzlichen Prüfungen in einer mehrere 1000 Einträge (dies ist nicht so selten)
umfassenden Auto-Vervollständigunsliste verursachen würde.
Ein weiterer Vorteil ist, dass die Daten von gleichnamigen Formularfeldern am
selben Ort gespeichert werden und diese Daten dann für alle Webseiten mit den
gleichen Formularfeldern zur Verfügung stehen. Hier an einem Beispiel erläutert:
Eine Webseite enthält ein Formularfeld mit den Namen 'email' und der Benutzer
gibt my@email.com in dieses Feld ein. IE wird den Eintrag email=my@email.com im
„Geschützten Speicher" ablegen. Wenn der Benutzer nun in Zukunft irgendeine
Webseite öffnet, welche ebenfalls das Formularfeld 'email' beinhaltet, wird
sofort der Wert my@email.com als Vorschlagswert eingetragen. Hier entdeckt man
Züge von Künstlicher Intelligenz im Browser.
Der grösste Nachteil dieser Speichermethode entsteht aber genau aus diesen
Vorteilen. Wenn der Benutzer Daten für die Auto-Vervollständigen-Funktionen
abgespeichert hat, kann jeder der die Namen der Felder kennt eine simple lokale
HTML-Seite mit den fraglichen Formularfeld-Namen erstellen und bekommt die für
diese Felder gespeicherten Informationen angezeigt. Hierzu muss weder eine
Internet-Verbindung existieren noch muss die originale Webseite geöffnet werden.
Autovervollständigen von Passwörtern
Im Falle von Autovervollständigen von Passwörtern werden diese nicht
automatisch ausgefüllt, da diese Funktion auch den Namen der Webseite mit
abspeichert. Hier ist also jedes Passwort an eine bestimmte Webseite gebunden.
In der neuen Version, IE 7, werden Passwörter anders verschlüsselt als
Formulardaten; die neue Verschlüsselungsmethode ist nicht mit dem beschriebenen
Manko behaftet (falls man es als Manko einstufen kann).
Der Benutzer kann die Einstellungen für Auto-Vervollständigen im Menü 'Extras
– Internetoptionen – Inhalte' selbst vornehmen.

Fig 2. Internet Explorer AutoComplete settings.
FTP-Passwörter
FTP-Passwörter werden auf fast dem gleichen Wege gespeichert, seit
Windows XP werden diese jedoch zusätzlich mit der DPAPI verschlüsselt. Diese
Verschlüsselungsmethode verwendet das Anmeldepasswort des Benutzers. Dies macht
die Entschlüsselung im Falle eines verlorenen Passworts natürlich schwieriger,
da hierfür der Hauptschlüssel des Benutzers sowie seine SID als auch sein
Anmeldepasswort benötigt werden.
Passwörter von zwischengespeicherten Webseiten
Um kein Passwort für zwischengespeicherte Webseiten (dies sind Seiten
welche für den Offline-Betrieb vorgesehen wurden) eingeben zu müssen gibt es
hierfür einen eigenen Speichertyp. Diese Passwörter werden ebenfalls im 'Geschützten
Speicher' abgelegt.
Profil-Passwörter
Das gleiche geschieht mit den Profile-Passwörtern. Der Profilbasierte
Zugriffsmechanismus wird nicht oft in Microsoft-Produkten verwendet; eine
Ausnahme wäre vielleicht Outlook Express.
Formular-Feld-Daten
Hier werden die Daten an 2 verschiedenen Orten abgelegt. Die eigentlichen
Daten wandern in den 'Geschützten Speicher', die Adresse der Webseite wird
allerdings im Benutzerabhängigen Teil der Registry abgespeichert. Diese Adresse
ist allerdings nicht im Klartext, sondern als Hash gespeichert. Für den IE 4 bis
IE 7 ist der Algorithmus um diese Daten zu lesen aus der folgenden Abbildung
ersichtlich.
//Get autoform password by given URL
BOOL CAutoformDecrypter::LoadPasswords(LPCTSTR
cszUrl,
CStringArray *saPasswords)
{
assert(cszUrl && saPasswords);
saPasswords->RemoveAll();
//Check if autoform passwords are
present in registry
if ( EntryPresent(cszUrl) )
{
//Read PStore
autoform passwords
return
PStoreReadAutoformPasswords(cszUrl,saPasswords);
}
return
FALSE;
}
//Check if autoform passwords are present
BOOL CAutoformDecrypter::EntryPresent(LPCTSTR
cszUrl)
{
assert(cszUrl);
DWORD dwRet, dwValue, dwSize=sizeof(dwValue);
LPCTSTR cszHash=GetHash(cszUrl);
//problems computing the hash
if ( !cszHash )
return
FALSE;
//Check the registry
dwRet=SHGetValue(HKCU,_T("Software\\Microsoft\\Internet
Explorer\\IntelliForms\\SPW"),cszHash,NULL,&dwValue,&dwSize);
delete((LPTSTR)cszHash);
if ( dwRet==ERROR_SUCCESS
)
return
TRUE;
m_dwLastError=E_NOTFOUND;
return
FALSE;
}
//retrieve hash by given URL text and translate it into
hex format
LPCTSTR CAutoformDecrypter::GetHash(LPCTSTR
cszUrl)
{
assert(cszUrl);
BYTE buf[0x10];
LPTSTR pRet=NULL;
int i;
if ( HashData(cszUrl,buf,sizeof(buf))
)
{
//Allocate some
space
pRet=new TCHAR
[sizeof(buf) *
sizeof(TCHAR) +
sizeof(TCHAR)];
if (
pRet)
{
for ( i=0; i<sizeof(buf);
i++ )
{
// Translate it into human readable format
pRet[i]=(TCHAR) ((buf[i] &
0x3F) + 0x20);
}
pRet[i]=_T('\0');
}
else
m_dwLastError=E_OUTOFMEMORY;
}
return pRet;
}
//DoHash wrapper
BOOL CAutoformDecrypter::HashData(LPCTSTR
cszData,
LPBYTE pBuf,
DWORD dwBufSize)
{
assert(cszData && pBuf);
if ( !cszData || !pBuf )
{
m_dwLastError=E_ARG;
return
FALSE;
}
DoHash((LPBYTE)cszData,strlen(cszData),pBuf,dwBufSize);
return
TRUE;
}
void CAutoformDecrypter::DoHash(LPBYTE
pData,
DWORD dwDataSize,
LPBYTE pHash, DWORD
dwHashSize)
{
DWORD dw=dwHashSize, dw2;
//pre-init loop
while ( dw-->0
)
pHash[dw]=(BYTE)dw;
//actual hashing stuff
while ( dwDataSize-->0
)
{
for ( dw=dwHashSize; dw-->0;
)
{
//m_pPermTable = permutation table
pHash[dw]=m_pPermTable[pHash[dw]^pData[dwDataSize]];
}
}
}
Die nächste Generation (IE 7) des Browsers macht diese Methode zur
primären Speichermethode, der 'Geschützte Speicher' wird zunehmend bedeutungslos.
Die Autovervollständigungsdaten und Passwörter werden ab sofort hier abgelegt.
Was ist nun Microsoft veranlasst diese Methode in Zukunft zu verwenden ? Nun, in
erster Linie war es wohl der Verschlüsselungsansatz, welcher zwar nicht neu ist
jedoch sehr einfach und dennoch genial. Die Idee dahinter ist, keine Schlüssel
mehr zu speichern sondern zu generieren wenn sie benötigt werden. Die Rohdaten
für den Schlüssel ist die Adresse der Webseite. Hier sehen Sie die vereinfachte
Darstellung von IE 7 zur Speicherung von Autovervollständigungsdaten und
Passwörter:
- Merken der Webseiten-Adresse. Diese wird als Schlüssel verwendet.
- Errechne den Satzschlüssel. Satzschlüssel = SHA(Schlüssel).
- Errechne die Prüfsumme für den Satzschlüssel um die Integrität des
Satzschlüssels sicherstellen zu können (die Integrität der Daten wird durch
die DPAPI sichergestellt). SatzschlüsselCRC = CRC(Satzschlüssel).
- Verschlüsseln der Daten mit dem Schlüssel. VerschlüsselteDaten =
DPAPI_Encrypt(Daten, Schlüssel).
- Speichern der SatzschlüsselCRC + Satzschlüssel + VerschlüsselteDaten in
der Registry.
- Der Schlüssel wird nicht gespeichert, sondern weggeworfen.
Es ist sehr, sehr schwierig diese Daten wieder zu entschlüsseln falls man
die Adresse der originalen Webseite nicht kennt. Die Entschlüsselung sieht sehr
einfach aus:
- Wenn die originale Webseite geöffnet ist, nehmen wir die Adresse als
Schlüssel und errechnen hiermit den Satzschlüssel. Satzschlüssel =
SHA(Schlüssel).
- Durchsuchen der Gesamtliste der Satzschlüssel um den gesuchten Satz zu
finden.
- Falls der Satzschlüssel gefunden wird, können die Daten wieder
entschlüsselt werden. Daten = DPAPI_Decrypt(VerschlüsselteDaten, Schlüssel).
Obwohl dieser Prozess sehr einfach aussieht, ist es dennoch eine der
stärksten heute gebräuchlichen Verschlüsselungen.
Diese Methode hat jedoch auch einen Nachteil (oder Vorteil, je nachdem wie man
es betrachtet): Ohne die Adresse der Webseite können die Daten nicht
entschlüsselt werden. Dies gilt auch falls sich die Adresse der Webseite ändert.
Passwörter für den Inhalts-Ratgeber
Der letzte Punkt auf unserer Liste sind die Passwörter für den
Inhaltsratgeber. Dies wurde ursprünglich entwickelt um den Zugriff auf
bestimmte Webseiten einzuschränken. Diese Möglichkeit wurde jedoch von den
wenigsten Benutzern eingesetzt. Wenn man es eingeschaltet, ein Passwort
definiert und dann später wieder vergessen hat ist der Zugriff auf die meisten
Seiten im Internet nicht mehr möglich. Glücklicherweise (oder vielleicht auch
leider) kann dies einfach behoben werden.
Das eingegebene Passwort wird nicht im Klartext, sondern es wird ein MD5-Hash
errechnet und in der Registry gespeichert. Um den Zugang zu prüfen wird dann das
eingegebene Passwort ebenfalls in einen Hash umgerechnet und dann diese beiden
Hash-Werte miteinander verglichen. Bei Gleichheit ist auch das Passwort gleich
und der Zugang kann gewährt werden.
void CContentAdvisorDlg::CheckPassword()
{
CRegistry registry;
//read the registry
registry.SetKey(HKLM,
"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\policies\\Ratings");
BYTE pKey[MD5_DIGESTSIZE],
pCheck[MD5_DIGESTSIZE];
if (
!registry.GetBinaryData("Key",pKey,MD5_DIGESTSIZE)
)
{
MessageBox(MB_ERR,"Can't read the password.");
return;
}
//Get one set by user
CString cs;
m_wndEditPassword.GetWindowText(cs);
MD5Init();
MD5Update((LPBYTE)(LPCTSTR)cs,cs.GetLength()+1);
MD5Final(pCheck);
//Check hashes
if ( memcmp(pKey,pCheck,MD5_DIGESTSIZE)==0
)
MessageBox(MB_OK,"The
password is correct!");
else
MessageBox(MB_OK,"Wrong password.");
}
Vielleicht kommt Ihnen die Idee, die Brute-Force-Methode oder die
Wörterbuch-Methode zum Knacken des Passworts einzusetzen. Es gibt jedoch einen
viel eleganteren Weg um dies zu erreichen. Man kann den Hash-Wert aus der
Registry entfernen. So einfach geht es ... Jedoch sollte man den Eintrag in der
Registry eher umbenennen. Somit kann er einfach wieder aktiviert werden falls
man es doch noch einmal benötigt.
Kurzübersicht Programme zur Wiederherstellung von IE
Passwörtern
Nicht alle Programme bieten die Wiederherstellung von allen Typen von
Passwörtern an. Dies hängt oft mit der Tatsache zusammen, dass manche
Passworttypen selten benutzt werden (z.B. Passwörter zur Synchronisierung von
zwischengespeicherten Webseiten) und FTP-Passwörter nicht so einfach zu knacken
sind. Hier kommt nun die Kurzübersicht der bekanntesten kommerziellen Produkte
zur Wiederherstellung von Passwörtern für die bekanntesten Browser der Erde J.
Advanced Internet Explorer Password Recovery der nicht ganz
unbekannten Firma ElcomSoft. Sie kennt keine Formularfeld-Passwörter und
verschlüsselte FTP-Passwörter. Es ist nicht auszuschliessen, dass die neueste
Version gelernt hat mit diesen Arten von Passwörter umzugehen. Einfache, bequem
zu nutzende Oberfläche. Die Software kann Online mit neuen Funktionen
ausgestattet werden.
Internet Explorer Key von PassWare – kennt ebenfalls einige
Typen von Passwörter nicht. Manchmal stürzt die Software ab wenn unübliche URL´s
verwendet werden. Zeigt die ersten 2 Zeichen des wiederherzustellenden Passworts
an. Erwähnenswert ist die spartanische Benutzeroberfläche sowie die bequeme
Bedienung.
Internet Explorer Password von Thegrideon Software – nicht
schlecht aber kennt nur 3 Typen von Passwörter (dies genügt für die meisten
Fälle). Behandelt FTP-Passwörter korrekt. Die Version 1.1 hat Probleme mit der
Wiederherstellung von Formularfeld-Passwörtern. Besitzt eine bequeme
Benutzeroberfläche welche in manchen Punkten an AIEPR erinnert. Das Internet-Angebot
der Firma überschüttet einen mit Hilfsangeboten.
Internet Password Recovery Toolbox von Rixler Software –
bietet grössere Funktionalität als die vorigen Mitbewerber. Die Software
beherrscht die Entschlüsselung von FTP-Passwörtern sowie das Löschen von
ausgewählten Einträgen. Jedoch enthält sie einige Programmierfehler. Z.B. können
bestimmte IE-Einträge nicht gelöscht werden. Die Software wird mit einer grossen,
detaillierten Hilfedatei geliefert.
ABF Password Recovery von ABF Software – gutes Programm mit
guter Benutzeroberfläche. Die Liste der unterstützten Passworttypen ist nicht
sehr lang. Dennoch werden alle unterstützen Typen korrekt behandelt. Die
Software kann als Multifunktional eingestuft werden, da auch Passwörter von
anderen Programmen wiederhergestellt werden können.
Der grösste Nachteil der hier vorgestellten Software ist, dass lediglich
Passwörter von momentan angemeldeten Benutzern wiederhergestellt werden können.
Wie weiter oben dargestellt werden die meisten Einträge im sogenannten 'Geschützten
Speicher' (PS) verwaltet, dieser wurde entwickelt um persönliche Daten zu
speichern. Die Funktionen um mit diesem Speichertyp (PS API) zu arbeiten
wurden nicht veröffentlicht. Der 'Geschützte Speicher' wurde mit der IE Version
4 eingeführt, welche übrigens entgegen der Version 3 komplett neu geschrieben
wurde.
Nach relativ kurzer Zeit benutzten alle Programme zur Wiederherstellung von
Passwörtern diese undokumentierten API-Funktionen. Daraus ergab sich eine
Einschränkung in allen diesen Programmen: PS API kann nur Passwörter von aktuell
angemeldeten Benutzern verwalten. Zum Verschlüsseln von Daten im 'Geschützten
Speicher' wird unter anderem die SID des Benutzers verwendet. Dies macht
es so gut wie unmöglich (wenn man die heute verfügbare Rechenleistung
berücksichtigt) diese Daten zu entschlüsseln falls diese SID nicht bekannt ist.
Der 'Geschützte Speicher' verwendet eine gut durchdachte Methode, unter
Verwendung von Hauptschlüsseln und starken Algorithmen (z.B. des, sha, shahmac)
die Daten zu verschlüsseln.
Ähnliche Verschlüsselungsmethoden werden heute auch in anderen modernen
Browsern (z.B. Opera, Firefox) verwendet. In der Zwischenzeit
entwickelt Microsoft, von den meisten unbemerkt, neue Methoden. Als dieser
Artikel entstand, zur Zeit von Pre-Beta IE 7, wurde der 'Geschützte Speicher'
nur noch für FTP-Passwörter verwendet. Die genauere Betrachtung dieser Version
legt nahe, dass Microsoft wieder eine 'Überraschung' in Form von neuen,
interessanten Verschlüsselungsalgorithmen vorbereitet. Es ist bisher noch nicht
sicher, jedoch sehr wahrscheinlich, dass die neue Datenschutz-Technologie
InfoCard eine Rolle bei der Verschlüsselung von privaten Daten spielen wird.
Daher kann man mit hoher Wahrscheinlichkeit davon ausgehen, dass sowohl in
Windows Vista als auch in IE 7 die Passwörter mit grundlegend neuen
Algorithmen gespeichert und verschlüsselt werden. Die Schnittstelle zum 'Geschützten
Speicher' wird dann vermutlich für alle anderen Software-Entwickler geöffnet.
Es ist eigentlich schade dass das wahre Potential des 'Geschützten Speichers'
bisher noch nicht entdeckt wurde.
Der 'Geschützte Speicher' basiert auf einer modularen Struktur, welche auch das
Hinzufügen von weiteren Speicheranbietern (Storage Provider) erlaubt. In den 10
Jahren, in welchen diese Technik jetzt existiert, ist jedoch noch kein neuer
Speicheranbieter aufgetaucht.
'System Protected Storage' ist der einzige Speicheranbieter, welcher dann
auch standardmässig genutzt wird.
Desweiteren besitzt der 'Geschützte Speicher' sein eigenes, eingebautes
Verwaltungssystem. Dieses wird jedoch aus unbekannten Gründen weder im IE noch
in einer anderen Microsoft-Software verwendet.
Weiterhin ist es nicht wirklich bekannt, warum Microsoft auch die Speicherung
von 'Auto-Vervollständigen von Daten und Passwörtern) nicht mehr dem 'Geschützten
Speicher' anvertraut (als Speicher, nicht als Verschlüsselung).
Es wäre logischer den 'Geschützten Speicher' als Ablage zu verwenden wenn man
eine neue Verschlüsselungsmethode entwickelt. Vielleicht gab es sehr gewichtige
Gründe für diese Vorgehensweise. Hier wäre es einmal interessant, die Meinung
eines Microsoft-Spezialisten zu diesem Thema zu hören.
PIEPR – die erste Wahl
Die Passcape Internet Explorer
Password Recovery-Software wurde speziell zur umgehung der Beschränkungen
des 'Geschützten Speichers' entwickelt. Sie ermöglicht die Wiederherstellung von
Passwörtern direkt aus den Registry-Dateien von Windows. Weiterhin hat sie
zahlreiche zusätzliche Funktionen für fortgeschrittene Benutzer.
Die Software erlaubt verschiedene Betriebsmodi:
Automatik
Alle Passwörter des aktuellen Benutzers, welche momentan im IE
gespeichert sind, werden mit einem einzigen Mausklick über die PS-API
wiederhergestellt.
Manuell
Passwörter werden ohne die PS-API wiederhergestellt. Der Hauptvorteil
dieser Methode ist, dass Passwörter eines anderen Windows-Benutzers
wiederhergestellt werden können. Hierzu muss man nur den Pfad zu den Registry-Dateien
des betreffenden Benutzers angeben. Normalerweise sind Registry-Dateien nicht
direkt lesbar. PIEPR nutzt jedoch eine Technologie diese Dateien dennoch zu
lesen (vorausgesetzt der aufrufende Benutzer besitzt lokale
Administrationsrechte).
Der Benutzerabhängige Teil der Registry ist in der Datei ntuser.dat, welche
normalerweise im Pfad '%SYSTEMDRIVE%:\Dokumente und Einstellungen\%USERNAME%'
wobei %SYSTEMDRIVE% das Laufwerk mit dem Betriebssystem und %USERNAME% den Namen
des Benutzers angibt. Der Pfad zur Benutzer-Registry-Datei könnte z.B. so
aussehen (Fig. 3).

Figure 3. Selecting Protected Storage owner.
Wenn Sie jemals Ihre Win95/ME Installation auf WindowsNT aufgerüstet
haben wurden die alten privaten Daten vom 'Geschützten Speicher' in Sicherheit
gebracht. Dadurch können dann mehrere SID´s im 'Geschützten Speicher' enthalten
sein. PIEPR fragt dann nach der korrekten SID bevor die Daten entschlüsselt
werden. Eine dieser SID´s wird die Daten der alten Win95/ME-Installation
beinhalten. Diese Daten sind zusätzlich mit dem Benutzerpasswort verschlüsselt.
PIEPR unterstützt diese Entschlüsselung momentan nicht.
Falls ntuser.dat verschlüsselte Passworte beinhaltet (z.B. FTP-Passworte) werden
zusätzliche Informationen zur Entschlüsselung benötigt (Fig. 4):
- Das Anmeldepasswort des Benutzers dessen Daten entschlüsselt werden
sollen
- Der vollständige Pfad zum Hauptschlüssel des Benutzers
- Die SID des Benutzers

Figure 4. DPAPI decryption dialog for FTP passwords.
Normalerweise findet das Programm die letzten beiden Punkte selbstständig.
Falls die ntuser.dat jedoch von einem anderen Betriebssystem oder Installation
kopiert wurde müssen diese Daten vom Benutzer angegeben werden. Der einfachste
Weg diese Angaben zu liefern besteht darin, den kompletten Dateibaum mit dem
Hauptschlüssel (es können mehrere existieren) in den Ordner mit der ntuser.dat
zu kopieren. Der Hauptschlüssel wird in dem Ordner %SYSTEMDRIVE%:\Dokumente
und Einstellungen\%USERNAME%\Anwendungsdaten\Microsoft\Protect\%USERSID%
wobei %SYSTEMDRIVE% wieder für das Laufwerk mit dem Betriebssystem,
%USERNAME% für den Benutzernamen und %USERSID% für die SID des
Benutzers steht. Der Pfad könnte z.B. so aussehen: 'C:\Dokumente und
Einstellungen\Lang\Anwendungsdaten\Microsoft\Protect\S-1-5-21-1177238915-152049171-1343024091-1002'.
Es sollte der gesamte Ordner kopiert werden da PIEPR dann den richtigen
Hauptschlüssel selbstständig finden kann.
Manche Ordner von Windows können das Attribut 'Versteckt' oder 'System' gesetzt
haben, diese werden dann vom Dateimanager standardmässig nicht angezeigt. Um
diese Ordner auch anzuzeigen müssen im Dateiexplorer unter Extras->Ordneroptionen->Ansicht
folgende Optionen wie folgt gesetzt sein:
'Geschützte Systemdateien ausblenden' darf nicht aktiviert sein, 'Alle Dateien
und Ordner anzeigen' muss angewählt sein.
Wenn der Ordner mit den Hauptschlüsseln in den Ordner mit der ntuser.dat kopiert
wurde. wird PIEPR die benötigten Daten automatisch finden. Es muss dann nur noch
das Anmeldepasswort angegeben werden um die Daten zu entschlüsseln.
Passwörter für den Inhaltsratgeber
Diese Passwörter sind nicht in einer lesbaren Form gespeichert. Stattdessen
werden nur die Hash-Werte abgelegt. In der entsprechenden Anzeigemaske muss nur
der Hash-Wert gelöscht oder geändert werden. Ein gelöschter Hash-Wert kann
später jederzeit wieder gesetzt werden. Falls eine Hilfestellung für das
Passwort eingegeben wurde, wird diese von PIEPR angezeigt.
Ausgesternte Passwortfelder
Dies ist der vierte Betriebsmodus für PIEPR welcher die Wiederherstellung von
Passwörtern erlaubt, welche hinter Sternen im Eingabefeld verborgen sind. Um
solch ein Passwort wiederherzustellen genügt es die Lupe auf das entsprechende
Feld mit einem ausgesternten Passwort abzulegen. Hiermit können auch Passwörter
anderer Programme wiederhergestellt werden welche mit IE-Frames arbeiten; z.B.
Windows Explorer, manche Browser welche auf IE basieren, usw.
Wir haben nun einige grundsätzliche Modi für die IE Passwort Wiederherstellung
angesehen. Es gibt noch einige weitere Möglichkeiten Cookies, Temporäre
Internetdateien, Verlauf usw. anzusehen und zu bearbeiten. Diese werden wir
jedoch nicht im Detail betrachten; stattdessen werden wir nun einige Beispiele
der Wiederherstellung von Passwörtern mit PIEPR ansehen.
Beispiele aus der Praxis.
Beispiel 1: Wiederherstellung eines FTP-Passworts des aktuellen Benutzers
Beim Öffnen eines FTP-Servers wird der Anmeldedialog angezeigt (Fig 5).

Figure 5. FTP logon dialog.
Wenn man die Daten eingegeben und die 'Passwort speichern' Option
gesetzt hat wird das Passwort im 'Geschützten Speicher' abgelegt. Die
Wiederherstellung ist also nicht schwierig. Einfach den Automatik-Modus von
PIEPR wählen und danach auf 'Weiter' klicken. Danach den Eintrag in der
Liste mit den Entschlüsselten Passwörtern auswählen (der Name des FTP-Servers
muss in der Spalte mit den Eintrags-Namen stehen). Hier eine Abbildung.
Wie man sieht, stellt einen die Entschlüsselung von Passwörtern eines
angemeldeten Benutzers nicht vor grössere Schwierigkeiten. Falls das Passwort in
der Liste nicht gefunden werden kann sollte die Einstellung von IE´s Auto-Vervollständigen
überprüft werden (Fig. 2). Eventuell ist einfach die Passwortspeicherung nicht
aktiviert.
Beispiele aus der Praxis.
Beispiel 2: Wiederherstellung
von Internet-Passwörtern. Das Betriebssystem startet nicht mehr.
Dies ist eine typische, jedoch lösbare Situation. Die Notwendigkeit IE-Passwörter
nach einer gescheiterten Windows-Nachinstallation wiederherzustellen kommt sehr
oft vor.
In jedem Fall benötigen wir das alte Benutzerprofil mit allen zugehörigen
Dateien. Dies sollte normalerweise für diese Aufgabe genügen. Windows benennt
das alte Profil um. Wenn der Benutzername 'John' war, könnte das resultierende
Verzeichnis 'John.WORK-72C39A18' lauten.
Die erste und wichtigste Aktion ist, den Zugriff auf die Dateien im alten
Benutzerprofil zu ermöglichen. Es gibt 2 Wege dies zu tun:
-
Installation eines neuen Betriebssystems auf einer neuen Platte (oder in
einem anderen Verzeichnis auf der alten Platte). Danach die alte Platte als
zweite Platte am Rechner anschliessen.
- WindowsNT Boot-Disk erstellen. Es gibt viele verschiedene Hilfsprogramme
um solche Boot-Disks zu erstellen. Z.B. WinPE oder BartPE.
Falls das alte Profil auf einem NTFS-Dateisystem erstellt war muss die
Boot-Disk dieses Dateisystem natürlich unterstützen.
Nachdem wir Zugang zu den alten Profildateien haben, müssen wir noch dafür
sorgen dass der Explorer Versteckte- und System-Dateien anzeigt. Andernfalls
wären die benötigten Dateien nicht sichtbar. Hierzu wählen Sie im Explorer 'Extras
-> Ordneroptionen->Ansicht'. Hier müssen Sie den Eintrag 'Versteckte
Dateien und Ordner' finden. Bitte wählen Sie dann 'Alle Dateien und
Ordner anzeigen' aus. Desweiteren entfernen Sie den Haken vor der Option 'Geschützte
Systemdateien ausblenden'. Nach der Passwort-Wiederherstellung sollten diese
Optionen wieder auf ihre vorigen Einstellungen zurückgesetzt werden.
Starten Sie PIEPR im Manuellen Modus und geben Sie den Pfad zur alten Registry-Datei
an. In unserem Fall ist dies 'x:\Dokumente und Einstellungen\John.WORK-72C39A18\ntuser.dat'.
Hierbei ist John.WORK-72C39A18 der alte Benutzername.
Als nächstes die Schaltfläche 'Weiter' betätigen.
Diese Daten genügen normalerweise um die Passwörter wiederherzustellen. Sollte
jedoch auch nur ein einziges verschlüsseltes FTP-Passwort gespeichert worden
sein, werden zusätzliche Daten angefordert. Ohne diese ist eine
wiederherstellung dieses Passworts nicht möglich (Fig. 4):
- Benutzerpasswort
- Hauptschlüssel des Benutzers
- SID des Benutzers.
Normalerweise findet PIEPR die letzten zwei Angaben im Benutzerprofil und
ermittelt diese Angaben dort. Falls dies jedoch nicht funktionieren sollte, kann
man die Angaben immer noch händisch angeben: Kopieren Sie ntuser.dat und das
komplette Verzeichnis mit den Hauptschlüsseln in ein separates Verzeichnis. Es
ist wichtig den kompletten Ordner mit den Hauptschlüsseln zu kopieren; es können
mehrere Hauptschlüssel gespeichert sein und PIEPR wird den richtigen aussuchen.
Dann geben Sie den Pfad zur ntuser.dat in dem neu erstellten Verzeichnis an.
Das war´s.
Nun muss nur noch das Passwort des alten Benutzerkontos angegeben werden um die
Wiederherstellung zu vollenden. Falls Sie die FTP-Passwörter nicht interessieren
können Sie auch den ganzen Dialog überspringen. Die FTP-Passwörter werden dann
nicht wiederhergestellt.
Beispiele aus der Praxis.
Beispiel 3: Wiederherstellung
von alternativ gespeicherten Passwörtern
Beim Öffnen einer geschützten Webpräsenz erscheint das Anmeldefenster. Das
Passwort wurde vergessen, jedoch kann PIEPR weder im automatischen noch im
manuellen Modus das Passwort wiederherstellen. Die 'Passwort speichern'-Option
ist eingeschaltet.
Manche Webpräsenzen speichern jedoch die Passwörter nicht mit IE-Mitteln. Diese
Webpräsenzen sind oft in JAVA erstellt oder benutzen alternative Methoden zur
Passwortspeicherung (z.B. werden Passwörter in 'Cookies' abgelegt).
Falls das Passwort-Feld mit Sternen gefüllt ist, kann das PIEPR-Werkzeug 'Ausgesternte
Passwörter' benutzt werden. Hierzu den Dialog 'Magische Lupe'
aktivieren und die Lupe im betreffenden IE-Fenster ablegen (Fig. 6).

Figure 6. The password is behind the asterisks.
Das Passwort (oder auch mehrere falls es mehrere Felder mit Sternen gibt)
erscheint dann im PIEPR-Fenster (Fig. 7).

Figure 7. Magnifying glass in use.
Es ist jedoch nicht immer so einfach. Das Passwort-Feld kann leer oder mit
echten Sternen gefüllt sein. In diesem Fall ist das Werkzeug 'Ausgesternte
Passwörter' nutzlos. Eventuell ist das Passwort in einem 'Cookie'
gespeichert.
Versuchen wir es zu finden. Benutzen Sie das Werkzeug 'IE Cookie Explorer'
(Fig. 8).

Figure 8. IE Cookie Explorer.
Der nun erscheinende Dialog listet alle Webpräsenzen auf welche 'Cookies' auf
Ihrem Computer ablegen. Um die Liste nach den URL´s zu sortieren müssen Sie
lediglich auf die Spaltenüberschrift klicken. Auf diese Weise erleichtern wir
uns die Suche nach der korrekten Webpräsenz. Markieren Sie die gesuchte
Webpräsenz in der Liste. Es werden nun alle 'Cookies' angezeigt (Fig. 9).

Figure 9. Decrypted cookies.
In userem Beispiel waren die Login-Daten nicht verschlüsselt und werden als
Text angezeigt.
'Cookies' sind oft verschlüsselt. In diesem Fall ist eine erfolgreiche
Wiederherstellung des Passworts unwahrscheinlich. Hier kann man nur versuchen
ein neues Benutzerkonto zu erstellen um anschliessend die alten 'Cookies' in
einen Texteditor zu laden und durch neue zu ersetzen. Dies sollte jedoch nur im
schlimmsten Fall durchgeführt werden, es ist keinesfalls eine Standardlösung.
Nicht vergessen: Die meisten Webpräsenzen mit Passwörtern bieten auch eine 'Passwort
vergessen' – Funktion.
Zusammenfassung
Wie wir in diesem Artikel gesehen haben ist die Wiederherstellung von
Passwörtern eine einfache Aufgabe welche keine Spezialkenntnisse oder
Fähigkeiten verlangt.
Trotz dieser Einfachheit sind die Passwort-Algorithmen und Schema´s gut
durchdacht und auch gut implementiert. Obwohl das Konzept des „Geschützten
Speichers" über 10 Jahre alt ist darf nicht vergessen werden, dass es von vielen
Experten geprüft und in 3 Generationen des Browsers eingesetzt ist.
Mit Erscheinen der IE-Version 7 wurde deutlich, dass Microsoft an neuen
Konzepten arbeitet um private Daten zu sicheren. Hierzu werden weiterentwickelte
Algorithmen eingesetzt sowie Unzulänglichkeiten, speziell des 'Geschützten
Speichers', beseitigt.
Die Analyse der Internet Explorer 7-Betaversionen hat gezeigt, dass die
Schlüssel für die Funktion 'Autovervollständigen von Passwörtern' einfach nicht
mehr gespeichert werden !
Der Wert dieser Information muss erst noch von Experten und Benutzern ermittelt
werden.
Der grösste Nachteil des 'Geschützten Speichers', die Möglichkeit Passworte ohne
weitere Informationen wiederherzustellen, wird durch das neue Konzept behoben.
Bisher genügte einem potentiellen Hacker der Zugriff auf das Speichermedium mit
dem Benutzerprofil um private Daten und Passwörter zu stehlen oder zu verändern.
Mit Veröffentlichung von Internet Explorer 7 wird sich diese Situation verändern.
In der Zwischenzeit können wir nur ungeduldig auf das Erscheinen von Windows
Vista und Internet Explorer 7 warten um die neuen Verschlüsselungsfunktionen zu
analysieren.
Dieses Dokument darf frei verbreitet
werden, solange eine
Referenz zum Originaldokument auf jeder Kopie mitverbreitet wird.
(c) 2006 Passcape Software. Alle Rechte vorbehalten.
http://www.passcape.com
*1 Das menschliche
Gedächtnis kann in 2 Kategorien unterteilt werden: Kurzzeit- und
Langzeit-Gedächtnis. Um sich bestimmte Informationen merken zu können wird das
Kurzzeit-Gedächtnis aktiviert, welches jedoch nur eine bestimmte
Informationsmenge speichern kann. Wenn diese Menge überschritten ist, werden
alte Informationen zugunsten der neuen ganz oder teilweise verdrängt. Um
Informationen im Kurzzeit-Gedächtnis zu speichern müssen diese immer wieder
abgerufen werden. Wenn dies (z.B. ein neues Passwort) nicht regelmässig
geschieht, kann die Information teilweise oder vollständig verloren gehen und
niemals im Langzeit-Gedächtnis gespeichert werden.
*2
BENUTZERNAME.PWL (Benutzername ist der Login-Name) ist eine PassWort
List Datei. In dieser Datei werden Passwörter, welche für bestimmte
Ressourcen im Netzwerk benötigt werden, gespeichert und benutzt um diese
Ressourcen wieder zu verbinden ohne dass das Passwort nochmals eingetippt werden
muss
*3 Geschützter Speicher stellt eine Schnittstelle
für Anwendungen dar um Informationen, welche geheim oder vor manipulation
geschützt, speichern zu können. Die zu speichernde Information wird als Einheit
bezeichnet. Die Struktur und der Inhalt der zu speichernden Daten sind für den
geschützten Speicher transparent. Der Zugriff auf die Information wird durch
einen benutzerdefinierten Sicherheitsmechanismus geregelt welcher definiert
durch welche Eingabe (z.B. Passwort) die Information geschützt wird. Desweiteren
wird der Zugriff noch durch eine Zugriffsregel-Liste geschützt. Es gibt jeweils
eine Zugriffsregel für jeden Zugriffsmodus (z.B. Lesen/Schreiben). Eine Sammlung
von Zugriffsregeln besteht aus einem oder mehreren Zugriffs-Sätzen.
Normalerweise wird zum Zeitpunkt der Installation einer Anwendung eine Erlaubnis
des Benutzers eingeholt um Daten einer älteren Anwendung zu lesen. Eine Einheit
wird eindeutig durch eine Kombination aus Schlüssel, Typ, Subtyp und Name. Der
Schlüssel ist eine Konstante welche angibt ob die Einheit global oder nur für
den aktuellen Benutzer gilt. Der Name ist ein Freitext welcher durch den
Benutzer vergeben wird. Typ und Subtyp sind GUID´s welche durch die Anwendung
vorgegeben werden. Weitere Informationen über Typ und Subtyp sind in der
Registry gespeichert und beinhalten Attribute wie Anzeigename und Hilfe in der
Benutzeroberfläche. Beim Subtyp ist der übergeordnete Typ fest vorgegeben und in
der Registry als Attribut gespeichert. Die Typen werden für einen gemeinsamen
Zweck eingesetzt: z.B. Bezahlung oder Identifikation. Die Subtypen teilen ein
gemeinsames Datenformat. Wir werden den geschützten Speicher in einem späteren
Artikel behandeln.