Home > Details
Outlook Passw├Ârter
02.10.2019
Windows Password Recovery 12.0
Support for Artificial Intelligence to decrypt Windows passwords
13.09.2019
Windows Mail Password Recovery v2.1
Support for Exchange password recovery
24.06.2019
Reset Windows Password v9.3
Support for Windows 10 1903, Trusted Boot Auto-Logon, Microsoft Edge Dev ...
11.06.2019
New article
DPAPI security flaw in Windows 10

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

Outlook Passwörter

Benutzen Sie Passwörter die Groß- und Kleinbuchstaben, Zahlen und Symbole kombinieren. Schwache Passwörter bestehen nicht aus einer solchen Kombination. Starkes Passwort: Y6dh!et5. Schwaches Passwort: House27.

Auszug aus dem MS Office Outlook Benutzerhandbuch

Einleitung
Passwörter der PST Dateien
Verschlüsselung von PST Dateien
Techniken zur Speicherung von eMail Zugangspasswörtern
Zusammenfassung

 

Einleitung

Dieser Artikel wurde ursprünglich geschrieben, um auf eine interessante Anomalie in den PST-Dateien von Outlook aufmerksam zu machen. Nach und nach entwickelte sich der Artikel zu einer Anleitung, die die erweiterten Möglichkeiten innerhalb von Outlook zur Speicherung von persönlichen Daten aufzeigt. Dabei wird beispielhaft die Entwicklung der von Outlook genutzten Verschlüsselung beleuchtet. Dies vermag einen grundsätzlichen Einblick in die Entwicklung des gesamten Windows Betriebsystems zu bieten.

 

Passwörter der PST Dateien

Beginnen wir an dem Punkt an dem Microsoft Office Outlook's PST-Datei als Datenbank Datei auf dem lokalen Computer in einer bestimmten Reihenfolge Daten, wie Kontakte, Notizen, e-Mail Nachrichten und andere Dinge speichert. Eine PST-Datei kann als ein lokaler, voreingestellter Speicherort für zu verschickende e-Mail Nachrichten, wie auch als Datensicherung angesehen werden.

Um den Inhalt einer PST-Datei zu schützen und den Zugriff für unautorisierte Personen zu unterbinden, kann ein bis zu 15 Zeichen langes Passwort (Abbildung 1) gesetzt werde. In einem solchen Fall sollte – so die Annahme - die PST-Datei nicht ohne die Eingabe des originalen Passworts geöffnet werden können. Aber ist dem wirklich so?
 

Personal Folder password
Abbildung 1. Outlook PST Passwort Dialog

Ein PST-Datei Passwort wird in keiner expliziten Art und Weise gespeichert. Statt dessen errechnet der Computer den Hash-Wert des Passworts und speichert diesen in der PST-Datei oder, wenn die Option 'Speichern des Passworts in der Passwortliste' (Abbildung 1) gewählt ist, zusätzlich in verschlüsselter Form.

Bemerkenswert ist nun, daß der zur Berechnung verwendete Hash Algorithmus nicht aktuell, sondern eine einfache CRC32 Checksummen Berechnung ist. CRC32 ist ein Algorithmus zur Redundanzprüfung, aber sicher keine Hash-Routine. Aus irgendeinem Grund entschied Microsoft jedoch diesen zu verwenden anstatt eines sicheren Algorithmus wie z.B. den SHA. Zusätzlich verwendet Microsoft – wahrscheinlich aus Kompatibilitätsgründen, diese CRC32-Routine seit geraumer Zeit. Auf der anderen Seite – und die Gründe hierfür sind unklar – wurde der Algorithmus nicht in Outlook 2003 PST-Dateien weiterverwendet, denn hier kommt jetzt eine 64-bit interne Adressierung zur Anwendung, die nicht mit den vorherigen Versionen kompatibel ist.

Betrachten wir die CRC32 Routine etwas genauer:

DWORD CPstReader::Crc32( LPBYTE pPassword )
{
    assert( pPassword );

    //set initial crc to zero
   
DWORD crc=0;

    //till the end of string
    while ( *pPassword )
    crc = (crc>>8) ^ pCRCTable[(BYTE)crc ^ (*pPassword++)];

    return crc;
}

