
Viper ist ein Brute-Force-Passwortknacker.
Frank4DD, @ Mai 2000
Viper ist ein Brute-Force-Passwortknacker im UNIX-Stil für mit crypt verschlüsselte Passwörter. Es wurde aus Hales viper 1.4 Perl-Programm entwickelt. Obwohl es andere leistungsfähigere Knackprogramme gibt, geht es hier um die Untersuchung der Sicherheit von Passwörtern, während die Hardwaregeschwindigkeit drastisch zunimmt. Wenn ich mich richtig erinnere, las ich, dass die Passwortgenerierung auf einer PDP-11 30 Sekunden dauerte. Jetzt schaffen wir mehr als 230.000 Generationen pro Sekunde auf einem einzelnen CPU-Kern eines einzelnen Systems, was die Geschwindigkeit um einen Faktor von mehreren Millionen erhöht. Dennoch bleibt noch Zeit für ein 8-stelliges Passwort im gesamten Schlüsselraum, siehe keyspace.txt.
Ursprünglich schien die ufc-crypt-Implementierung die schnellste crypt-Funktion zu sein; ihre Verwendung erleichterte die Portierung des Programms auf verschiedene Plattformen.
Viper läuft unter Linux, Solaris, HPUX und DOS/Windows.
Das Original, Hale's viper.pl (Perl):
| Jahr | System | CPU | Betriebssystem | Version | CPS-Rate |
|---|---|---|---|---|---|
| 2000 | SparcStation | SUN U-Sparc 400Mhz | Solaris | 2.6 | 700 |
| 2000 | Desktop PC | Pentium III 650Mhz | Linux | 2.2.13 | 16,000 |
Modifizierter viper (C):
Viper v1.6 (Hale 05/12/2000) - C version by Frank4DD (05/05/2014)
Wiltered Fire - www.wilter.com/wf, incl. bugfixes by David C. Rankin
-f File to load password from (required unless using lsf)
-u Username to load from file (required unless using lsf)
-lsf Load saved file from previous session
-pf Save progress to file at update interval
-rf # Amount of time in hours to run for (default infinite)
-c # Character set from charset.ini to use (default 1)
-pws # Minimum password length (starting value, default 1)
-pwl # Maximum password length (default 8 - maximum 16)
-ui # Console update interval (in minutes - default 10)
-v Verbose outputsusie112:/home/me/viper-1.6/src # ./viper -f passwd -u root -ui 1 -v Viper v1.6 (Hale 05/12/2000) - C version by Frank4DD (05/05/2014) Wiltered Fire - www.wilter.com/wf, incl. bugfixes by David C. Rankin Found: user root pw:reUJbHrFWYCQk Found: Charset 0 in charset.ini ...command line parameters loaded. Character set is 93 chars long Starting crack on: Sun Oct 3 23:04:44 2009 Cracking for pass length 1 (93 possibilities) Cracking for pass length 2 (8649 possibilities) Cracking for pass length 3 (804357 possibilities) Cracking for pass length 4 (7.48052e+07 possibilities) [ Length: | Last: | CPS: | Time Spent: | Time Remaining: | Done: ] ------------------------------------------------------------------------------- [ 4 | kq2r | 150000 | 000d:00h:01m:00s | 000d:00h:07m:18s | 12.03% ] The password has been located. Username : root Password : test Started : Sun Oct 3 23:04:44 2009 Finished : Sun Oct 3 23:06:30 2009 Duration : 000d:00h:01m:00s Viper exiting...
Viper Version 1.5 wurde aktualisiert, um die OpenSSL DES-Routinen zur Verschlüsselung zu verwenden. Die UFC-Bibliothek wurde als veraltet entfernt, da sie auf einigen Systemen sogar Segmentation Faults verursachte. Es gibt einen Leistungsgewinn von ca. 25 % durch die OpenSSL-Bibliotheken. Zusätzlich zu den Bibliotheken müssen die OpenSSL-Header (Entwicklungspaket) installiert werden, um Viper kompilieren zu können.
Viper Version 1.6 erhielt Fehlerbehebungen dank David C. Rankin.
Siehe auch http://fm4dd.com/sw/viper/
| Jahr | System | CPU | Betriebssystem | Version | Compiler | CPS-Rate |
|---|
| 2000 | HP 9000-B180L | PA-7300LC 180Mhz | HPUX | 10.20 | gcc | 7000 |
| 2000 | SparcStation | SUN U-Sparc 400Mhz | Solaris | 2.6 | gcc | 25,000 |
| 2000 | Desktop PC | Pentium III 650Mhz | Linux | 2.2.13 | gcc | 40,000 |
| 2000 | Desktop PC | Pentium III 650Mhz | Windows | Win98 | gcc | 50,000 |
| 2000 | Desktop PC | Pentium III 650Mhz | DOS | 7.0 | djgpp | 50,000 |
| 2004 | HP Laptop | 1x 1.7 GHz AMD64 | Windows | WinXP | gcc | 120,000 |
| 2011 | Cloud Server | vCPU (unknown) | Linux | 2.6.31 | gcc | 150,000 |
| 2016 | Cloud Server | Xeon E5-2680 2.5GHz | Linux | 4.4.0 | gcc | 250,000 |