用户实际环境中的一台思科4506交换机无法登录,由于维护人员也不记得修改后的密码,只能对系统进行破解。


环境:

Cisco Catalyst 4506E交换机,引擎为WS-X45-SUP8-E,系统版本是cat4500es8-UNIVERSAL-M


破解步骤:

重启交换机,按ctrl+c中止交换机的启动过程,如下所示:

Verifying FPGA (P) Signature ...................... PASSED
Verifying ROMMON (P) Signature ......... PASSED
************************************************************
*                                                          *
* Rom Monitor                                              *
* Copyright (c) 2012-2013 by Cisco Systems, Inc.           *
* All rights reserved.                                     *
*                                                          *
************************************************************
Rom Monitor (P) Version 15.1(1r)SG1
Compiled Wed 14-Aug-13 17:15 [RLS]
System       : WS-X45-SUP8-E  Slot [1]
Chassis      : WS-C4506*E     Mod  [3][6]
Revision     : CPU 2.1   BOARD 4.0   FPGA 3.15F2.9155
Memory       : 4096 MB
Date         : Sun Mar 05 21:32:01 2017
 Type Control-C to prevent autobooting....
 [CTRL-C]
 Autoboot cancelled.........!!!
rommon 0 >

通过set命令查看系统当前的环境变量如下所示:

rommon 0 >set
 PS1=rommon ! >
 Fa1Enable=1
 RommonVer=15.1(1r)SG1
 ConfigReg=0x2101
 BOOT=bootflash:cat4500es8-universal.SPA.03.03.00.XO.151-1.XO.bin,1;
 DiagMonitorAction=Normal
 RET_2_RTS=14:59:24 GMT Sat Aug 27 2016
 RET_2_RCALTS=
 BootedFileName=flash1:/USER/cat4500es8-universal.SPA.03.03.00.XO.151-1.XO.bin
 ConsecPostPassedCnt=34

注意寄存器值是0x2101

使用confreg命令对系统进行配置,如下所示:

rommon 1 >confreg
Configuration Summary :
=> load rom after netboot fails
=> console baud: 9600
=> autoboot from: the first file from internal flash device
do you wish to change the configuration? y/n [n]: y
enable "diagnostic mode"? y/n [n]: n
enable "use net in IP bcast address"? y/n [n]:
disable "load rom after netboot fails"? y/n [n]:
enable "use all zero broadcast"? y/n [n]:
enable "break/abort has effect"? y/n [n]:
enable "ignore system config info"? y/n [n]: y
change console baud rate? y/n [n]:
change the boot characteristics? y/n [n]:
Configuration Summary :
=> load rom after netboot fails
=> ignore system config info
=> console baud: 9600
=> autoboot from: the first file from internal flash device
do you wish to save this configuration? y/n [n]: y
You must reset or power cycle for new configuration to take effect

其它选项可以直接回车,配置完之后提示必须重启才能生效,不过重启前可以用set命令再次查看一下环境变量,如下所示:

rommon 2 >set
PS1=rommon ! >
Fa1Enable=1
RommonVer=15.1(1r)SG1
BOOT=bootflash:cat4500es8-universal.SPA.03.03.00.XO.151-1.XO.bin,1;
DiagMonitorAction=Normal
RET_2_RTS=14:59:24 GMT Sat Aug 27 2016
RET_2_RCALTS=
BootedFileName=flash1:/USER/cat4500es8-universal.SPA.03.03.00.XO.151
-1.XO.bin
ConsecPostPassedCnt=34
ConfigReg=0x2141

此时会发现前后寄存器的值已经发生了变化,可以通过boot命令重启系统

重启后:

Press RETURN to get started!

Switch>

此时可以看到系统绕过了配置文件,后面我们可以通过

switch#copy startup-config running-config

将配置加载到系统中,然后通过命令直接修改密码即可,当然在完成后我们必须修改寄存器值

config-register 0x2101

重新启动系统,会发现密码已经破解完成。

*************************************************************************

其实sup8引擎的密码破解与其它系列引擎的密码破解方法相似,可以参照官方的文档进行查看,但是如果是两台系统做的VSS,那么密码破解过程就会有些不同,不过官方也给出了相应的文档,具体请查阅。

*************************************************************************