Wie man aus dem Source Code Fragment erkennen kann, wird das Passwort (pPassword) zu Beginn eingegeben, woraufhin seine Checksumme ausgegeben wird. Die größte Angreifbarkeit der CRC32 Routine ist die 32-bit Länge des Passwort-Hash, er ist einfach ausgedrückt zu kurz, und so können aus zwei verschiedenen Passworten, die Checksummen übereinstimmen. So ergeben die Passworte 1 und orxgnm oder die Passworte mozart und 2920347097 jeweils die identische Checksumme. Diese 'Kollisionen' treten sehr häufig auf.

Diese 'Kollisionen' sind bemerkenswerte Ereignisse! Der Rückschluß ist mit einer ähnlichen Häufigkeit zulässig: je länger das Passwort, um so einfacher tritt eine 'Kollision' auf. Nehmen wir ein Beispiel aus dem Outlook Benutzerhandbuch, jenes Beispiel, was im Vorwort dieses Artikels nicht zufällig gewählt wurde. Für dieses als sicher bezeichnete Passwort Y6dh!et5 existiert eine einfache fünf Zeichen lange Entsprechung, die die identische Checksumme generieren läßt: JlSfw.

Es gibt aber noch eine andere interessante Beobachtung. Wird eine Checksumme in eine PST-Datei gespeichert, die gleich NULL ist, nimmt das Programm an, daß kein Passwort gesetzt wurde! Da wir nun wissen, daß Passworte mit identischer Checksumme auftreten, so ist die Annahme, daß dies auch bei den Passworten mit der Checksumme NULL auftritt, folgerichtig. Und tatsächlich existieren diese Passworte. Hier ein kleiner Auszug aus der langen Liste dieser Passwörter: 1Rj78C, 5J8j84, ArTniW. Crc32('1Rj78C')=0, Crc32('5J8j84')=0, Crc32('ArTniW')=0. Benutzt man nun eines dieser Passwörter um einen PST-Datei zu schützen, so wird diese Datei ungeschützt sein und das Programm wird beim nächsten Start der Datei noch nicht einmal ein Passwort abfragen! Sie glauben mir nicht? – Probieren Sie es einfach aus.

Experimente haben gezeigt, daß mittels einer 'Brute Force Attack' aus dem Outlook Hash das Passwort innerhalb einer Minute wiederhergestellt werden kann. Die Analyse der verwendeten CRC32-Routine hat gezeigt, daß für kurze Passworte (bis zu 4 Zeichen) eine vollständige und für alle anderen Passwortlängen eine teilweise Umkehrung des Algorithmus möglich ist. Weiterhin ist sicher, daß zur Auffindung einer 'Kollision' (Passwörter mit identischer Checksumme) weniger als 7 Zeichen notwendig sind. Dies bedeutet, daß das Originalpasswort zumeist unmittelbar wiederhergestellt werden kann.
 

 

Verschlüsselung von PST Dateien

Wenn wir die Einstellungsmöglichkeiten (Abbildung 2) betrachten, fällt auf, daß Outlook neben anderen Dingen auch eine Verschlüsselung des Dateiinhalts anbietet. In diesem Fall wird die Passwort-Checksumme nicht in offener Form innerhalb der PST-Datei abgelegt. Statt dessen wird eine zusätzliche Verschlüsselung mittels eines Verschlüsselungsalgorithmus verwendet. Betrachten wir nun diesen Verschlüsselungsalgorithmus. Während der Erzeugung eines neuen PST-Datei bietet

Outlook drei Datei Typen an:

  1. Nicht verschlüsselt
  2. Komprimierte Verschlüsselung
  3. Starke Verschlüsselung

Personal Folder compression
Abbildung 2. Anlegen einer neuen PST-Datei.

Wird keine Verschlüsselung gewählt, werden alle Benutzerdaten wie Kontakte, Nachrichten, Passwörter etc. in einer offenen Form gespeichert, so daß sie für alle Benutzer einsehbar sind. Diese Daten lassen sich z.B. mit einem Texteditor betrachten.

Der komprimierte Verschlüsselungsalgorithmus arbeitet mit einer einfachen Zeichen für Zeichen Ersetzungstabelle. Hier ist der Algorithmus:

BOOL CPstReader::Decrypt1( LPBYTE buf, int iSize )
{
    assert( buf );

    BYTE y=0;
    int x=0;

    //Check input buffer
    if ( buf==NULL )
        return FALSE;

    //Check encryption type
    if ( m_pst.encryption!=PST_ ENCRYPT_COMPESSIBLE )
        return FALSE;

    //actual decryption
    while ( iSize-- )
    {
        y=buf[x];
        buf[x++]=m_pTable[y];
    }

    return TRUE;
}

