Cisco IOS による Type 7 パスワード復号方法

Cisco IOSで表示されるコンフィグでは、enable secret で暗号化されたパスワードはMD5を使用してハッシュ処理するため、ツールを使用しても復号できず平文として表示されません。

そのため、パスワードを忘れるとパスワードリカバリーまたは初期化を行う必要があります。一方、以下のような設定の場合、つまりCisco type 7を使用したパスワードは復号可能です。復号(Decrypt)されてしまうことはセキュリティ上問題であるため、enable パスワードは、enable passwordコマンドではなく、enable secretを使用する事が推奨されています。


service password-encryption

enable password 7 *****
radius-server host 192.168.1.1 auth-port 1645 acct-port 1646 key 7 ******
tacacs-server host 192.168.1.1 key 7 *****
line vty 0 4
password 7 *****


上述の内容に該当する設定コマンドは他にもたくさんありますが、要するに show run によりパスワードの前に “ 7 ” と表示されているものが、上述の内容に該当します。

以上の内容はかなり以前に周知されているので、現在では enable passwordを使用している人はもういないでしょうが、例えば、line vty や console のパスワード設定、radius-serverや tacacs-serverのShared Secretでは、type 7 としてパスワード設定しているコンフィグは多いと思います。

さて、本記事の本題ですが、Cisco Type 7パスワードは復号(Decrypt)できるので、以下のような事態になってもパスワード情報をコンフィグから復号することができます。

「 あっ、telnetのパスワード忘れてしまった・・・」
「 あっ、RadiusサーバのShared Secretを忘れてしまった・・・」

復号ツールはウィルスが混じっている場合もあるので、今回はCisco IOSでの確認方法を紹介します。例えば、line vty で以下のように設定すると、


Switch(config)#line vty 0 15
Switch(config-line)#password test123


show runで確認すると以下のように表示されます。


line vty 0 4
password 7 111D1C160343595F


例えば、この「 test123 」というパスワードを忘れたとします。しかし、暗号化された情報の「111D1C160343595F」という文字列から、Cisco IOSを利用して「 test123 」を復号することができます。そのために先ず、このパスワードを設定した機器でも別の機器でもいいので以下のように設定します。
※ key-string 7 の 7 という数字まで入力してから、暗号化されたパスワードを貼り付け。


Switch(config)#key chain TEST
Switch(config-keychain)#key 1
Switch(config-keychain-key)#key-string 7 111D1C160343595F ← パスワード貼付け。


次に、show key chain と入力すれば、復号された情報(平文)として、以下の通り設定していたパスワード「 test123 」を確認することができます。


Switch# show key chain
Key-chain TEST:
key 1 — text “test123”
accept lifetime (always valid) – (always valid) [valid now]
send lifetime (always valid) – (always valid) [valid now]


確認が終わったら、(config)# no key chain TEST で設定コマンドを削除しましょう。

  • このエントリーをはてなブックマークに追加