
Frank4DD, @ 2000年5月
Viperは、cryptで暗号化されたパスワードを解読するブルートフォースUNIXスタイルのパスワードクラッカーです。これは、Haleのviper 1.4 Perlプログラムから開発されました。他にもより強力なクラックプログラムは存在しますが、このプログラムはハードウェア速度が劇的に向上する中で、パスワードの安全性を研究するためのものです。私の記憶が正しければ、PDP-11ではパスワード生成に30秒かかったと読んだことがあります。現在では、単一システムの単一CPUコア上で毎秒230.000以上の生成が可能であり、速度は数百万倍に向上しています。それでも、フルキースペースでの8文字パスワードにはまだ時間がかかります。keyspace.txtを参照してください。
当初、ufc-crypt実装は最速のcrypt関数のようであり、それを使用することでプログラムを異なるプラットフォームに移植するのが容易になりました。
ViperはLinux、Solaris、HPUX、DOS/Windowsで動作します。
オリジナルのHaleのviper.pl (Perl):
| 年 | システム | CPU | OS | バージョン | CPSレート |
|---|---|---|---|---|---|
| 2000 | SparcStation | SUN U-Sparc 400Mhz | Solaris | 2.6 | 700 |
| 2000 | Desktop PC | Pentium III 650Mhz | Linux | 2.2.13 | 16,000 |
修正版Viper (C):
Viper v1.6 (Hale 05/12/2000) - C version by Frank4DD (05/05/2014)
Wiltered Fire - www.wilter.com/wf、David C. Rankinによるバグ修正を含む
-f パスワードを読み込むファイル(lsfを使用しない場合は必須)
-u ファイルから読み込むユーザー名(lsfを使用しない場合は必須)
-lsf 前回のセッションから保存ファイルを読み込む
-pf 更新間隔で進行状況をファイルに保存
-rf # 実行時間(時間単位、デフォルトは無制限)
-c # 使用するcharset.iniの文字セット(デフォルト1)
-pws # 最小パスワード長(開始値、デフォルト1)
-pwl # 最大パスワード長(デフォルト8、最大16)
-ui # コンソール更新間隔(分単位、デフォルト10)
-v 詳細出力susie112:/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 Charset 0 in charset.ini が見つかりました ...コマンドラインパラメータが読み込まれました。 文字セットは93文字です。 クラック開始: Sun Oct 3 23:04:44 2009 パス長1のクラック中 (93通り) パス長2のクラック中 (8649通り) パス長3のクラック中 (804357通り) パス長4のクラック中 (7.48052e+07通り) [ 長さ: | 最後: | CPS: | 経過時間: | 残り時間: | 進捗: ] ------------------------------------------------------------------------------- [ 4 | kq2r | 150000 | 000d:00h:01m:00s | 000d:00h:07m:18s | 12.03% ] パスワードが見つかりました。 ユーザー名 : root パスワード : test 開始 : Sun Oct 3 23:04:44 2009 終了 : Sun Oct 3 23:06:30 2009 所要時間 : 000d:00h:01m:00s Viperを終了します...
Viper Version 1.5は、暗号化にOpenSSL DESルーチンを使用するように更新されました。UFCライブラリは古くなり、一部のシステムではセグメンテーションフォールトを引き起こすため削除されました。OpenSSLライブラリにより約25%のパフォーマンス向上があります。ライブラリに加えて、ViperをコンパイルするにはOpenSSLヘッダー(devパッケージ)をインストールする必要があります。
Viper Version 1.6は、David C. Rankinによるバグ修正を受けました。
こちらも参照 http://fm4dd.com/sw/viper/
| 年 | システム | CPU | OS | バージョン | コンパイラ | 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 |