BlueScreen's Handout about Bruteforce

 

 

Inhaltsangabe:

1.) Wie ist es zu diesem Tut gekommen ?

2.) "Bruteforce" - was ist das ?

3.) Was sind "Word List Attacks" ?

4.) Sinn und Unsinn von Bruteforce ?

5.) Und es hat DOCH Sinn - Programme die mit Bruteforce und / oder Wordlist Attacks arbeiten

6.) Weiterführende Informationen

 

1.) Wie ist es zu diesem Tut gekommen ?

In dem Forum unter www.hackeinsteiger-board.de und diversen anderen Foren kam es in letzter Zeit andauernd wieder zu der Frage, ob Bruteforce eine sinnvolle Angriffsmethode ist.. Auf die Dauer isses etwas nervig das ganze immer wieder im Forum zu beantworten, also hab ich dieses Handout geschrieben um den Leuten mal zu erklären, WARUM eigentlich Bruteforce meistens keine sinnvolle "Angriffsmethode" ist.

2.) "Bruteforce" - was ist das ?

Bruteforce ist Englisch und bedeutet soviel wie "Rohe Gewalt". Was anderes ist Bruteforce eigentlich auch nicht.
Sagen wir mal wir kennen einen Benutzernamen von einem Mailserver, aber leider fehlt uns das Paßwort dazu.
Wie kommt man da jetzt ran ? Viele glauben dass das mit Bruteforce kein Problem ist. Bruteforce probiert einfach alle Zeichenkombinationen die sich in einer vom Benutzer festgelegten Maske bewegen durch.
Sagen wir einfach mal, wir wissen dass der Benutzer (dessen Loginnamen wir kennen) ein Paßwort benutzt, das 5 Zeichen hat und nur aus Kleinbuchstaben besteht. Dann geben wir das in unser Programm ein ("lowercase", "5 chars"), und es probiert einfach alle Kombinationen durch:

aaaaaa
aaaaab

aaaaac
aaaaad
....
aaaaba
aaaabb
aaaabc
.....
...
zzzzzx
zzzzzy
zzzzzz

Wenn das gestimmt hat was wir "wußten" (eben dass das Paßwort aus 5 Zeichen, und zwar nur Kleinbuchstaben besteht), dann haben wir das Paßwort SPÄTESTENS bei "zzzzzz" gefunden, wahrscheinlich aber noch früher.
Hinzuzufügen ist nur noch: Mit Bruteforce kommt man IMMER ans Ziel (ausser der Server ist ausreichend gegen Angriffe dieser Art geschützt), man braucht jedoch eine Menge Zeit.

 

3.) Was sind "Word List Attacks" ?

"Word List Attacks" funktionieren ähnlich wie Bruteforce mit "Ausprobieren aller möglichen Paßwörter". Nur wird dabei nicht jedes Paßwort von "aaaaaa" bis "zzzzzz" durchprobiert, sondern es wird eine Datei mit Wörtern verwendet (die sogenannten "Wordlists" eben). Dieses Verfahren basiert auf der Annahme, das Menschen sich einfach schwierige Paßwörter nicht so leicht merken können und deshalb einfache Paßwörter nehmen wie z.B. den Namen der Frau, Gegenstände oder ähnliches. Nun gibt es im Internet extra "Wordlists" mit gesammelten Vornamen, Gegenständen und einfach vielen Worten aus verschiedenen Sprachen.
Mit "Wordlist"-Attacks kommt man nicht immer zum Ziel, hat dafür aber meist höhere Chancen das Paßwort in weniger Zeit zu finden als mit Bruteforce.

 

4.) Sinn und Unsinn von Bruteforce ?

Gehen wir gleich mal vom wichtigsten Argument aus, und zwar von der "Zeit." Der Faktor "Zeit" verringert sich um so mehr Informationen man besitzt.
Dazu gleich mehr, fangen wir einfach mal mit einer Beispielrechnung an.
Wir kennen den Benutzernamen eines Users von einem nicht gegen Bruteforce geschützten Servers. Gehen wir mal davon aus, man kann dort fürs Paßwort die 26 Kleinbuchstaben, 26 Großbuchstaben, die Ziffern 1 bis 0 sowie zehn Sonderzeichen verwenden (sind aber mehr). Das sind summa summarum 72 mögliche Zeichen.

In der Tabelle sehen wir, wie lange es mit Bruteforce maximal dauert ein Paßwort herauszufinden, wenn man 60 Versuche pro Sekunde schafft (ein Wert der über eine Internetverbindung nicht gerade realistisch ist):


Stellen

Möglichkeiten

Dauer in Sekunden

Dauer in Stunden

