Dynagen でパスワードリカバリの練習
本エントリについて
Dynagen、Dynamipsを使ってパスワードリカバリの練習の仕方について記載します。
Dynagen、Dynamipsの準備、利用方法については本エントリのスコープ外です。
(自分はAWSのEC2でDynagen、Dynamipsの仮想ラボ環境を作って利用しています。
気が向けばラボ構築についても記載しようかなとも思うけど、現在はGNS3が人気のようで、需要もなさそうなのでモチベーションが上がりません。)
参考サイト
事前設定
Dynagen の設定ファイルの準備
以下のような設定ファイルを準備します。
autostart = false
[localhost:7200]
[[3725]]
image = イメージファイル
ram = 160
idlepc = 0xXXXXXXXX
ghostios = true
sparsemem = true
[[ROUTER r1]]
model = 3725
console = 2001
idlepc の値を設定しないと、CPU使用率が上昇します。
設定の仕方は割愛します。
ルータの起動
(いくつもターミナルを開くことになるので、tmux などを利用するとよいと思います)
Dynamips を起動します。
カレントディレクトリに一時ファイルが出力されるので、適切なディレクトリに cd して実行します。
$ sudo dynamips -H 7200
作成した dynagen 設定ファイルを指定して dynagen を実行します。その後、ルータを起動します。
カレントディレクトリに一時ファイルが出力されます。
$ dynagen test.net
=> start r1
console で指定したポートに telnet 接続することで、ルータのコンソールに接続できます。
$ telnet localhost 2001
ルータの設定
r1 のコンソールに接続し、enable パスワードを設定します。
また、比較のためホスト名の設定、インタフェースの設定もしておくとよいでしょう。
> en
# configure terminal
(config)# enable secret cisco
(config)# hostname r1
(config)# int fa0/0
(config-if)# ip address 10.2.0.254 255.255.255.0
(config-if)# no shut
(config-if)# end
コンフィグに enable パスワードが設定されていること、インタフェースは no shut したので、up/up になっていることを確認します。
いったん disable して再度 enable し、パスワードが有効なことを確認します。
# show run | section enable
enable secret 5 $1$COPM$M3ac4G7uFzMOtfyM/kfDT.
# show ip int bri
Interface IP-Address OK? Method Status Protocol
FastEthernet0/0 10.2.0.254 YES NVRAM up up
FastEthernet0/1 unassigned YES NVRAM administratively down down
# disable
> en
password:
#
確認できたら、コンフィグを保存します。
# copy run start
# show start
再起動して、enable パスワードとインタフェースの設定を確認してみます。
=> reload r1
> show ip int bri
> en
# show run | section enable
現在の confreg の値を確認します。
# show version | begin Config
Configuration register is 0x2102
confreg 設定値の変更
dynagen で ルータを停止し、confreg値を変更します。
変更したら再度ルータを起動します。
=> stop r1
=> confreg r1 0x2142
=> start r1
confreg 値については、下記で詳しく記載されています。
上記サイトより一部抜粋
| 16進数 | 意味 |
|---|---|
| 0x2000 | ネットワーク ブートが失敗した場合は、デフォルト ROM ソフトウェアのブート. |
| 0x0100 | Break を無効にする。 |
| 0x0040 | NVRAM の内容を無視。 |
| 0x0002 | デフォルトのネットブートファイル名を指定します。デフォルトのnetbootファイル名を上書きするboot systemコマンドを有効にします |
パスワードリカバリ
r1 のコンソールに接続します。
confreg値を確認します。先ほど設定した値に変更されているはずです
startup-config を読み込まずに起動しているので、ホスト名はデフォルトのものになっているはずです。
enable コマンドで特権モードに入ります。
> show version | begin Config
Configuration register is 0x2142
> en
#
コンフィグをロードし、enable パスワードを設定します。
インタフェースが down/down になっているので、no shut します。
# copy start run
# show ip int bri
# configure terminal
(config)# enable secret ccna
(config)# int fa0/0
(config-if)# no shut
(config-if)# end
コンフィグを保存し、設定したパスワードで enable できることを確認します。
# copy run start
# disable
> en
password:
#
confreg 設定値の戻し
dynagen で ルータを停止し、confreg値を変更します。
変更したら再度ルータを起動します。
=> stop r1
=> confreg r1 0x2102
=> start r1
最終確認
confreg 値が変更されていること、インタフェースがup/up となっていること、設定したパスワードで enable できることを確認します。
> show version | begin Config
Configuration register is 0x2102
> show ip int bri
> en
password:
# show run
まとめ
以上、Dynagen でパスワードリカバリの練習について記載しました。
かなり実機に近いことを練習できますが、これはあくまで真似事にすぎません。
特に実機とは confreg 値の設定方法が異なりますので、この点には注意してください。
Discussion