Viper ist eine Brute-Force-Passwort-Cracker.
Als ich versuchte, um die Unsicherheit der System-Passwörter zu verstehen, suchte ich nach einfachen Passwort-Cracking-Software als ein Beispiel. Sicher, es war der berühmte Sprung, aber ich fand Hales viper.pl besser lesbar. Ich wollte, um den Code zu messen und Druckleistung und Zeitschätzungen für Brute-Force-Angriffe zu verbessern, so dass ich kontaktiert Hale über meine Ideen einschließlich neu zu schreiben sein Programm in 'C' für maximale Geschwindigkeit.
Ich wollte wissen, wie lange es dauert, um für jeden möglichen Passwort-Kombination auf verschiedenen Plattformen zu überprüfen, für unterschiedliche Zeichensätze und für verschiedene Passwortlängen. Die Ergebnisse waren sehr interessant!
Aber zuerst müssen wir mehr ins Detail, wie Passwörter funktionieren und wie sie erzeugt werden, zu suchen. Danach Schreiben eines Passwort-Cracker ist nicht so schwer. Der prinzipielle Aufbau einer Brute-Force-Passwort-Cracker ist eine Schleife, in der wir kontinuierlich berechnen Passwort-Hashes aus erhöht Passwort-Strings eines generischen Zeichensatz - und vergleichen Sie das Ergebnis an den realen Passwort-Hash, bis sie übereinstimmen. Nehmen wir an, das Kennwort enthält nur Kleinbuchstaben von "a" bis "z", würden wir Hashing und den Vergleich zu starten:
'A', 'b', 'c', 'd' ... 'w', 'x', 'y', 'z', dann
'Aa', 'ab', 'ac', 'ad' ... 'zw', 'ZX', 'zy', 'zz', dann
"Aaa", "aab", "aac", "AAD" ... "ZZW ',' ZZX ',' zzy ',' zzz '
... Weiter auf die maximale Passwortlänge, bis wir die "Sieger" Kombination zu finden. Je schneller es läuft besser, denn einfache mathematische sagt uns, wie viele Passwort-String-Kombinationen die wir brauchen, um zu überprüfen. Am Beispiel ein Passwort mit max. 8 Zeichen (nur Kleinbuchstaben), können wir die Gesamtzahl der Kombinationen (beispielsweise für die 26 Kleinbuchstaben des englischen Alphabets) zu berechnen:
(26) + 261+
(26x26) + 262+
(26x26x26) + 263+
(26x26x26x26) + 264+
(26x26x26x26x26) + 265+
(26x26x26x26x26x26) + 266+
(26x26x26x26x26x26x26) + 267+
(26x26x26x26x26x26x26x26) 268
= 217180147158 Kombinationen!
Softwarebeschreibung:
Kommentare nicht gefunden