Dauer in Jahren

1

72

1

   

2

5184

86

   

3

3373248

6221

1 ¾

 

4

26873856

447898

124

 

5

1934917632

32248627

8958

1

6

1,393140695*10^11

2321901158

644973

73,6

7

1,0030613*10^13

...

46438023

5301

8

7,222041363*10^14

...

3343537668

381682



Wie ihr seht benötigt ihr bei einem 8-stelligem Paßwort im schlechtesten Fall 381682 Jahre... Lohnt sich das wirklich für euch ?
Oben habe ich gesagt, dass Informationen zum Faktor Zeit beitragen können. Wißt ihr zum Beispiel, dass euer "Ziel" ein 8-stelliges Paßwort benutzt mit 72 Zeichen, benötigt ihr eben die schon genannten 381682 Jahre. Wißt ihr es aber NICHT, dann benötigt ihr im schlechtesten Falle 1+73,6+5301+381682 = 387057,6 Jahre, das sind immerhin fast 2 % mehr. Wenn ihr wißt dass euer "Ziel" nicht 72 verschiedene Buchstaben verwendet, sondern "nur" 26 und ihr wißt auch, dass er ein Paßwort mit 8 Zeichen verwendet, dann dauert das "nur" ungefähr 110 Jahre....
Vielleicht versteht ihr JETZT, warum alle immer sagen dass man ein "möglichst langes Paßwort mit möglichst vielen verschiedenen Zeichen" verwenden soll.

Aber das war’s noch nicht ganz, eine kleine Info folgt: Viele Provider sperren einen Benutzernamen oder ein IP-Adresse von der aus versucht wird sich einzuloggen nach 3 (oder mehr) Fehleingaben für eine gewisse Zeit (oft ca. 15 Minuten) oder ganz, bis der Admin ihn wieder entsperrt. Hier hat man mit Bruteforce keine Chance


5.) Und es hat DOCH Sinn - Programme die mit Bruteforce und / oder Wordlist Attacks arbeiten

Es gibt nicht nur Programme die über eine Netzwerkverbindung beziehungsweise eine Internetverbindung Bruteforce betreiben, sondern auch Programme die verschlüsselte Paßwortdateien versuchen zu knacken. Paßwortdateien werden zumeist mit sogenannten "One-Way Hash"-Verschlüsselungen verschlüsselt, eine Verschlüsselung, die nach heutigen Erkenntnissen nicht rückgängig machbar ist. (Für Infos darüber könntet ihr euch z.B. mal das RFC 1321 zum "Message Digest MD5 Algorithm" ansehen).
Wenn man sich nun einloggt wird das eingegebene Paßwort mit dem gleichen Algorithmus verschlüsselt und dann mit dem in der Paßwortdatei gespeicherten verglichen. Stimmen diese beiden überein, war es das gleiche Paßwort, stimmen sie nicht überein, dann war es das falsche.
Kommt man nun in den Besitz einer Passwortdatei dann bleibt einem nichts anderes übrig als sie per Bruteforce oder per Wordlist zu knacken. Da das ganze lokal abläuft und nicht auf eine Internetverbindung angewiesen ist geht das ganze sehr viel schneller, je nach Hardware, Algorithmus und verwendetem Programm werden bis zu 1 000 000 Paßwörter und mehr die Minute durchprobiert. Dabei verkürzt sich die Wartezeit natürlich drastisch.

Für Unix-Passwortdateien wird meist das exzellente Programm "John the Ripper" verwendet. Es unterstützt sowohl Bruteforce, Wordlist als auch eine Art "intelligentes Ausprobieren". Am besten einfach mal runterladen und ansehen.

Für Windows NT/2000 Passwortdateien wird oft das Programm "LC3" beziehungsweise "L0phtcrack" von "L0pht Heavy Industries" verwendet. Auch dieses unterstützt sowohl Wordlists als auch Bruteforce.

Für das Ausprobieren über Netzwerkverbindungen erweist sich "Brutus AET2" als eines der besten seines Fachs.

 

6.) Weiterführendes

Für weitere Infos darüber und anderes empfehle ich folgende Seiten:

http://www.it-checkpoint.net/

BlueScreen's Home

http://www.hackeinsteiger.de/

http://www.hackeinsteiger-board.de/

http://www.Lobnan.de/

www.google.de

Falls ihr mir Anregungen oder Kritik o.ä. hinterlassen wollt, dann tut das bitte auf

www.Hackeinsteiger-Board.de


(Copyright by Florian Hobelsberger / BlueScreen)

uf

www.Hackeinsteiger-Board.de


(Copyright by Florian Hobelsberger / BlueScreen)