Passwortknacken

Wofür gibt es Passwörter?

„Die Ausnutzung schlecht gewählter und schwach geschützter Kennworte ist der am weitesten verbreiteten Ausprägungen von Angriffen (...)“ (ANONYMOUS)

Ein Passwort ist oftmals nicht nur die erste, sondern die einzige Sicherheitsmaßnahme, um Systeme vor äußeren Zugriffen zu schützen. Daher sollte man „ein sicheres Passwort“ benutzen, welches nicht in Wörterbüchern oder in Wortbuchdateien zu finden ist. Es sollte auch darauf geachtet werden, keine persönlichen Daten zu verwenden, da es für Angreifer über „Social Engineering“ die Möglichkeit gibt, auf das Passwort zu stoßen. Das Passwort sollte auch in regelmäßigen Abständen rotieren, falls es doch geknackt sein sollte, um den Angreifer diese Tür wieder zu verschließen.

Eigenschaften von schlecht gewählten Passwörtern:

1. keine Passwörter unter 5 Zeichen
2. keine Verdoppelung (hhaalloo)
3. keine Standartpasswörter
4. keine Geburtstagdaten oder ähnliches
5. keine Wörter, die in Passwortlisten oder Wörterbüchern stehen

Eigenschaften von gut gewählten Passwörtern:

1. mehr als 10 Zeichen
2. alphanumerische Zeichenfolgen
3. Mix aus klein und Großbuchstaben

Beispiel für ein gutes Passwort:

Ein Mann lernt seit zwei Jahren Datensicherheitstechnologie“ => „1Mls2JDst
Dieses Passwort ist schwer zu knacken, aber leicht zu merken.

Passwortlänge Erlaubte Zeichen Anzahl erlaubter Zeichen Möglichkeiten Entsprechung in Bits
4 0-9 10 104 13,3
8 a-z 26 268 37,6
8 a-z, A-Z, 0-9 62 628 47,6
8 a-z, A-Z, 0-9, 28 Sonderz. 90 908 51,9
16 a-z 26 2616 75,2
16 a-z, A-Z, 0-9 62 6216 95,3
16 a-z, A-Z, 0-9, 28 Sonderz. 90 9016 103,9

Ein „sicheres Passwort“ hängt nicht nur von der Länge des Passwortes ab, sondern auch vom Passwortfeld selbst, ob aber dieses zwischen Groß- und Kleinschreibung unterscheidet, oder die Benutzung von Sonderzeichen erlaubt.

Die IT-Sicherheit ist nicht nur aus den wirtschaftlichen Überlegungen notwendig, sondern auch rechtlich gefordert. Nach §9 Absatz1 das Bundesdatenschutzgesetz heißt es „(...)dass personenbezogene Daten bei der Verarbeitung, Nutzung und nach der Speicherung nicht unbefugt gelesen, kopiert, verändert oder entfernt werden können, (...)“ Dieses Gesetz verpflichtet dazu, Daten vor unbefugtem zugriffen zu sichern.

Passwortverschlüsselung

Da die meisten Übertragungen über unsichere Netzwerke laufen, können Nachrichten nicht in Klarschrift übertragen werden. Es muss ein Verfahren der Verschlüsselung (Kryptographie) angewandt werden, um das Abhören von dritten Personen zu verhindern.

Unter dem Begriff Kryptographie versteht man die Verschlüsselung von Daten in einen nicht lesbaren Code. Diese Umwandlung geschieht mit Hilfe eines Codeschlüssels, welcher dem Empfänger bekannt sein muss. Allein der Codeschlüssel ist jedoch nicht ausreichend. Dem Empfänger muss auch das Verschlüsselungsverfahren bekannt sein, um die Rückwandlung in Klarschrift zu vollziehen.

Klassische Kryptographie operiert auf zwei Arten.
Zum Ersten (monoalphabetische Substitution): bei diesem Verfahren werden Symbole durch andere ersetzt.
Zum Zweiten (monoalphabetische Transposition): bei diesen Verfahren werden die Symbole in einer Matrix abgelegt und dann spaltenweise ausgelesen. Der Empfänger kann nun durch seinen Schlüssel die richtige Zuordnung wieder herstellen.

Gleiche Schlüsselpaare (symmetrisches Verfahren)

In der Praxis werden heute vor allem zwei symmetrische Verfahren verwendet. Zum einen das „DES (Data Encryption Standard)“ ,zum anderen das „AES (Advanced Encryption Standard)“. Beide Verfahren sind von der „NIST (National Institut of Standards and Technologie)“ veröffentlicht und standardisiert worden. Der „DES“ wurde 1977 mit einer 64-Bit-Blockgröße und einem 56-Bit-Schlüssel veröffentlicht, galt aber bald als veraltet und es wurde ein Triple- DES Verfahren eingeführt, welches eine 112-Bit-Schlüssellänge hatte. „AES“ wurde 2001 als neues Verschlüsselungsverfahren eingeführt. „AES“ hat eine Blockgröße von 128 Bit und wurde mit drei Schlüsselgrößen standardisiert: AES-128, AES-192, AES-256. Diese beiden Verfahren verknüpfen das Passwort und den Schlüssel und bilden ein Hash-codiertes Kennwort.

Ungleiche schlüsselpaare (asymmetrisches Verfahren oder auch Public Key Verfahren)