Die Ersetzungstabelle (m_pTable) wird so gebildet, daß mit der späteren Komprimierung die höchste Komprimierungsrate erreicht werden kann. Dieser Ersetzungsalgorithmus komprimiert den Inhalt nicht, sondern bereitet ihn nur zu den günstigsten Konditionen (im Sinne der späteren Komprimierung) auf.

Die starke Verschlüsselung ist ebenfalls eine Art des zuerst vorgestellten Substitutionsalgorithmus. Im Gegensatz zur ersten Variante bietet diese jedoch eine stärkere Verschlüsselung. Ein weiterer Unterschied dieses Algorithmus ist die Tatsache, daß die erzeugte verschlüsselte PST-Datei weniger stark komprimiert werden kann.

BOOL CPstReader::Decrypt2( LPBYTE buf, int iSize, DWORD id )
{
    assert( buf );

    int x=0;
    BYTE y=0;
    WORD wSalt;

    //Check input buffer
    if ( buf==NULL )
        return FALSE;

    //Check encryption type
    if ( m_pst.encryption!=PST_ENCRYPT_STRONG )
        return FALSE;

    //prepare encryption key from block ID
    wSalt=HIWORD(id) ^ LOWORD(id);

    //actual decryption
    while ( iSize-- )
    {
        y=buf[x];

        y+=LOBYTE(wSalt);
        y=m_pTable2[y];

        y+=HIBYTE(wSalt);
        y=m_pTable2[y+0x100];

        y-=HIBYTE(wSalt);
        y=m_pTable2[y+0x200];

        buf[x++]= y - LOBYTE(wSalt++);
    }

    return TRUE;
}

Um einen Datenblock wiederherstellen zu können, muß der „Block Identifier" bekannt sein. Ohne diesen „Identifier" würde sich der Wiederherstellungsprozeß wesentlich schwieriger gestalten. Nochmals, wenn wir den Source Code des Algorithmus näher betrachten, können wir feststellen, daß nur ein 16-bit Block Identifier benutzt wird. Dies erlaubt eine starke Eingrenzung der Anzahl an Iterationen, die für die Ermittlung des VerschlüsselungsKeys mittels einer Brute Force Attacke notwendig sind.

 

Techniken zur Speicherung von eMail Zugangspasswörtern

Beim Lesen dieses Artikels haben Sie vielleicht nun die falsche Vorstellung bekommen, daß MS Outlook nur schwache Passwort Verschlüsselungsalgorithmen verwendet, doch dies ist nicht so. Die Wahrheit finden wir durch einen Vergleich heraus, denn bisher haben wir nur PST-Dateien auf ihre Verschlüsselungsmechanismen hin analysiert. Betrachten wir nun Outlooks eMail Account Verschlüsselungs-methoden im Vergleich mit denen anderer populärer Programme.

Die Mehrzahl der populären eMail Clients haben keine sonderlich hohen Schutz zur Sicherung der Benutzerpassworte implementiert. So nutzen z.B. Eudora, TheBat! oder auch ältere Versionen von Netscape einen schon als archaisch zu bezeichnenden BASE64 oder Derivate davon als Algorithmus um Benutzerdaten zu verschlüsseln. IncrediMail benutzt einen einfachsten XOR Range des Originalpassworts (man könnte auch spitzfindig behaupten, das dies gar keine Verschlüsselung ist!), ältere Versionen von Opera verschlüsseln Passworte überhaupt nicht, sondern speichern diese als direkt lesbaren (plain) Text ab.

Mit den neuesten Versionen von Thunderbird, Opera M2, und Outlook Express verhält es sich ein wenig besser. Sie verwenden zuverlässige, zeitgemäße Algorithmen mit Hilfe eines Masterkeys. Dies ist normalerweise eine Kombination aus MD5 + RC4 oder SHA + 3DES oder Derivate davon. Thunderbird, Opera M2, und Outlook Express speichern ihre Masterkeys und Verschlüsselungskeys mit den verschlüsselten Passworten ab, was einen (zumeist) einfachen Rückschluß auf das Passwort ermöglicht.

