Dieses Kapitel gibt Ihnen einen Überblick über Paßwort-Knacker und andere Programme, die dazu entwickelt wurden, Paßwort-Sicherheitsmaßnahmen zu umgehen.
Ein Paßwort-Knacker ist ein Programm, das Paßwort-Sicherheitsmaßnahmen umgeht, indem es Paßwörter aufdeckt, die vorher verschlüsselt wurden. Dies bedeutet jedoch nicht, daß ein Paßwort-Knacker unbedingt irgend etwas entschlüsselt. Tatsächlich tun die meisten Paßwort-Knacker das nicht.
In der Regel können Paßwörter, die mit starken Algorithmen verschlüsselt wurden, nicht entschlüsselt werden. Die meisten Verschlüsselungsprozesse sind One-Way-Prozesse und es gibt keinen Prozeß, um die Verschlüsselung wieder aufzuheben (zumindest nicht in einem angemessenen Zeitraum).
Statt dessen benutzt man Simulationstools, die den gleichen Algorithmus benutzen wie zur Verschlüsselung des Originalpaßworts. Diese Tools führen vergleichende Analysen durch (ein Prozeß, der später in diesem Kapitel erklärt wird).
Viele Paßwort-Knacker sind nichts als Brute-Force-Maschinen, d.h. Programme, die ein Wort nach dem anderen ausprobieren, oft in sehr hoher Geschwindigkeit. Derartige Programme basieren auf der Theorie, daß man schon irgendwann auf das richtige Wort oder den richtigen Satz treffen wird. Diese Theorie ist durchaus zutreffend, da Menschen nun einmal faule Kreaturen sind. Sie machen sich nur selten die Mühe, gute Paßwörter zu kreieren. Die Schuld an diesem Manko trägt jedoch nicht immer der Benutzer:
Benutzer sind nur selten, wenn überhaupt, geschult in der Auswahl eines sinnvollen Paßworts. Wenn sich ein Paßwort in einem Wörterbuch befindet, ist es extrem anfällig, geknackt zu werden, und Benutzer wissen einfach nicht, wie sie ein sicheres Paßwort wählen. Und die Benutzer, die in diesem Bereich geschult sind, denken oft, daß ihr Paßwort sicher vor Entdeckung ist, wenn es nicht in
/usr/dict/words
steht. Viele Benutzer sagen auch, daß die Sicherheit ihres Accounts ihnen egal ist, wenn sie keine privaten Dateien online haben, aber sie realisieren nicht, daß sie durch das Bereitstellen eines Eingangspunkts zu ihrem System einem böswilligen Cracker ermöglichen, ihrem gesamten System Schaden zuzufügen.1
Das Problem besteht beharrlich weiter trotz der Tatsache, daß es eine einfache Sache ist, Schulung im Bereich Paßwortsicherheit anzubieten. Es ist erstaunlich, daß solch ein kritischer Sicherheitsaspekt immer wieder übersehen wird (obwohl er leicht angesprochen werden kann). Dieser Punkt geht an den Kern von Sicherheit:
Das Ausnutzen schlecht gewählter und wenig geschützter Paßwörter ist eine der weitverbreitetsten Angriffe auf Systemsicherheit durch Cracker. Fast jedes Multi-User- System nutzt Paßwörter als Schutz vor unautorisierten Zugriffen, aber vergleichbar wenige wenden diese Paßwörter korrekt an. Das Problem ist universell und nicht systemspezifisch. Und die Lösungen für dieses Problem sind einfach, billig und auf jedem Rechner anwendbar, unabhängig von Betriebssystem und Hardware. Jeder kann sie verstehen und man braucht keinen Administrator oder Systemprogrammierer, um sie zu implementieren.2
Der einfachste Weg zu verstehen, wie Paßwort-Knacker funktionieren, ist es zu verstehen, wie verschlüsselte Paßwörter kreiert werden. Paßwort-Generatoren benutzen Kryptographie, d.h. die Praxis, kodiert zu schreiben.
Die etymologische Wurzel des Worts Kryptographie ist sehr aufschlußreich. Das Wort Krypto ist von dem griechischen Wort kryptos abgeleitet. Kryptos beschreibt alles, was versteckt, verborgen, verschleiert, heimlich oder mysteriös ist. Das Wort graphie ist von graphia abgeleitet und das bedeutet Schrift. Also ist Kryptographie die Kunst der Geheimschrift. In seinem Bericht »Cryptography und Encryption« gibt Yaman Akdeniz eine hervorragende und präzise Definition von Kryptographie:
Kryptographie, definiert als »die Wissenschaft und Lehre der Geheimschrift«, umfaßt die Art und Weise, in der Kommunikation und Daten durch Codes, Chiffren und andere Methoden verschlüsselt werden können, um eine Offenlegung ihrer Inhalte durch Abhören oder Abfangen zu verhindern, so daß nur bestimmte Leute die richtige Nachricht sehen können.3
Um den Prozeß der Kryptographie zu veranschaulichen, reduziere ich ihn auf seine fundamentalsten Bestandteile. Stellen Sie sich vor, Sie haben Ihren eigenen Verschlüsselungscode entworfen, bei dem jeder Buchstabe des Alphabets einer Zahl entspricht (siehe Abbildung 11.1).
Abbildung 11.1: Ein einfaches Beispiel für einen Code
Abbildung 11.1 hat eine Tabelle oder Legende. Unter jedem Buchstaben steht eine entsprechende Zahl. A = 7, B = 2, usw. Dies ist sozusagen ein Verschlüsselungscode. Wenn Sie eine Nachricht nach diesen Regeln schreiben, kennen nur Sie und der Empfänger den tatsächlichen Inhalt der Nachricht.
Leider kann ein derartiger Code sehr einfach geknackt werden. Wenn zum Beispiel jeder Buchstabe ein festes numerisches Gegenstück hat, benutzen Sie nur 26 verschiedene Zahlen (vielleicht 1 bis 26, obwohl Sie auch willkürliche Zahlen benutzen könnten). Eine lexikalische Analyse würde Ihren Code innerhalb weniger Sekunden offenlegen. (Einige Software- Programme führen eine solche Analyse in sehr hoher Geschwindigkeit durch, indem sie nach Mustern suchen, die für eine bestimmte Sprache üblich sind.)
Eine andere etwas komplexere Methode ist es, jeden Buchstaben durch einen anderen Buchstaben zu ersetzen, basierend auf einer aufsteigenden oder absteigenden Standardmethode. Ein System, das in dieser Art und Weise arbeitet, ist die ROT-13-Verschlüsselung. ROT-13 ersetzt einen Buchstaben durch einen anderen, der in der Buchstabenfolge 13 Stellen weiter vorne steht (siehe Abbildung 11.2).
Abbildung 11.2: Buchstaben-Kodierung nach ROT-13
Dies ist ebenfalls eine ineffektive Methode, Nachrichten zu kodieren oder zu verschlüsseln (obwohl es zu Zeiten des Römischen Reichs funktionierte, Cäsar benutzte eine »Drei- Schritte-vor«-Formel). Einige Programme können dieses Muster schnell identifizieren. Das heißt jedoch nicht, daß Techniken wie ROT-13 völlig nutzlos sind. Ich werde den Grund demonstrieren und dabei gleich den ersten wichtigen Punkt zur Verschlüsselung klarstellen:
Jede Form von Verschlüsselung kann unter bestimmten Bedingungen nützlich sein. Diese Bedingungen hängen ab von der Zeit, der Sensibilität der Informationen und der Identität desjenigen, vor dem Sie diese Informationen verbergen möchten.
Anders gesagt können Techniken wie ROT-13 unter bestimmten Umständen recht nützlich sein. Hier ist ein Beispiel: Nehmen wir an, ein Cracker möchte eine neue Cracking-Technik im Usenet veröffentlichen. Er hat ein Sicherheitsloch gefunden und will es bekanntgeben, solange es noch ausnutzbar ist. Um zu verhindern, daß Sicherheitsspezialisten das Sicherheitsloch ebenso schnell wie Cracker entdekken, kodiert er seine Nachricht mit Hilfe von ROT-13.
Gruppen wie die NCSA laden routinemäßig Usenet-Traffic auf großangelegter Basis herunter. Auf diese Weise sammeln sie Informationen über die Cracker-Gemeinde. Einige Gruppen benutzen sogar beliebte Suchmaschinen, um Cracker-Techniken aufzuspüren. Diese Suchmaschinen suchen nach regulären Wörtern oder Sätzen. Zum Beispiel gibt der Suchende eine Kombination von Wörtern ein wie
Wenn diese Mischung aus Wörtern richtig eingegeben wird, erhält der Suchende eine Fülle von Informationen. Wenn ein Cracker jedoch ROT-13 benutzt, wird die Suchmaschine die entsprechende Nachricht nicht angeben. Zum Beispiel wird die Nachricht
von einer gewöhnlichen Suchmaschine nicht erfaßt. Ihr tatsächlicher Inhalt lautet:
Die meisten modernen Mail- und Newsprogramme unterstützen ROT-13-Kodierung und Entschlüsselung. (FreeAgent von Forte ist eines, Netscape Navigators Mail-Paket ein anderes.) Dies ist eine rudimentäre Form der Verschlüsselung, aber sie demonstriert das Konzept. Jetzt lassen Sie uns ein bißchen in die Tiefe gehen.
Heutzutage laufen auf Internet-Informationsservern viele verschiedene Betriebssysteme. Für viele Jahre jedoch war Unix das einzige Betriebssystem und daher wurden die meisten Paßwort-Knacker für Unix entworfen. Lassen Sie uns mit Unix beginnen und uns dann weiter vorarbeiten.
In Unix werden die Login-Identifikationen und die Paßwörter aller Benutzer in einer Datei
passwd
zentral gespeichert. Diese Datei enthält verschiedene Felder. Von diesen Feldern
interessieren uns zwei: die Login-ID und das Paßwort.
Die Login-ID wird in einfachem Text oder menschlich lesbarem Englisch gespeichert. Das Paßwort wird in verschlüsselter Form gespeichert. Der Verschlüsselungsprozeß wird unter Nutzung von crypt(3) durchgeführt, einem Programm, das auf dem Data Encryption Standard (DES) basiert.
IBM entwickelte die früheste Version von DES, heute wird es auf allen Unix-Plattformen zur Verschlüsselung eingesetzt. DES wird sowohl vom National Bureau of Standards als auch von der National Security Agency unterstützt. Tatsächlich gilt DES seit 1977 als allgemein gültige Methode zum Schutz sensibler Daten. Abbildung 11.3 gibt Ihnen einen kurzen zeitlichen Überblick der Entwicklung von DES.
Abbildung 11.3: Kurze Zeitübersicht der Entwicklung von DES
DES wurde entwickelt, um bestimmte, nur für den Dienstgebrauch gedachte Informationen in Bundesbehörden zu schützen. Beschrieben wird das in der Federal Information Processing Standards Publication 74, Guidelines for Implementing and Using the NBS Data Encryption Standard:
Da generelle Verschlüsselungstechnologien außerhalb des Gebiets der Nationalen Sicherheit nicht verfügbar waren und da Sicherheitsmaßnahmen einschließlich Verschlüsselung bei nur für den Dienstgebrauch gedachten Applikationen für Computersysteme der Regierung notwendig waren, initiierte das National Bureau of Standards (NBS) 1973 ein Computersicherheitsprogramm, das die Entwicklung eines Standards für die Verschlüsselung von Computerdaten beinhaltete. Da Regierungsstandards auf den privaten Sektor Einfluß nehmen, bemühte sich das NBS um Interesse und Zusammenarbeit mit der Industrie und der Anwendergemeinde für diese Aufgabe.
Informationen über die ursrüngliche mechanische Entwicklung von DES sind rar. Berichten zufolge machte IBM auf Anfrage der National Security Agency bestimmte Dokumente zur Verschlußsache. Der Source-Code für crypt(3) (der aktuellen Implementierung von DES auf Unix) ist jedoch weitgehend verfügbar. Das ist insofern von Bedeutung, da trotz all der Jahre, seit denen der Source-Code von Crypt verfügbar ist, noch niemand einen Weg gefunden hat, wie man mit Crypt verschlüsselte Informationen wieder zurückverschlüsseln kann.
Es gibt mehrere Versionen von Crypt, die alle etwas unterschiedlich arbeiten. Generell läuft der Prozeß jedoch wie folgt ab:
1. Ihr Paßwort wird als einfacher Text aufgenommen (oder, im kryptographischen Jargon, als Klartext).
2. Ihr Paßwort wird als Schlüssel benutzt, um eine Reihe von Nullen zu verschlüsseln (64 insgesamt). Der daraus resultierende kodierte Text wird als Chiffrentext bezeichnet, das ist der unleserliche Code, der aus der Verschlüsselung von Klartext resultiert.
Bestimmte Versionen von Crypt, besonders crypt(3), gehen noch weiter. Zum Beispiel wird der verschlüsselte Text nach Abschluß dieses Prozesses noch einmal verschlüsselt und wieder wird Ihr Paßwort als Schlüssel benutzt. Dies ist eine ziemlich starke Verschlüsselungsmethode, die sich nur sehr schwer knacken läßt.
DES nimmt übertragene Daten und kodiert sie über einen One-Way-Arbeitsvorgang, der auch als hash bezeichnet wird. Dieser Arbeitsprozeß ist aus mathematischer Sicht einzigartig, da es zwar relativ einfach ist, auf diesem Weg Daten zu kodieren, aber eine Dekodierung rechnerisch komplex und Ressourcen-intensiv wird. Es wird z.B. geschätzt, daß ein und das selbe Paßwort auf 4.096 verschiedene Arten kodiert werden kann. Ein durchschnittlicher Benutzer, der das System nicht kennt, könnte wahrscheinlich sein ganzes Leben mit dem Versuch verbringen, DES zu knacken, und niemals Erfolg haben. Um Ihnen einen Blick für die richtige Perspektive zu geben, hier eine Schätzung des National Institute of Standard and Technology:
Der kryptographische Algorithmus [DES] verwandelt einen binären 64-Bit-Wert in einen einzigartigen binären 64-Bit-Wert, der auf einer 56-Bit-Variablen basiert. Wenn die komplette 64-Bit-Eingabe benutzt wird (d.h. keines der eingegebenen Bits sollte von Block zu Block vorgegeben sein) und wenn die 56-Bit-Variable zufällig gewählt wird, kann keine andere Technik als das Ausprobieren aller möglichen Schlüssel unter Benutzung bekannter Eingabe und Ausgabe für den DES garantieren, daß der Schlüssel gefunden wird. Da es über 70.000.000.000.000.000 (siebzig Quadrillionen) mögliche Schlüssel von 56 Bit gibt, ist die Möglichkeit, einen bestimmten Schlüssel auf diese Art und Weise zu erhalten, in typisch bedrohten Umgebungen praktisch nicht gegeben.4
Man könnte glauben, daß DES völlig unfehlbar sei. Das ist es nicht. Obwohl die Information nicht zurückkodiert werden kann, können Paßwörter, die mit DES verschlüsselt wurden, durch einen vergleichenden Prozeß ermittelt werden. Dieser Prozeß funktioniert wie folgt:
1. Sie besorgen sich eine Wörterbuch-Datei, das ist eine normale Datei mit einer Liste von Wörtern (überlicherweise als Wortlisten bezeichnet).
2. Diese Wörter verschlüsseln Sie mit Hilfe von DES.
3. Jedes verschlüsselte Wort wird mit dem Zielpaßwort verglichen. Wenn Sie zwei gleiche finden, gibt es eine 98prozentige Chance, daß das Paßwort geknackt wurde.
Dieser Prozeß an sich ist erstaunlich, um so erstaunlicher sind Programme zum Knacken von Paßwörtern, die für diesen Zweck entwickelt wurden. Zum Beispiel können derartige Programme jedem Wort eine ganze Reihe von Regeln zuordnen.
Eine solche Regel kann irgend etwas sein, jede Art und Weise, in der ein Wort geschrieben werden kann. Übliche Regeln könnten u.a. sein:
Natürlich dauert der Cracking-Prozeß länger, je mehr Regeln Sie anwenden. Aber mehr Regeln garantieren aus verschiedenen Gründen auch eine höhere Erfolgswahrscheinlichkeit:
Paßwort-Knacker hatten einen enormen Einfluß auf die Sicherheit im Internet, hauptsächlich wegen ihrer Effektivität:
Crypt benutzt den Widerstand von DES gegenüber Klartextangriffen und macht es rechnerisch unmöglich, das Originalpaßwort, aus dem ein bestimmtes verschlüsseltes Paßwort entstanden ist, durch intensives Suchen zu finden. Die einzige öffentlich bekannte Methode, durch die bestimmte Paßwörter entdeckt werden können, ist das Raten von Paßwörtern: Hierzu werden umfangreiche Wortlisten durch den Crypt- Prozeß laufengelassen, um zu sehen, ob irgendeines der resultierenden verschlüsselten Wörter einer Eingabe in die
/etc/passwd
-Datei entspricht. Unsere Erfahrung ist, daß diese Art des Angriffs erfolgreich ist, außer es werden explizite Schritte unternommen, sie zu durchkreuzen. In der Regel finden wir 30 Prozent der Paßwörter auf vorher ungeschützten Systemen.5
Programme zum Knacken von Paßwörtern werden auch immer effektiver. Die Programme beinhalten unfassendere Regeln und diverse Wortlisten.
Wortlisten sind Klartextdateien mit einem Wort pro Zeile. Diese Dateien sind etwa 1 Mbyte groß (obwohl man leicht Wortlisten von 20 Mbyte erstellen könnte). Viele Wortlisten sind im Internet erhältlich, und zwar in einer ganzen Reihe von Sprachen (so daß ein amerikanischer Cracker einen italienischen Rechner knacken kann und umgekehrt).
Es gibt mehrere beliebte Wortlistensammlungen. Einige sind einfache Wörterbücher,
andere spezialisierte Wörterbücher, die mit Bindestrich geschriebene
Wörter, groß- und kleingeschriebene Wörter usw enthalten. Eine außergewöhnlich
gute Quelle finden Sie unter http://www.cs.purdue.edu/
coast/. Die vielleicht genaueste Sammlung ist allerdings die des COAST-
Projekts an der Purdue University. Sie finden sie unter http://www.cs.purdue.edu/coast/
.
Wenn Sie neu in der Systemadministration sind, fragen Sie sich wahrscheinlich, wie Sie von Paßwort-Knackern profitieren können. Paßwort-Knacker können Ihnen dabei helfen, schwache Paßwörter in Ihrem Netzwerk zu identifizieren.
Idealerweise sollten Sie einmal monatlich einen Paßwort-Knacker laufen lassen. Wenn Ihr Netzwerk mehrere Plattformen unterstützt, werden Sie eine ganze Reihe von Utilities zum Knacken von Paßwörtern brauchen. (Paßwort-Knacker, die für das Knacken von Unix-Paßwörtern entwickelt wurden, können nicht auf Windows-NT-Paßwörter angewandt werden, etc.)
Um Paßwörter zu knacken, brauchen Sie die folgenden Dinge:
Lassen Sie uns kurz die Hardware-Aspekte besprechen.
Das Knacken von Paßwörtern ist eine CPU- und speicherintensive Angelegenheit, die einige Tage dauern kann. Um Paßwörter effektiv zu knacken, brauchen Sie geeignete Hardware.
Ich habe herausgefunden, daß Sie die folgenden Ressourcen brauchen, um große Paßwortdateien komfortabel behandeln zu können:
Sie können auch mit weniger klarkommen - sogar mit einem 25-MHz-Prozessor und 8 Mbyte RAM - aber ich würde es nicht empfehlen. Wenn Sie es tun, sollte der Rechner, den Sie benutzen, nur für das Knacken von Paßwörtern zur Verfügung stehen. (Erwarten Sie nicht, daß Sie ihn noch für andere Aufgaben benutzen können.)
Es gibt Techniken für die Bewältigung von Hardware-Einschränkungen. Eine ist der Salontrick des geteilten Crackings. Hierbei lassen Sie das Cracking-Programm parallel auf verschiedenen Prozessoren laufen. Es gibt mehrere Wege, dies zu realisieren. Einer ist, die Paßwortdatei in zwei Teile zu teilen und diese Teile auf verschiedenen Rechnern knacken zu lassen. Auf diese Weise wird die Arbeit auf mehrere Workstations verteilt, und somit Ressourcen und Zeit eingespart.
Das Problem in bezug auf verteiltes Cracking ist, daß es sehr auffällig ist. Erinnern Sie sich noch an den Fall Randal Schwartz? Herr Schwartz wäre wahrscheinlich niemals entdeckt worden, wenn er die CPU-Ladung nicht verteilt hätte. Ein anderer Systemadministrator bemerkte die schwere Prozessorlast und auch, daß ein Prozeß schon seit mehr als einem Tag lief. Verteiltes Cracking ist für einen Cracker nicht sehr praktisch, es sei denn, er ist der Administrator einer Site oder er hat ein Netzwerk zu Hause (was heutzutage nicht so ungewöhnlich ist; ich habe ein Netzwerk, das aus Windows-95-, Windows-NT-, Linux-, Sun- und Novell-Rechnern besteht).
Der Rest dieses Kapitels ist den einzelnen Paßwort-Knackern gewidmet. Einige Tools wurden
dazu entwickelt, Unix-passwd
-Dateien zu knacken, andere nicht. Einige der aufgeführten
Tools sind nicht einmal Passwort-Knacker, sondern Hilfs-Utilities, die in Verbindung mit
existierenden Paßwort-Knackern eingesetzt werden können.
Sie können die folgenden Utilities benutzen, um Paßwörter zu knacken, die unter Windows NT generiert wurden. (Diese Utilities knacken keine Unix-Paßwörter.)
l0phtCrack 2.0 ist das am meisten gerühmte Tool zum Knacken von Paßwörtern, hauptsächlich weil es einen zweiteiligen Ansatz befolgt, wie die Autoren erklären:
Paßwörter werden mit zwei verschiedenen Methoden berechnet. Die erste, ein Nachschlagen im Wörterbuch, das auch Dictionary-Cracking genannt wird, benutzt eine Wörterbuchdatei des Anwenders. Für jedes Wort innerhalb der Wörterbuchdatei wird eine Hash-Kodierung berechnet, die dann mit allen hash-kodierten Paßwörtern des Anwenders verglichen wird. Gibt es eine Übereinstimmung, hat man das Paßwort geknackt. Diese Methode ist extrem schnell. Auf einem PPro 200 können Tausende von Benutzern mit einem 100.000-Einträge-Wörterbuch innerhalb weniger Minuten überprüft werden. Der Nachteil dieser Methode ist, daß nur sehr einfache Paßwörter gefunden werden können. Die zweite Methode ist die Brute-Force-Berechnung. Diese Methode benutzt eine bestimmte Sammlung von Zeichen wie A-Z oder A-Z plus 0-9 und berechnet die Hash-Kodierung für jedes mögliche Paßwort, das aus diesen Zeichen gebildet werden kann.
Die Freigabe von l0phtCrack verursachte erhebliche Debatten, besonders da die Autoren des Programms darauf hinwiesen, daß Microsofts Paßwort-Algorithmus »im wesentlichen fehlerhaft« sei. Microsoft-Offizielle wiesen diese Aussage weit von sich, aber vergeblich. l0phtCrack funktioniert sehr gut.
Um l0phtCrack effektiv einsetzen zu können, brauchen Sie die Hash-Kodierungen der Paßwörter. Die einfachste Methode ist, sie aus der Registrierdatenbank zu nehmen (oder sie aus einer SAM(Security Accounts Manager)-Datei zu extrahieren. Ich werde später in diesem Kapitel ein Tool namens pwdump vorstellen, das die nötigen Informationen extrahieren kann.
l0phtCrack finden Sie unter http://www.l0pht.com/l0phtcrack/.
ScanNT ist eine umfassende Paßwort-Audit-Lösung von Midwestern Commerce, Inc. Im Gegensatz zu den meisten anderen Paßwort-Cracking und Auditing-Utilities ist ScanNT ein kommerzielles Produkt, das seinen Preis durchaus wert ist. Hier sind einige seiner Merkmale:
ScanNT ist tatsächlich Teil einer größeren Systemverwaltungsprogrammfamilie namens Administrator Assistant Tool Kit 2.0. Seine verwandten Utilities verbessern Ihre Möglichkeiten zur Kontrolle von Richtlinien und Sicherheit erheblich, sei es auf einem einzelnen Rechner oder in einem Windows-NT-Netzwerk. Hier sind zwei gute Beispiele für andere Programme der Familie:
ScanNT wird mit einem integrierten Wörterbuch mit 32.000 Einträgen geliefert (sie können leicht größere Wörterbücher aus anderen Quellen integrieren). Außerdem ändert ScanNT automatisch Sicherheitsrichtlinien, um seine Überprüfung durchzuführen, nach deren Beendigung es diese Richtlinien automatisch wieder etabliert. Und schließlich können Sie ScanNT entweder im Befehlszeilen- oder im GUI-Modus einsetzen.
Sie finden ScanNT unter http://www.ntsecurity.com/Products/ScanNT/index.html.
NTCrack ist ein eigenartiges Utility. Wie seine Autoren erklären, ist es nicht wirklich für das Knacken von Paßwörtern im praktischen Sinn entwickelt worden. Es demonstriert jedoch, daß ein Cracker mit Brute-Force-Methoden gegen Windows NT vorgehen kann. Der Zweck des Programms sind extrem schnelle Brute-Force-Angriffe gegen einen NT-Rechner, wie die Leute von Somarsoft berichten:
Das Programm schafft etwa 1.000 Logins pro Minute, wenn es auf einem 486DX-33- Client mit 16 Mbyte RAM, einem 486DX-66-Server mit 32 Mbyte RAM und einem 10- MBps-Ethernet läuft. Dies kommt einem Überprüfen von 1.152.000 Paßwörtern pro Tag gleich. Zum Vergleich: es gibt vielleicht 100.000 gängige Wörter in der englischen Sprache.
Um solche Angriffe zu verhindern, schlägt Somarsoft vor, daß Sie Account-Sperren einrichten, den Administrator-Account umbenennen, Netzwerk-Logins für Administrator deaktivieren und SMB über TCP/IP sperren.
Um NTCrack auszuprobieren, holen Sie sich den Source-Code unter http://somarsoft.com/ntcrack.htm oder eine kompilierte Version unter http://somarsoft.com/ftp/ NTCRACK.ZIP.
Password NT stellt Paßwortdateien auf der Microsoft-Windows-NT-3.51-Plattform wieder her. Beachten Sie, daß einige Programmierkenntnisse notwendig sind, um dieses Utility anzuwenden. Wenn das ursprüngliche Laufwerk, auf dem sich das Zielpaßwort befindet, NTFS (New Technology File System) ist (und daher Zugangskontrolloptionen aktiviert sind), müssen Sie die Paßwortausgaben auf ein anderes Laufwerk, das nicht durch Zugangskontrollen geschützt ist, verschieben. Dazu müssen Sie das Paßwort auf ein Laufwerk verschieben, das ebenfalls auf einer 3.51-Workstation oder einem 3.51-Server läuft.
Password NT ist ein gut gemachtes Utility, das Sie immer auf der Homepage
des Unternehmens finden können. http://www.ntsecurity.com/Services/
Recovery/index.html.
Die NT-Zubehörprogramme, die in Tabelle 11.1 aufgelistet sind, sind unentbehrlich.
samdump ist ein Utility, das den Prozeß des Verwerfens von NT-Paßwort-Hash-Kodierungen automatisiert. Es verwirft diese Werte aus der SAM-Datei, die sich entweder in der Registrierungsdatenbank auf einer Notfall-Reparaturdiskette oder außerhalb des Festplattenlaufwerks befindet. Samdump erhalten Sie unter http://www.rhino9.org/tools/samdump.zip | |
pwdump ist ein ähnliches Utility wie samdump. Es verwirft NT-Benutzernamen und Paßwörter. (Glücklicherweise verlangt pwdump Administratorprivilegien.) pwdump finden Sie unter http://www.rhino9.org/tools/pwdump.ex_ | |
NTFSDOS ist ein Tool, das es Ihnen ermöglicht, auf NTFS-Datenträger zuzugreifen und sie sich anzusehen, als wären sie FAT32. Sie können dieses Tool dazu benutzen, SAM-Paßwortinformationen von einem NTFS-Datenträger zu extrahieren. Sie finden NTFSDOS unter ftp://ftp.ora.com/pub/examples/windows/win95.update/ntfsdos.zip |
Statt die hier beschriebenen Utilities einfach nur zu benutzen, möchten Sie vielleicht zunächst einmal untersuchen, welche Faktoren zu derart schlechter Sicherheit von Paßwörtern in NT führten. Sollte das so sein, sollten Sie sich die folgenden Dokumente ansehen:
Der nächste Abschnitt gibt eine Übersicht über Paßwort-Knacker, die für Unix als Zielplattform entwickelt wurden. Das heißt, diese Paßwort-Knacker laufen möglicherweise auf vielen verschiedenen Plattformen, wurden aber alle dazu entwikkelt, Unix-Paßwörter zu knakken.
Crack wird dazu benutzt, Unix-Netzwerke auf charakteristisch schwache Paßwörter zu untersuchen. Crack wurde von Alec D. E. Muffet geschrieben, einem Unix-Software-Ingenieur aus Wales. Muffet beschreibt den Zweck des Programms in der Dokumentation sehr präzise:
Crack ist ein frei verfügbares Programm, das dazu entwickelt wurde, 8stellige, mit DES verschlüsselte Standardpaßwörter durch die Benutzung von Standard-Ratetechniken zu finden. Es wurde geschrieben, um flexibel, konfigurierbar und schnell zu sein und um eine Benutzung verschiedener vernetzter Hosts über das Berkeley-rsh- Programm (oder ähnliches) wann immer möglich zu realisieren.
Crack läuft nur auf Unix. Es kommt als .tar
.gz
-Datei und ist zu finden unter
http://www.users.dircon.co.uk/~crypto/
Nachdem Sie Crack heruntergeladen und installiert haben, haben Sie ein Verzeichnis vor sich, das dem in Abbildung 11.4 ähnelt.
Abbildung 11.4: Die Verzeichnisstruktur von Crack
Um Crack zum Laufen zu bringen, legen Sie das Root-Verzeichnis fest. Sie weisen diese
Variable (Crack_Home
) in den Konfigurationsdateien zu. Die Variable Crack_Home
sagt dem
Programm, wo sich seine Ressourcen befinden. Zum Einstellen dieser Variablen editieren
Sie das Shell-Scipt crack
. Sobald Sie dies getan haben, können Sie beginnen.
Sie starten Ihre Crack-Arbeitssitzung, indem Sie das Programm starten und den Namen der Datei, die Sie knacken wollen, angeben (sowie eventuelle Befehlszeilen-Argumente, u.a. Spezifikationen für die Benutzung mehrerer Workstations). Eine einfache Befehlszeile sieht so aus:
Was nun folgt, ist schwierig zu beschreiben, also habe ich eine Probearbeitssitzung gestartet.
Crack beginnt den Prozeß und schreibt den Arbeitsablauf in eine Datei mit dem Präfix out
.
In diesem Fall wurde die Datei outSamsHack300
genannt. Nachfolgend finden Sie einen Auszug
aus dieser Datei:
pwc: Jan 30 19:26:49 Crack v4.1f: The Password Cracker,
[ic:ccc](c) Alec D.E. Muffett, 1992
pwc: Jan 30 19:26:49 Loading Data, host=SamsHack pid=300
pwc: Jan 30 19:26:49 Loaded 2 password entries with 2 different
[ic:ccc](salts: 100%
pwc: Jan 30 19:26:49 Loaded 240 rules from 'Scripts/dicts.rules'.
pwc: Jan 30 19:26:49 Loaded 74 rules from 'Scripts/gecos.rules'.
pwc: Jan 30 19:26:49 Starting pass 1 - password information
pwc: Jan 30 19:26:49 FeedBack: 0 users done, 2 users left to crack.
pwc: Jan 30 19:26:49 Starting pass 2 - dictionary words
pwc: Jan 30 19:26:49 Applying rule '!?Al' to file 'Dicts/bigdict'
pwc: Jan 30 19:26:50 Rejected 12492 words on loading, 89160 words
[ic:ccc](left to sort
pwc: Jan 30 19:26:51 Sort discarded 947 words; FINAL DICTIONARY
[ic:ccc](SIZE: 88213
pwc: Jan 30 19:27:41 Guessed ROOT PASSWORD root (/bin/bash
[ic:ccc](in my_password_file) [laura] EYFu7c842Bcus
pwc: Jan 30 19:27:41 Closing feedback file.
Crack schaffte es, das richtige Paßwort für Root in etwas weniger als einer Minute zu raten. Zeile 1 gibt die Uhrzeit an, zu der der Prozeß gestartet wurde (19 h 26 min 49 sek) und Zeile 12 zeigt, daß das Paßwort - Laura - um 19 h 27 min 41 sek geknackt wurde. Diese Arbeitssitzung lief auf einem 133-MHz-Prozessor mit 32 Mbyte RAM.
Da die von mir benutzte Paßwortdatei klein war, spielten weder Zeit noch Ressourcen eine Rolle. Wenn Sie jedoch in der Praxis eine Datei mit Hunderten von Einträgen knacken wollen, wird Crack enorme Ressourcen belegen. Dies gilt vor allem dann, wenn Sie mehrere Wortlisten in komprimierter Form benutzen. (Crack erkennt die Dateien automatisch als komprimierte Dateien und dekomprimiert sie).
Wie ich vorher schon erwähnt habe, können Sie das Ressourcenproblem umgehen. Crack kann seinen Arbeitsprozeß an verschiedene Workstations oder Architekturen aufteilen. Sie können Crack auf einem IBM-kompatiblen Rechner mit Linux, einem RS/6000 mit AIX und einem Macintosh mit A/UX benutzen.
Crack ist ein extremes Leichtgewicht und einer der besten erhältlichen Paßwort-Knacker.
Macintosh-Benutzer können ebenfalls die Geschwindigkeit und Leistungsfähigkeit
von Crack genießen, indem sie die aktuellste Portierung von Crack,
MacKrack v2.01b1, benutzen. Sie finden sie unter http://www.plato-
net.or.jp/usr/vladimir/undergroundmac/Hacking/
MacKrack2.01b1.sit.bin.
CrackerJack läuft auf DOS, knackt aber Unix-Paßwörter. Im Gegensatz zu populären Vermutungen ist CrackerJack keine direkte Portierung von Crack. Dennoch ist CrackerJack extrem schnell und einfach zu benutzen. CrackerJack ist schon seit einigen Jahren die Wahl für DOS-Anwender.
Spätere Versionen wurden unter Benutzung von GNU C und C++ kompiliert. Der Entwickler von CrackerJack berichtet, daß das Programm durch diesen Rekompilierungsprozeß erheblich an Geschwindigkeit gewonnen hat.
Einige erwähnenswerte Nachteile vonCrackerJack sind:
Trotz dieser Haken ist CrackerJack zuverlässig und belegt nur minimale Ressourcen. Es braucht keine große Prozessorleistung, verlangt keine Fensterumgebung und kann sogar von Diskette laufen.
CrackerJack ist weithin verfügbar. Hier ein paar zuverlässige Sites:
ftp://ftp.sonic.net/pub/users/z/hacking/jack14.zip
http://www.censorfreeworld.com/Files/hack/jack14.zip
http://woodstok.incyberspace.com/hack/files/hacks/jack14.zip
PaceCrack95 läuft auf Windows 95 im Konsolenmodus oder in einem Shellfenster. Der Autor von PaceCrack95 berichtet, daß die Entwicklung des Programms aufgrund von Unzulänglichkeiten in anderen DOS-basierten Paßwort-Knackern geplant wurde. Er schreibt:
Sie fragen sich vielleicht, warum ich ein solches Programm geschrieben habe, wenn es bereits so viele gibt, die das gleiche tun. Es gibt mehrere Gründe. Ich suchte eine Herausforderung und dies war ein sinnvoller Weg, eine zu finden. Und dann war da noch dieser Typ (Borris), der mich ständig bearbeitete, das für ihn zu tun, weil CrakkerJack (von Jakal) wegen der seltsamen Art und Weise, in der es Speicher nutzt, nicht unter Windows 95 läuft. Was gebraucht wurde, war ein Programm, das unter Windows 95 läuft und die gleiche Geschwindigkeit bietet wie CrackerJack.
Und genau das schaffte der Autor. Er entwickelte ein schnelles, kompaktes und effektives Programm.
Zuverlässige Sites, über die Sie PaceCrack95 herunterladen können, sind
knapp, aber Sie können es auf folgender Site finden: http://tms.netrom.com/~cassidy/utils/pacec.zip
.
Qcrack wurde ursprünglich für Linux entworfen. Seitdem wurde es auf die MSDOS/Windows-Plattform portiert. Qcrack ist effektiv, hat aber einige größere Nachteile. Einer davon betrifft Speicherplatz. Wie der Autor, der Crypt Keeper, erklärt:
QInit [eine von mehreren Binaries in der Distribution] erzeugt eine Hash-Tabelle, in der jeder Eintrag einem Salzwert entspricht und die ersten zwei Bytes der Hash- Kodierung enthält. Jedes Paßwort entspricht etwa 4 Kbyte, also wird diese Datei sehr schnell groß. Eine Datei mit 5.000 Wörtern belegt etwa 20 Mbyte der Festplatte. Dies erfordert, daß man sowohl über genügend Speicherplatz als auch über ein sehr gut sortiertes Wörterbuch verfügt. Eingeschlossen ist eine Datei namens
cpw
, die eine Liste von Wörtern enthält, die ich für »gute« Wörter für den typischen Account halte. Ich hatte mit dieser Datei bei einigen Paßwortdateien null Treffer, bei anderen fast 30 Prozent Treffer.
Sie können Qcrack auf den folgenden Sites finden:
John the Ripper läuft unter DOS oder Windows 95. Die binäre Distribution wurde im Dezember 1996 freigegeben. Wenn Sie einen Rechner benutzen, der über weniger als 4 Mbyte RAM verfügt, sollten Sie dieses Utility nicht einsetzen. Sein Autor behauptet zwar, daß das Programm auch mit weniger als 4 Mbyte RAM laufen kann, aber in der Praxis funktioniert das nicht.
John the Ripper läuft jetzt auch auf Linux. Um es zu benutzen, brauchen Sie
ELF-Unterstützung. Sie finden die ELF-Distribution, indem Sie nach
john-
linux.tar.zip
suchen.
Die DOS-Version von John the Ripper, die für einen Paßwort-Knacker relativ
groß ist, finden Sie unter http://tms.netrom.com/~cassidy/utils/john-
15w.zip.
Hades ist noch eine Utility zum Knacken von Unix-/etc/passwd
-Paßwörtern. Die Distribution
enthält den Source-Code, ein Handbuch und einen Ratgeber, den ich hier zitiere:
Wir haben den Hades-Paßwort-Cracker entwickelt, um zu zeigen, daß die allgemein lesbaren verschlüsselten Paßwörter in
/etc/passwd
eine umfassende Schwachstelle des Unix-Betriebssystems und seinen Derivaten darstellen. Dieses Programm kann von Systemadministratoren benutzt werden, um schwache Paßwörter zu entdecken und zu entfernen und damit das System sicherer zu machen.
Mit Ausnahme von Muffetts Crack ist Hades das bestdokumentiertste Programm zum Knakken von Paßwörten, das derzeit erhältlich ist. Die Autoren sind sehr sorgfältig vorgegangen, um Ihnen jeden erdenklichen Komfort zu bieten. Die Hades-Distribution besteht aus mehreren kleinen Utilities, die, wenn sie zusammen angewendet werden, eine mächtige Programmfamilie zum Knacken von Paßwörtern darstellen. Jedes Utility hat sein eigenes Handbuch. Die einzelnen Utilities stellen die folgenden Funktionen zur Verfügung:
Hades ist so weit verbreitet, daß ich mir das Auflisten von Sites erspare. Benutzer,
die dieses ausgefeilte Utility ausprobieren möchten, sollten nach einem
oder beiden der folgenden Begriffe suchen:
Star Cracker wurde für die DOS4GW-Umgebung entwickelt und ist eine komplette Programmfamilie zum Knacken von Paßwörtern. Einige der interessanten Vorteile von Star Cracker sind:
Star Cracker macht den Prozeß des Paßwort-Knackens wirklich einfach.
Star Cracker finden Sie unter http://massacre.wizardtech.net/Misc/
scrk03a.zip.
Hellfire Cracker ist ein Utility für die DOS-Plattform zum Knacken von Unix-Paßwörtern. Dieses Utility ist recht schnell, obwohl das nichts mit dem Verschlüsselungsmotor zu tun hat. Der Hauptnachteil liegt im Fehlen von benutzerfreundlichen Funktionen. Dies macht es jedoch durch seine Schnelligkeit und Leistungsfähigkeit wieder wett.
Ein Komfort von Hellfire ist, daß es jetzt fast ausschließlich in Binärform verteilt wird und somit kein C-Compiler notwendig ist. Man mag dies aber auch als Nachteil sehen.
Sie können Hellfire Cracker auf vielen Sites finden. Ich hatte jedoch Probleme,
eine zuverlässige Site zu finden, denke aber, daß Sie sich auf die folgende
verlassen können: http://www.riconnect.com/LilHands/hacks/
lc130.zip.
XIT ist noch ein weiterer Paßwort-Knacker für die Unix-/etc/passwd-
Datei. Folgende
Merkmale unterscheiden ihn von seinen Gegenstücken:
Dieses Utility gibt es schon seit einigen Jahren. Es ist jedoch nicht so weit verbreitet, wie
man annehmen könnte. Es ist auch in mehreren komprimierten Formaten verfügbar, die meisten
Versionen als .zip
-Datei.
Eine zuverlässige Site für XIT ist http://www.spacecom5.net/cracking/
xit20.zip.
Claymore ist ein bißchen anders als seine Gegenstücke. Es läuft auf jeder Windows-Plattform, einschließlich 95 und NT.
Claymore arbeitet nicht unter DOS, nicht einmal in einem DOS-Shellfenster.
Dieses Utility bietet nicht viele Funktionen, aber einige Komforts sind erwähnenswert.
Erstens können Sie Claymore als einen Brute-Force-Cracker für viele Systeme einsetzen.
Sie können es benutzen, um Unix-/etc/passwd
-Dateien zu knacken, aber auch zum Knacken
von anderen Programmtypen (darunter solche, die eine Login-/Paßwort-Kombination als
Zugang fordern).
Ein eher komischer Aspekt dieses Brute-Force-Crackers ist seine Übereifrigkeit. Hierzu der Autor:
Behalten Sie den Rechner im Auge. Claymore wird weiter Paßwörter eingeben, auch wenn es bereits durchgebrochen ist. Denken Sie auch daran, daß ein falsches Paßwort den Computer oft piepsen läßt, also sollten Sie vielleicht die Lautsprecher ausschalten. Manchmal gibt Claymore Schlüsseleingaben schneller aus, als das andere Programm sie verarbeiten kann. In solchen Fällen sollten Sie Claymore bestimmte Schlüsseleingaben, die keine andere Funktion auf dem Zielrechner haben, immer wieder wiederholen lassen, so daß Claymore verlangsamt wird und das angegriffene Programm Zeit hat, sich zu erholen.
Claymore ist, was ich als wahres Brute-Force-Cracking-Utility bezeichne. Ein interessanter Aspekt ist, daß Sie spezifizieren können, daß das Programm Kontroll- und andere nicht druckbare Zeichen während des Crack-Vorgangs senden soll. Die Struktur der Syntax läßt vermuten, daß Claymore in Microsoft Visual Basic geschrieben wurde.
Claymore finden Sie unter http://www3.l0pht.com/pub/blackcrwl/hack/
claym10.zip.
Guess ist eine einfache kompakte Applikation, die dazu entwickelt wurde, Unix-/etc/
passwd
-Dateien anzugreifen. Das Interface ist für DOS entworfen, läuft aber auch über ein
DOS-Shellfenster. Der Source-Code, der in der binären Distribution enthalten ist, ist interessant.
Es scheint, daß Guess irgendwann im Jahr 1991 entwickelt wurde.
Guess ist sehr weit verbreitet, ich stelle Ihnen hier also keine Auflistung von
Sites zur Verfügung. Sie finden es leicht, wenn Sie den Suchbegriff
guess.zip
eingeben.
Merlin ist kein Paßwort-Knacker. Es ist eher ein Tool für das Management von Paßwort- Knackern sowie Scannern, Auditing-Tools und anderen sicherheitsrelevanten Utilities. Kurz, es ist ein ziemlich raffiniertes Tool für ganzheitliches Management des Sicherheitsprozesses. Abbildung 11.5 zeigt den Eröffnungsbildschirm von Merlin.
Abbildung 11.5: Der Eröffnungsbildschirm von Merlin.
Merlin läuft nur auf Unix-Plattformen. Es wurde auf einigen Derivaten (erfolgreich) getestet, darunter u.a. IRIX, Linux, SunOS, Solaris und HP-UX.
Einer der Hauptvorteile von Merlin ist seine hohe Erweiterungsfähigkeit, obwohl es speziell dazu entwickelt wurde, nur fünf gängige Sicherheitstools zu unterstützen (es wurde fast ausschließlich in Perl geschrieben). Sie können jegliche Anzahl von Tools in das Schema des Programms integrieren.
Merlin ist ein wunderbares Tool, um eine Handvoll von Befehlszeilen-Tools in ein einzelnes, einfach zu bedienendes Paket zu integrieren. Es hält sich an die Tatsache, daß die Mehrheit der Unix-Sicherheitstools auf dem Befehlszeilen-Interface basieren. Die fünf unterstützten Applikationen sind:
Sie sollten beachten, daß keines dieser Utilities in der Merlin-Distribution enthalten ist. Sie müssen sich diese Applikationen besorgen und Merlin dann so konfigurieren, daß es mit ihnen arbeiten kann (ähnlich wie man externe Viewer und Hilfsprogramme in Netscape Navigator konfiguriert). Das Konzept mag langweilig erscheinen, aber Merlin stellt einen einfachen und zentralisierten Punkt zur Verfügung, von dem ausgehend Sie einige ziemlich übliche (und aufreibende) Sicherheitsaufgaben erledigen können. In anderen Worten, Merlin ist mehr als nur ein dummes Front-End. Meiner Meinung nach ist es ein guter Beitrag für die Sicherheitsgemeinde.
Merlin (und entsprechende andere Programme) stellt einen wichtigen und zunehmend verbreiteten Trend dar (ein Trend, der von Farmer und Venema ins Leben gerufen wurde). Da solche Programme in erster Linie auf Basis von HTML/Perl entwickelt werden, sind sie umfassend portierbar auf andere Plattformen in der Unix-Gemeinde. Sie verbrauchen in der Regel nicht viele Netzwerkressourcen und sind recht schnell, nachdem der Code in den Interpreter geladen wurde. Und schließlich sind diese Tools einfacher zu benutzen und machen damit aus Sicherheit eine weniger unüberwindbar erscheinende Aufgabe. Die Daten sind schnell verfügbar und leicht manipulierbar. Dieser Trend kann nur dazu beitragen, Sicherheit zu verstärken und Neulinge auf dem Gebiet zu schulen.
Jetzt wage ich mich in exotischere Gefilde vor. Sie werden hier eine große Auswahl von Paßwort-Knackern für nahezu jede Art von System oder Applikation finden.
ZipCrack tut genau das, was Sie dachten: Es wurde entwickelt, um mit Hilfe von Brute-
Force-Methoden Paßwörter für Dateien mit *.zip
-Erweiterung zu knacken. (Anders gesagt,
es knackt Paßwörter auf Dateien, die mit PKZIP generiert wurden.)
Die Distribution enthält keine Dokumentation (zumindest nicht in den wenigen Dateien, die ich mir angeschaut habe), aber ich glaube, daß man auch keine braucht. Das Programm ist sehr direkt. Sie geben nur die Zieldatei an und das Programm erledigt den Rest.
ZipCrack wurde in Turbo Pascal geschrieben, der Source-Code ist in der Distribution enthalten. Das Programm läuft auf jedem IBM-kompatiblen Rechner ab 286er. In der Datei »Description« wird beschrieben, daß ZipCrack alle mit PKZIP generierten Paßwörter knackt. Der Autor warnt auch davor, daß kurze Paßwörter zwar in einem sinnvollen Zeitraum geknackt werden können, das Knacken von langen Paßwörtern aber »Jahrhunderte« dauern kann. Ich bezweifle allerdings ernsthaft, daß viele Leute Paßwörter anwenden, die mehr als fünf Zeichen umfassen. ZipCrack ist ein nützliches Utility für die durchschnittliche Werkzeugkiste. Es ist eines der Programme, von denen Sie denken, daß Sie es niemals brauchen werden, und dann später, um 3 Uhr früh werden Sie bitter fluchen, weil Sie es nicht haben.
ZipCrack ist weit verbreitet, benutzen Sie den Suchbegriff
zipcrk10.zip
.
Fast Zip 2.0 ist im Prinzip identisch mit ZipCrack. Es knackt Paßwörter auf *.zip
-Dateien.
Um Fast Zip 2.0 zu finden, benutzen Sie den Suchbegriff
fzc101.zip
.
Ein obskures, aber trotzdem interessantes Utility, knackt Decrypt-WordPerfect-Paßwörter. Es ist in BASIC geschrieben und funktioniert gut. Das Programm ist nicht perfekt, ist aber in vielen Fällen erfolgreich. Der Autor gibt an, daß Decrypt Paßwörter mit Schlüsseln von 1 bis 23 überprüft. Das Programm wurde 1993 freigegeben und ist weit verbreitet.
Um Decrypt zu finden, benutzen Sie den Suchbegriff
decrypt.zip
.
Glide stellt keine sehr umfangreiche Dokumentation zur Verfügung. Dieses Programm wird
nur dazu benutzt, PWL
-Dateien zu knacken, das sind Paßwortdateien, die in Microsoft Windows
for Workgroups und späteren Windows-Versionen generiert werden. Das Fehlen ausführlicher
Dokumentation ist, denke ich, verzeihlich. Der C-Source-Code ist in der Distribution
enthalten. Dieses Utility ist ein Muß für jeden, der Microsoft-Windows-Rechner hackt
oder crackt.
Glide finden Sie unter http://www.iaehv.nl/users/rvdpeet/unrelate/
glide.zip .
AMI Decode wurde ausdrücklich dazu entwickelt, das CMOS-Paßwort von jedem Rechner, der das American-Megatrends-BIOS benutzt, zu knacken. Bevor Sie jetzt jedoch nach diesem Utility suchen, probieren Sie erstmal das Standard-CMOS-Paßwort aus. Es ist, welch Zufall, AMI. Auf alle Fälle funktioniert das Programm. Und das ist, was zählt.
Um AMI Decode zu finden, benutzen Sie den Suchbegriff
amidecod.zip
.
NetCrack ist ein interessantes Utility für die Novell-NetWare-Plattform. Es führt einen Brute-Force-Angriff gegen die Bindery durch. Es ist langsam, aber doch recht zuverlässig.
Um NetCrack zu finden, benutzen Sie den Suchbegriff
netcrack.zip
.
Bevor Leser, die PGP benutzen, sich allzusehr über PGPCrack aufregen, stelle ich Ihnen ein paar Hintergrundinformationen zur Verfügung. Pretty Good Privacy (PGP) ist wohl das stärkste und zuverlässigste Verschlüsselungsutility, das für den öffentlichen Bereich verfügbar ist. Sein Autor, Phil Zimmerman, faßt es wie folgt zusammen:
PGP benutzt Public-Key-Verschlüsselung zum Schutz von E-Mail und Datendateien. Kommunizieren Sie sicher mit Fremden, sie brauchen keine sicheren Kanäle für die Übertragung von Schlüsseln. PGP ist gut ausgestattet und schnell, verfügt über ein raffiniertes Schlüssel-Management, digitale Signaturen, Datenkomprimierung und ist gut und ergonomisch designt.
PGP kann eine Reihe von Verschlüsselungstechniken anwenden. Eine davon, die auch in Kapitel 13 »Sniffer« angesprochen wird, ist IDEA. Um Ihnen eine Vorstellung davon zu geben, wie schwierig das Knacken von IDEA ist, finden Sie hier einen Auszug aus einem PGP-Angriff-FAQ, der von Route geschrieben wurde (Route ist eine Autorität auf dem Gebiet der Verschlüsselung und Mitglied von The Guild, einer Gruppe von Hackern.):
Wenn Sie 1.000.000.000 Rechner hätten, die 1.000.000.000 Schlüssel pro Sekunde ausprobieren könnten, würde es immer noch mehr Zeit in Anspruch nehmen, als bisher seit der Existenz des Universums vergangen ist, den Schlüssel zu finden. Mit der heutigen Technologie ist IDEA schlicht und einfach nicht anfällig für Brute-Force- Angriffe.
Im Endeffekt ist eine Nachricht, die mit einem 1.024-Bit-Schlüssel verschlüsselt ist, der mit einem guten und langen Paßwort-Satz generiert wurde, nicht zu knakken. Warum hat Herr Miller also dieses interessante Tool geschrieben? Paßwortsätze können schlecht gewählt sein und wenn Sie eine PGP-verschlüsselte Nachricht knacken wollen, ist der Paßwortsatz einen guter Anfangspunkt. Miller berichtet:
Auf einem 486/66DX fand ich heraus, daß es ungefähr 7 Sekunden dauert, eine 1,2- Mbyte-Paßwortsatz-Datei einzulesen und zu versuchen, die Datei unter Benutzung jeden Paßwortsatzes zu entschlüsseln. Wenn man bedenkt, daß die NSA, andere Regierungsbehörden und große Unternehmen über wesentlich größere Rechnerleistung verfügen, ist der Vorteil eines großen, zufällig gewählten Paßwortsatzes offensichtlich.
Ist dieses Utility wirklich zu etwas zu gebrauchen? Es ist recht vielversprechend. Miller legt den Source-Code der Distribution bei, ebenso eine Datei mit möglichen Paßwortsätzen (ich habe entdeckt, daß ich mindestens einen dieser Paßwortsätze schon benutzt habe). Das Programm wurde in C geschrieben und läuft in DOS-, Unix- und OS/2-Umgebungen.
PGPCrack ist auf mehreren zuverlässigen Sites erhältlich, darunter
http://www.voicenet.com/~markm/pgpcrack.html (DOS-Version)
http://www.voicenet.com/~markm/pgpcrack-os2.zip (OS/2-Version)
http://www.voicenet.com/~markm/pgpcrack.v99b.tar.gz (Unix-Version).
Das ICS Toolkit ist ein Allzweck-Utility für das Studium der Kryptoanalyse. Es läuft gut
unter Windows 3.11, ist aber schwieriger unter Windows 95 oder Windows NT zu benutzen.
Es benutzt eine alte Version von VBRUN300.DLL
, daher empfehle ich Benutzern neuerer Versionen
diese in ein temporäres Verzeichnis zu verschieben. (Die ICS-Applikation wird sich
nicht installieren lassen, wenn sie ihre Version von VBRUN300.DLL
nicht in das c:\windows\system
-Verzeichnis schreiben kann.) Dieses Utility wird Ihnen beibringen, wie Chiffren
erstellt werden und wie man sie knacken kann. Es ist wirklich recht umfassend, wenn
man es einmal in Gang gesetzt hat. Es wurde für ältere Microsoft-Windows-Versionen programmiert
und das Interface ist eher nützlich als attraktiv.
EXCrack regeneriert Paßwörter, die in der Microsoft-Excel-Umgebung angewandt werden. Herr Kuslich erklärt ausdrücklich, daß diese Software nicht frei erhältlich ist, sondern unter Lizenz (und Copyright) vertrieben wird. Daher kann ich keine Screenshots oder Zitate zur Verfügung stellen. Aber es wird mir wohl erlaubt sein zu sagen, daß das Utility gut funktioniert.
Um EXCrack zu finden, benutzen Sie den Suchbegriff
excrak.zip
.
CP.EXE regeneriert oder knackt Paßwörter für CompuServe, die in CISNAV oder WINCIM generiert werden. Angeblich funktioniert es auch für DISCIM-Paßwörter. Mit CP.EXE können Sie schnell und zuverlässig überprüfen, ob Ihr Paßwort anfällig für Angriffe ist.
CP.EXE ist weit verbreitet und kann mit dem Suchbegriff
cis_pw.zip
gefunden
werden.
Es gibt noch weit über 100 andere derartige Utilities, die ich nicht alle hier auflisten kann. Ich denke, daß die vorangehende Liste ausreicht, damit Sie anfangen können, sich mit Paßwortsicherheit zu beschäftigen. Zumindest können Sie diese Utilities nutzen, um die Sicherheit Ihrer Paßwörter zu testen.
An diesem Punkt möchte ich einige Konzepte in punkto Paßwortsicherheit ansprechen und Ihnen dann einige Quellen für weiterführende Informationen zur Verfügung stellen.
Ich hoffe, daß Sie sich jedes der Dokumente, auf die ich gleich verweisen werde, ansehen. Wenn Sie wirklich etwas über Sicherheit lernen wollen, sollten Sie diesem Muster über das ganze Buch folgen. Wenn Sie die Quellenangaben in der angegebenen Reihenfolge bearbeiten, werden Sie vieles zum Thema Paßwortsicherheit lernen. Wenn Sie jedoch nur wenig Zeit haben, geben Ihnen die folgenden Abschnitte zumindest einen ersten Einblick in das Gebiet der Paßwortsicherheit.
Wenn sie richtig implementiert werden, sind die Sicherheitsmaßnahmen für Unix-Paßwörter recht zuverlässig. Das Problem ist, daß Leute schwache Paßwörter wählen. Da Unix ein Multi-User-System ist, stellt leider jeder Benutzer mit einem schwachen Paßwort ein Risiko auch für die restlichen Benutzer dar. Dies ist ein Problem, das angesprochen werden muß:
Es ist sehr wichtig, daß alle Benutzer in einem System ein Paßwort wählen, das nicht leicht zu raten ist. Die Sicherheit jedes einzelnen Benutzers ist wichtig für die Sicherheit des Gesamtsystems. Benutzer haben oft keine Ahnung, wie ein Multi-User- System funktioniert und realisieren nicht, daß die Wahl eines leicht zu merkenden Paßworts es indirekt einem Außenstehenden ermöglicht, das gesamte System zu manipulieren.6
Sie finden Unix Password Security mit Hilfe des Suchbegriffs
password.ps
.
Was sind schwache Paßwörter? Üblicherweise sind dies alle Wörter, die in einem Wörterbuch vorkommen könnten. Darüber hinaus sind Eigennamen eine schlechte Wahl für Paßwörter. Das Theoretisieren darüber, welche Paßwörter leicht zu knacken sind, führt jedoch zu nichts. Man kann allerdings sicher sagen, daß alle Paßwörter, die in einer Paßwort- Cracking-Wortliste im Internet zu finden sind, schlecht sind.
Beginnen Sie Ihre Suche nach Wortlisten unter http://sdg.ncsa.uiuc.edu/
~mag/Misc/Wordlists.html.
Wenn Sie die Paßworte Ihres Netzwerks regelmäßig auf ihre Widerstandsfähigkeit überprüfen, können Sie sicherstellen, daß Cracker nicht eindringen können (zumindestens nicht, indem sie schwache Paßwörter ausnutzen). Solch ein Vorgehen kann die Sicherheit Ihres Systems enorm stärken. Tatsächlich benutzen viele Internet Service Provider und Betreiber anderer Sites heute Tools, die ein Benutzerpaßwort überprüfen, wenn es zum erstenmal angewandt wird. Dies basiert auf der Philosophie, daß
die beste Lösung für das Problem leicht zu erratender Paßwörter in einem System ist, daß diese Paßwörter gar nicht erst in das System kommen. Wenn ein Programm wie ein Paßwort-Knacker bereits vorhandene knackbare Paßwörter entdeckt, dann ist das Sicherheitsloch zwar gefunden, aber es bestand mindestens so lange, wie das Programm brauchte, um es zu entdecken. Wenn aber das Programm Paßwörter bereits auf ihre Sicherheit überprüft, bevor sie mit dem Benutzer-Account verbunden werden, kann ein entsprechendes Sicherheitsloch erst gar nicht entstehen.7
Viele der Dateien, in denen Sie die erwähnten Dokumente finden, haben
Um eine PostScript-Datei zu lesen, brauchen Sie einen Viewer. Einen guten
Viewer bekommen Sie als Shareware unter http://www.cs.wisc.edu/
~ghost/.
Ein anderes gutes Paket (und nicht ganz so groß), ist ein Utility namens
Rops. Rops gibt es für Windows unter
http://www5.zdnet.com/ (die ZDNet-Software-Bibliothek)
http://oak.oakland.edu/ (das Oak-Software-Repository)
*.ps
-Erweiterungen, d.h., es handelt sich um PostScript-Dateien. PostScript
ist eine Sprache und eine Methode, Dokumente vorzubereiten, die von Adobe,
den Machern von Acrobat und Photoshop, entwickelt wurde.
Sie finden »Improving System Security via Proactive Password Checking«
mit Hilfe des Suchbegriffs
bk95.ps
.
»Observing Reusable Password Choices«
Purdue Technical Report CSD-TR 92-049
Department of Computer Sciences, Purdue University
»Password Security: A Case History«
Robert Morris und Ken Thompson
»Opus: Preventing Weak Password Choices«
Purdue Technical Report CSD-TR 92-028
Department of Computer Sciences, Purdue University
»Federal Information Processing Standards Publication 181«
Announcing the Standard for Automated Password Generator
URL: http://www.alw.nih.gov/Security/FIRST/papers/password/fips181.txt
»Augmented Encrypted Key Exchange: A Password-Based Protocol Secure Against Dictionary Attacks and Password File Compromise«
Steven M. Bellovin und Michael Merrit
»A High-Speed Software Implementation of DES«
Computer Communication Research Group
»Using Content Addressable Search Engines to Encrypt and Break DES«
»Encrypted Key Exchange: Password-Based Protocols Secure Against Dictionary Attacks«
Steven M. Bellovin und Michael Merrit
»Computer Break-Ins: A Case Study«
Vrije Universiteit, Niederlande
»Security Breaches: Five Recent Incidents at Columbia University«
Fuat Baran, Howard Kaye und Margarita Suarez
Center for Computing Activities
Suchbegriff: columbia_incidents.ps
Dieser Abschnitt enthält eine Liste anderer Informationsquellen. Einige sind nicht über das Internet erhältlich. Sie können manche Artikel jedoch über verschiedene Online-Dienste (vielleicht Uncover) erhalten. Nach einigen Artikeln müssen Sie vielleicht intensiver suchen, z.B. über die Library of Congress (locis.loc.gov) oder über effektivere Tools wie WorldCat (www.oclc.org).
»Undetectable Online Password Guessing Attacks«
»Optimal Authentication Protocols Resistant to Password Guessing Attacks«
Suchbegriff: optimal-pass.dvi
oder optimal-pass.ps
»A Password Authentication Scheme Based on Discrete Logarithms«
Tzong Chen Wu und Chin Chen Chang
International Journal of Computational Mathematics; Vol. 41, Number 1-2, pp. 31-37
»Differential Cryptanalysis of DES-Like Cryptosystems«
Journal of Cryptology, 4(1), pp. 3-72
»A Proposed Mode for Triple-DES Encryption«
Don Coppersmith, Don B. Johnson und Stephen M. Matyas
IBM Journal of Research and Development, 40(2), pp. 253-262
»An Experiment on DES Statistical Cryptanalysis«
Conference on Computer and Communications Security, pp. 139-147
»Department of Defense Password Management Guideline«
Wenn Sie einen historischen Überblick über Paßwortsicherheit wollen, starten Sie mit dem »Department of Defense Password Management Guideline.« Dieses Dokument wurde vom Department of Defense Computer Security Center in Fort Meade, Maryland geschrieben.
Sie finden den »Department of Defense Password Management Guideline«
unter http://www.alw.nih.gov/Security/FIRST/papers/password/dodpwman.txt
.
Paßwort-Knacker bieten dem Systemadministrator einen wertvollen Dienst, da sie ihn auf schwache Paßwörter in seinem Netzwerk aufmerksam machen. Das Problem ist nicht die Existenz von Paßwort-Knackern, sondern die Tatsache, daß sie nicht oft genug von den »guten Jungs« benutzt werden.
Daniel V. Klein, A Survey of, and Improvements to, Password Security. Software Engineering Institute, Carnegie-Mellon University, Pennsylvania. (22. Februar 1991)
2K. Coady. Understanding Security for Users On and Offline. New England Telecommuting Newsletter, 1991.
3 Yaman Akdeniz, »Cryptography and Encryption«, August 1996, Cyber-Rights & Cyber-Liberties
(UK) unter http://www.leeds.ac.uk/law/pgs/yaman/cryptog.htm
. Criminal Justice
Studies der Law Faculty der University of Leeds, Leeds LS2 9JT.
NIST, 30. Dezember 1993. »Data Encryption Standard (DES)«, Federal Information Processing Standards Publication 46-2. http://csrc.nist.gov/fips/fips46-2.txt.
5David Feldmeier und Philip R. Karn. Unix Password Security - 10 Years later.
6Walter Belgers, Unix Password Security, 6. Dezember 1993.
7Matthew Bishop, UC Davis, Kalifornien und Daniel Klein. LoneWolf Systems Inc., »Improving System Security via Proactive Password Checking« (erschienen in Computer and Security (14, S. 233-249)), 1995