web-dev-qa-db-ja.com

シスコの「秘密の」パスワードハッシュを生成するコード?

「シークレットを有効にする」などのパスワードハッシュを生成するためにシスコが使用するコード(またはアルゴリズム)へのポインタを誰かが持っていますか?

私は何かに侵入しようとしているのではありません。クリアテキストのパスワードを指定して適切な「シークレットを有効にする」行を生成しようとしていますが、既存の「シークレットを有効にする」行をハッシュされたパスワードでデコードしませんnot 。私が取り組んでいる自動化されたconfig-fileジェネレーターにこれが必要です( Netomata Config Generator )。

基本的に、私が欲しいのは、Webサーバーに使用される「htpasswd」コマンドに相当するCiscoです。

たとえば、次のコマンドとクリアテキストパスワードをCisco configに入力すると、

enable secret foobar

次に、「show config」コマンドを実行すると(「service password-encryption」が有効になっていると想定)、次のように表示されます。

enable secret 5 $1$pdQG$0WzLBXV98voWIUEdIiLm11

「foobar」を「5 $ 1 $ pdQG $ 0WzLBXV98voWIUEdIiLm11」に変換するコードが必要です。これにより、生成された構成にクリアテキストのパスワードを入力してルーターが待機するのではなく、構成生成ツールでハッシュ済みのパスワードを生成できます。ハッシュを生成します。

ハッシュ結果の「5」は、なんらかのハッシュアルゴリズム識別子であると思います。シスコが現在または歴史的に使用している他のハッシュアルゴリズムがある場合は、それらのアルゴリズムのコードも作成したいと考えています。

12
Brent Chapman

シスコは4文字のソルトを必要とするようです。デフォルトでは、「-saltsalt "引数、opensslは8文字のソルトを生成します。

opensslを使用して、適切なランダムな4文字のソルトを持つ「クリアテキスト」のシスコ互換ハッシュを生成できますが、次のようになります。

openssl passwd -salt `openssl Rand -base64 3` -1 "cleartext"

openssl Rand -base64 3 "サブコマンドは3つのランダムなバイトを生成し、それらをbase64形式でエンコードします。これにより、4つの印刷可能な文字(Cisco互換のsaltに必要な文字)が得られます。

このソリューションへの正しい道を歩み始めた答え(このページの他の場所)についてMurali Suriarに感謝します。

11
Brent Chapman

このWebサイト に記載されているように、OpenSSLコマンドラインユーティリティは必要な機能を提供するようです。

$ openssl passwd -1 -salt pdQG -table foobar
foobar  $1$pdQG$0WzLBXV98voWIUEdIiLm11
$

そして、おそらくライブラリ自体に同等の関数があります。

IOSで特定のソルト値を使用する必要があるかどうかはわかりませんが、技術的には、「シークレットを有効にする」コマンドで指定した文字列が有効である限り、それを行う理由はありませんMD5パスワードダイジェスト。テストする機会があれば、結果を知りたいと思います。

18
Murali Suriar

5これは、MD5を使用するタイプ5であることを示していると思います。つまり、必要なのは 0 PlayStation 3s です。タイプ7は簡単にクラックされ、スクリプトで websites が作成されています。これはStackoverflowでよりよく尋ねられるかもしれません。

3
Terry

ここに素晴らしいリファレンスがあります http://haxcess.com/2008/10/21/Cisco-password-recovery/

一番下の行は、ハッシュがいくつかの部分に分かれていることです

  -> Indicates MD5 algorithm
 |   -> Salt
 |  |     -> Salt + Password Hash
 |  |    |
$1$mERr$RchIrJirmCXltFBZ2l50l/

これは、過去に不思議に働いてきたPerlソリューションです。この赤ちゃんをループに入れて、走らせます。

#!/usr/bin/Perl
use Crypt::PasswdMD5;
my $hash = unix_md5_crypt('password','salt')
3
ZnArK

「5」は、クリアパスワードがCiscoパスワードタイプ5に変換されたことを意味します。タイプ5パスワードはMD5ベースのアルゴリズムです(ただし、計算方法はわかりません。申し訳ありません)。 「パスワードを有効にする」ときに使用されるタイプ7は、よく知られている可逆アルゴリズムです。 「service password-encryption」は、パスワードが平文で保存されないようにするだけです(タイプ0)

http://en.wikipedia.org/wiki/Crypt_(Unix)#MD5-based_scheme を見て、幸運を祈ってください:)

編集:あなたも見ることができます http://www.h4x3d.com/md5-and-crypt-password-generator/http://www.koders.com/c/ fid530E8983791E1CB2AB90EAA69A68789FA2A83A6D.aspx および http://www.cryptgenerator.de/

1
radius