Was nun Outlook betrifft (nebenbei bemerkt, ist dies nicht mit Outlook Express zu verwechseln!), so zeigt sich hier ein höchst verworrenes Bild. Die gesamte Chronologie der Entwicklung zur Speicherung der Passwörter für Outlooks eMail Zugangsdaten kann in vier Perioden unterteilt werden:

  • Das prähistorisches Zeitalter
  • Die Steinzeit
  • Das Mittelalter
  • Das Zeitalter des technologischen Fortschritts

Erläutern wir dies nun ausführlicher:

Das prähistorisches Zeitalter – die Periode der ersten Schritte. Die ersten Versionen der Programme speichern die verschlüsselten Passworte mittels eines BASE64 Algorithmus in der Registry, was zu dieser Zeit eine Errungenschaft war. Um solche Passwörter wiederherzustellen benötigte man nur einen Taschenrechner und ein wenig 'Gehirnschmalz'.

Die Steinzeit – Outlook 9x – die Periode der ersten Experimente. Ein neuer Verschlüsselungsalgorithmus, der mit einem verschlüsselten Key und einem einmaligen (record) Identifier arbeitet, wird eingeführt. Zu dieser Zeit state-of-the-art, Stand der aktuellen Entwicklung. Die verschlüsselten Daten können ohne Kenntnis des Keys und des Indentifiers nicht wiederhergestellt werden. Viele der aktuellen eMail Clients verfügen noch nicht einmal heute über diese Algorithmen! Die ursprüngliche Idee dieser Methode wird jedoch von einer einzigen großen Schwäche untergraben – der Verschlüsselungs-Key und der (record) Identifier werden in der Registry zusammen mit den verschlüsselten Daten gespeichert.

Mittelalter – Outlook 2000 – die ersten Standards. eMail Zugangspasswörter werden nunmehr innerhalb des geschützten Windows Speicherbereich abgelegt (einer der nächsten Artikel wird diesen Speicherbereich näher betrachten). Das verwendete Verfahren dazu lässt sich wie folgt darstellen:

  1. Key1 wird zur Entschlüsselung des MasterKey erzeugt. Es werden SHA(Salt) + SHA(SID) + SHA(Salt) verwendet, wobei Salt eine globale Konstante und SID der Benutzer Identifier ist.
  2. Key2 wird zur Entschlüsselung des MasterKey erzeugt. Es werden SHA(MKSalt) + SHA(Key1) verwendet, wobei MKSalt vom Typ BinaryData, für jeden MasterKey einmalig ist und mit ihm zusammen gespeichert wird. Key1 besteht aus einem 20 bit langen Wert, der durch den vorherigen Schritt (1) erzeugt wurde.
  3. Der MasterKey wird mit Hilfe eines DES Algorithmus und des Key2 entschlüsselt.
  4. Der so erhaltene MasterKey ist Bestandteil der Entschlüsselung des Datenverschlüsselungs-Key. Der Datenverschlüsselungs-Key wird zusammen mit den Daten abgespeichert und ist für jeden Dateneintrag unterschiedlich. Er besteht aus 16 Bytes. Die erste Hälfte wird zur Entschlüsselung genutzt, die zweite Hälfte zur Gültigkeitsprüfung.
  5. Mit diesem entschlüsselten DatenKey kann man nun die Daten selbst (Passwörter, Unterlagen und andere sicherheitsrelevante Informationen) entschlüsseln.

     

Dies ist eine großartige Idee. Die Hauptvorteile dieses Algorithmus liegen in folgenden Aspekten:

  • Ein einziger MasterKey für alle Daten. Es genügt (in den Schritten 1-3) den MasterKey einmalig zu entschlüsseln. Dies beschleunigt den Entschlüsselungprozeß ohne die Gesamtsicherheit der Methode zu schwächen.
  • Der Beutzer SID ist Teil der Entschlüsselung des MasterKeys, so daß jeder Benutzer einen eigenen MasterKey besitzt. Dadurch ist es unmöglich die Daten ohne Kenntnis des benutzerspezifischen SIDs zu entschlüsseln, unvorteilhafterweise werden jedoch die SID gemeinsam mit dem MasterKey in der Registry gespeichert.
  • Dieser Algorithmus ist, obwohl schon vor über 10 Jahren entwickelt, sicher gegenüber den heute populären Attacken mit RainbowTables.

     

Diese Verschlüsselungsroutine, die nebenbei gesagt bei der Einführung des Internet Explorers 4 schon benutzt wurde, war ein Durchbruch in der Datenverschlüsselung. Alle modernen Browser (Opera, Mozilla, Firefox, und Internet Exlorer bis zur Version 6) nutzen dieses oder ein ähnliches Passwortverschlüsselungs-Schema. Beachten Sie bitte, daß die stärksten Outlook Konkurrenten hier in der Entwicklung stehen blieben, im Mittelalter der Verschlüsselungstechnologie.

