
Viper es un cracker de contraseñas por fuerza bruta.
Frank4DD, @ Mayo 2000
Viper es un cracker de contraseñas de estilo UNIX por fuerza bruta para contraseñas encriptadas con crypt. Ha sido desarrollado a partir del programa Perl viper 1.4 de Hale. Si bien existen otros programas de crack más potentes, este trata sobre el estudio de la seguridad de las contraseñas mientras la velocidad del hardware aumenta drásticamente. Si mal no recuerdo, leí que en una PDP-11 la generación de contraseñas tomaba 30 segundos. Ahora podemos hacer más de 230.000 generaciones por segundo en un solo núcleo de CPU de un solo sistema, aumentando la velocidad por un factor de varios millones. Aún así, queda algo de tiempo para una contraseña de 8 caracteres en el espacio completo de claves, consulte keyspace.txt.
Originalmente, la implementación ufc-crypt parecía ser la función crypt más rápida disponible, usarla facilitó el portar el programa a diferentes plataformas.
Viper funciona en Linux, Solaris, HPUX y DOS/Windows.
Original, viper.pl de Hale (Perl):
| Año | Sistema | CPU | SO | Versión | Tasa de CPS |
|---|---|---|---|---|---|
| 2000 | SparcStation | SUN U-Sparc 400Mhz | Solaris | 2.6 | 700 |
| 2000 | Desktop PC | Pentium III 650Mhz | Linux | 2.2.13 | 16,000 |
Viper modificado (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...
La versión 1.5 de Viper se ha actualizado para usar las rutinas DES de OpenSSL para el cifrado. Se ha eliminado la librería UFC por estar desactualizada e incluso generar segfaults en algunos sistemas. Hay una ganancia de rendimiento de aproximadamente el 25% proveniente de las librerías OpenSSL. Además de las librerías, es necesario instalar los encabezados de OpenSSL (paquete dev) para poder compilar Viper.
La versión 1.6 de Viper recibió correcciones de errores gracias a David C. Rankin.
Véase también http://fm4dd.com/sw/viper/
| Año | Sistema | CPU | SO | Versión | Compilador | Tasa de CPS |
|---|
| 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 |