Home > Wiederherstellung von Internet Explorer Passwörtern
Wiederherstellung von Internet Explorer Passwörtern
01.03.2024
New blog post
Dumping the history of users' IP addresses in Windows
20.02.2024
Reset Windows Password v14.1
IP addresses history viewer, fast disk search, local security editor and some more
02.01.2024
Wireless Password Recovery v6.9.0
A revision of the GPU health monitor along with some minor updates
23.12.2023
HAPPY NEW YEAR!
Happy New Year greetings and holidays discount

Articles and video

You may find it helpful to read our articles on Windows security and password recovery examples. Video section contains a number of movies about our programs in action

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).

Internet Explorer credentials dialog
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.
 

Internet Explorer AutoComplete settings
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:

  1. Merken der Webseiten-Adresse. Diese wird als Schlüssel verwendet.
  2. Errechne den Satzschlüssel. Satzschlüssel = SHA(Schlüssel).
  3. 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).
  4. Verschlüsseln der Daten mit dem Schlüssel. VerschlüsselteDaten = DPAPI_Encrypt(Daten, Schlüssel).
  5. Speichern der SatzschlüsselCRC + Satzschlüssel + VerschlüsselteDaten in der Registry.
  6. 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:

  1. 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).
  2. Durchsuchen der Gesamtliste der Satzschlüssel um den gesuchten Satz zu finden.
  3. 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).
 

Protected Storage user selection
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

DPAPI decryption
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).

FTP password dialog
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:

  1. 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.

  2. 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).
 

Asterisks passwords revealer
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).

Internet Explorer asterisks passwords
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).
 

IE Cookie Explorer
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).

Decrypted cookies
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.
https://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.