Das Zeitalter des technologischen Fortschritts – Outlook 2003 betritt die Bühne der Welt. Die neue Version des populären eMail Clients benutzt einen neuen Verschlüsselungsalgorithmus, der eine logische Weiterentwicklung des vorherigen darstellt. Dieser Algorithmus basiert auf einer wichtigen Grundlage – er ist an das Benutzerpasswort gebunden. Dieser Artikel soll nicht im Detail die Funktionen des Algorithmus beschreiben, denn dazu sind schon ein paar Seiten mehr von Nöten. Statt dessen möchten wir eine Vorstellung von dem vermitteln, was zur Wiederherstellung von Passwörtern, die mit diesem neuen Algorithmus verschlüsselt wurden, benötigt wird (Abbildung 3):

  1. Der Benutzer MasterKey
  2. Der Benutzer SID
  3. Das Benutzer Passwort

Outlook Password Recovery
Abbildung 3. Outlook 2003 Passwörter.

Die Vorteile des neuen DPAPI Algorithmus sind:

  • Der MasterKey wird nunmehr in einem eigenen Verzeichnis auf dem lokalen Computer gespeichert. Der Zugang zu diesem Verzeichnis ist teilweise eingeschränkt.
  • Der MasterKey hat ein Länge von 512 Bits, was die Möglichkeit der Methode einer zufälligen Auffindung in der nächsten Zukunft ausschließt.
  • Es werden neue Verschlüsselungsalgorithmen genutzt, teilweise SHAHMAC, die eine variable Anzahl an wiederholten Iterationen (4000 in der Grundeinstellung) benutzen.
  • Der Verschlüsselungsalgorithmus (sowohl für den MasterKey, als auch für die aktuellen Daten) sind vollständig anpassbar. Einige Einstellungen können über das Betriebssystem gesetzt werden.
  • Der Datenschutz kann über den Zugangslevel des Betriebssystems realisiert werden.
  • Der Algorithmus ist an das User Passwort gebunden.

     

Die Entschlüsselung der Passwörter für einen angemeldeten Benutzer sind absolut transparent. Das Passwort wird ein einziges Mal bei der Benutzeranmeldung an das Betriebssystem abgefragt. Für den Rest sorgt dann das Betriebssystem. Wenn ein potentieller Hacker keinen physikalischen Zugriff auf die verschlüsselten Daten hat, wird er nur mit Kenntnis des Benutzer Passworts in der Lage sein, die Daten zu entschlüsseln. Ohne das Benutzer Passwort hat er keine Möglichkeit die Daten zu entschlüsseln.

 

Zusammenfassung

Jede Neuerscheinung des populären eMail Clients hat Microsoft dazu genutzt mittels neuer und zu diesem Zeitpunkt unbekannter Methoden die Sicherheit für den Endverbraucher zu erhöhen. Der neuen Outlook 2003 Verschlüsselungsalgorithmus ist ausgesprochen gut.

Sind Sie nicht auch schon gespannt, was die nächste Version, Outlook 2007, an Neuerungen bereithält? Nehmen wir uns die Freiheit anzunehmen, daß PST Passwörter die momentan in der Windows Registry und zusätzlich wie in Outlook 9x verschlüsselt wurden (siehe die Betrachtungen über die 'Steinzeit'), auch so nun in Outlook 2003 verschlüsselt werden. Dies scheint schlußendlich logisch zu sein. Es ist schwierig etwas über die zukünftige Entwicklung in der Behandlung von eMail Zugangspasswörtern zu sagen. Wir werden jedoch die weitere Entwicklung von neuen, auf Grundlage des Outlook 2003 basierenden Verschlüsselungsverfahren oder einer neuen Kombination aus geschütztem Speicherbereich und Benutzer Passwort gespannt verfolgen und Ihnen die Verschlüsselunsgmechanismen der neue Programmversion in einem der zukünftigen Artikel vorstellen.
 

Dieser Artikel kann frei vertrieben oder reproduziert werden, so lange Bezug
auf den Originalartikel durch Hinweis auf jeder Kopie des Artikels genommen wird.
(c) 2006 Passcape Software. Alle Rechte vorbehalten.
https://www.passcape.com