Um eine Verbindung zwischen zwei Kommunikationspatnern über ein unsicheres Netzwerk mittels symmetrischem Verfahren herzustellen, wird das Public Key Verfahren verwendet. 1976 wurde das Verfahren von W. Diffie und M. Hellmann entwickelt, um einen geheimen Schlüssel über ein unsicheres Netzwerk zu übermitteln. Bei diesen Verfahren besteht der Schlüssel aus zwei Komponenten: Zum Einen aus einem privaten, zum Anderen aus einem öffentlichen Schlüssel. Der öffentliche Schlüssel ist zum Verschlüsseln und der private Schlüssel ist zum Entschlüsseln von Nachrichten. Der Empfänger schickt dem Sender seinen öffentlichen Schlüssel. Der Sender schickt dann die Nachricht verschlüsselt mit dem öffentlichen Schlüssel zurück und nun kann die Nachricht mit Hilfe des privaten Schlüssels wieder entschlüsselt werden.

Mischung (hybride Verfahren)

Bei dem hybriden Verfahren wird eine Mischung aus Public Key Verfahren und Symmetrischem Verfahren angewendet. Zuerst wird, wie beim Public Key Verfahren, ein öffentlicher Schlüssel übertragen. In der Rückübertragung wird ein zufällig generierter Schlüssel übertragen. Der Empfänger entschlüsselt die Nachricht mit dem privaten Schlüssel. Nun sind Sender und Empfänger im Besitz des zufällig generierten Schlüssels und können mit Hilfe des symmetrischen Verfahrens eine sichere Verbindung aufbauen.

Ablageorte unter Windows und UNIX

Da Benutzername und Passwörter auf Systemen abgelegt sein müssen, um die Richtigkeit ihrer Autorisierung fest zu stellen, werden auf Unix Systeme Namen und „Hash-codierte Kennwörter“ in der „shadow“- und „passwd“-Datei abgespeichert. Wobei hier der Name in Klarschrift und das Passwort verschlüsselt abgelegt ist. Bei Windowssystemen werden die „Hash-codierte Kennwörter“ in einer „SAM“ abgespeichert. Die „SAM“ ist ein geschützter Bereich in der Registrierung des jeweiligen Benutzers.

Angriffe auf Systeme mit Brute-Force

Unter dem Begriff „Brute-Force“ versteht man ein Programm, welches mit sehr hoher Geschwindigkeit ein Passwort nach dem anderen ausprobiert. In solche Programme werden auch die „Wortbuchdateien“ herein geladen. Findet er das gesuchte Passwort nicht in der „Wortbuchdatei“, dauert der Suchvorgang erheblich länger. Früher oder später kommt das Programm auf das richtige Passwort.

Binärschlüsselgröße Schlüsselraumgröße Zeit zum Durchtesten aller Schlüssel
16 Bit 65536 ≈ 6,6 * 104 0,07 Sekunden
32 Bit 4294967296 ≈ 4,3 * 109 72 Minuten
64 Bit ≈ 1,8 * 1019 584942 Jahre
128 Bit ≈ 3,4 * 1038 1,1 * 1025 Jahre
256 Bit ≈ 1,2 * 1077 3,7 * 1063 Jahre

Je nach der Verschlüsselungstiefe (Passwortlänge und Passwortfeld) kommt der Brute Force Angriff früher oder später an sein Ziel.

Gegenmaßnahmen

Um Brute-Force-Angriffen entgegen zu wirken, gibt es verschiedene Maßnahmen. Zum Einen können Systeme nach mehrfacher (meist 3-facher) Falscheingabe, komplett oder für eine gewisse Zeit gesperrt werden. Zum Anderen wird die Wartezeit nach jeder Falscheingabe hochgesetzt. Durch diese Maßnahmen wird ein Brute-Force-Angriff verhindert oder so langwierig, das sich der Aufwand nicht mehr lohnt.

Begriffserklärung:

Social Engineering = herausfinden der persönlichen Daten fremder Personen
Wortbuchdateien = Sammlung von Wörtern und häufig benutzten Passworten
Brute Force = rohe Gewalt
Hash-codiertes Kennwort = unidirektional (nicht umkehrbar) verschlüsseltes Kennwort
crypt = verstecken, verbergen, verschleiern
SAM = Benutzerkontendatenbank (System- und Zugriffs-Rechte)

Angriffs Tools

John the Ripper (ultimativ):
Dieses Tool ist geeignet zum Knacken von Passwörtern und ist auf allen Systemen lauffähig. Es ist sehr vielfältig und knackt UNIX-Dateien sowie SAM Datenbanken mit Hilfe von „pwdump.“. Dieses Programm verfügt über einen Brute-Force-Angriff, welcher mit Unterstützung von „Wortbuchdateien“ arbeitet.

NT Crracker (extrem schnell):
Dieses Tool zum Knacken von Passwörtern, ist darauf spezialisiert extrem schnelle Angriffe auf NT-Systeme auszuführen.

Crack (Standard):
Das Tool „Crack“ ist ein sehr schlankes und zudem eines der besten Passwortknacker für UNIX. Es wurde entwickelt um achtstellige UNIX-Kennwörter (welche mit „DES“ verschlüsselt wurden) zu entschlüsseln. Es ist in der Lage mit Hilfe von „rsh-Programmen“ mehrere vernetzte Hosts zu verwenden.

LophtCrack (sehr beliebt):
Dieses Tool eignet sich besonders gut um Windows Passwörter herauszufinden. LophtCrack arbeitet mit zwei verschiedenen Verfahren. Einerseits benutzt es „Wortbuchdateien“ und wandelt deren Inhalte in „Hash-Codierung“ um, welche dann mit der Original „Hash-Codierung“ verglichen werden. Andererseits verfügt das Programm über einen Brute-Force-Angriff, dem ein bestimmter Satz von Zeichen vorgegeben werden kann (z.B. A – Z oder A- Z plus 0 – 9).