
Viper est un outil de cassage de mots de passe par force brute.
Frank4DD, @ Mai 2000
Viper est un craqueur de mots de passe de type UNIX par force brute pour les mots de passe cryptés avec crypt. Il a été développé à partir du programme Perl viper 1.4 de Hale. Bien qu'il existe d'autres programmes de craquage plus puissants, celui-ci vise à étudier la sécurité des mots de passe alors que la vitesse du matériel augmente radicalement. Si je me souviens bien, j'ai lu que sur un PDP-11 la génération de mot de passe prenait 30 secondes. Maintenant, nous pouvons faire plus de 230 000 générations par seconde sur un seul cœur de CPU d'un seul système, augmentant la vitesse d'un facteur de plusieurs millions. Néanmoins, il reste du temps pour un mot de passe de 8 caractères sur l'espace de clés complet, voir keyspace.txt.
À l'origine, l'implémentation ufc-crypt semblait être la fonction crypt la plus rapide disponible, son utilisation a facilité le portage du programme sur différentes plateformes.
Viper fonctionne sous Linux, Solaris, HPUX et DOS/Windows.
L'original, Hale's viper.pl (Perl) :
| Année | Système | CPU | OS | Version | Taux 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 modifié (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 version 1.5 de Viper a été mise à jour pour utiliser les routines DES d'OpenSSL pour le chiffrement. La bibliothèque UFC a été abandonnée car obsolète et générant même des segfaults sur certains systèmes. Il y a un gain de performance d'environ 25% provenant des bibliothèques OpenSSL. En plus des bibliothèques, les en-têtes OpenSSL (paquet dev) doivent être installés pour pouvoir compiler Viper.
La version 1.6 de Viper a reçu des corrections de bugs grâce à David C. Rankin.
Voir aussi http://fm4dd.com/sw/viper/
| Année | Système | CPU | OS | Version | Compilateur | Taux 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 |