Cisco系列路由器密码恢复研究与实践


密码恢复原理
(1)Cisco路由器保存了几种不同的配置参数,并存放在不同的内存模块中 。Cisco系列路由器的内存有:ROM , 闪存(Flash memory),RAM , 不可变RAM和动态内存(DRAM)等5种(其功能见表1) 。一般情况下 , 路由器启动时 , 首先运行ROM中的程序 , 进行系统自检及引导 , 然后运行Flash中的ISO , 并在NVRAM中寻找路由器配置 , 并装入DRAM中 。
(2)口令恢复的要害在于对配置登记码(Configuration Register Value)(见表2)进行修改 , 从而让路由器从不同的内存中调用不同的参数表进行启动 。有效口令存放在NVRAM中 , 因此修改口令的实质是先让登记码不起作用 , 从而可以进行直接启动 , 完成后再将登记码恢复(如忘记恢复 , 路由器重新启动后修改的配置可能会丢失) 。
内存作用
ROM存放系统的引导程序 , 类似PC机的BIOS , 是一种只读存储器 , 系统掉电程序不会丢失闪存存放Cisco IOS的镜像 , 类似PC机的硬盘 , 是一种可擦写、可编程的ROM , 系统掉电数据不会丢失NVRAM存放配置文件(Startupconfig)RAM存放当前系统使用配置(Runningconfig)DRAM主要包含路由表、ARP缓存、Fastswitch缓存、数据包缓存等 , 也包含正在执行的配置文件 , 系统掉电该内存数据会丢失表2Cisco系列路由器配置登陆码
Configuration Register Value含义
0X2102缺省设置
Bit13=0X2000Flash引导失败5次后 , 自动从ROM引导
Bit8=0X0100关闭Break键
Boot field=0X20X2101从Flash中引导正常运行模式
Bit13=0X2000Flash引导失败5次后 , 自动从ROM引导
Bit8=0X0100关闭Break键
Boot field=0X10X142进入boot ROM运行模式Router(boot)>
Bit8=0X0040进入boot monitor运行模式>或rommon>
Boot field=0X2从Flash中引导正常运行模式
预备工作
厂商在设计路由器产品的时候就预留了一个Console(控制台) , 它是对路由器进行配置时的一个重要接口 , 也是密码恢复的第一步工作:利用DB25转接口和交叉线 , 将终端或装有超级终端软件的PC接到路由器的Console口上 。终端参数设置如下:速度:9 600 bps;数据位:8;奇偶校验位:无;停止位:1;流控:无 。如图1所示 。
3800系列路由器(以801为例)具体操作方法
(1)在启动的60 s内按下中断键Ctrl Break,假如Break被屏蔽了可以使用循环开机的方法 , 使设备进入rom monitor状态 , 提示符号为“>” 。
(2)在rom monitor中输入set命令:
记下当前的ios-conf值 , 这里是0x2102 。
Boot# set
……
Set prompt=“boot”
Set ios-conf=0X2102
(3)输入set ios-conf 142 , 如下:boot# set ios-conf 142 。
(4)输入boot引导系统 , 假如设备在重启过程中要求进行初始化配置 , 一路回答“No” , 如下所示:
Boot# boot
……
8kbytes of nonvolatile configuration
memory
8Mbytes of flash on board (4M from flash card)
——system configuration dialog——
would you like to enter the initial configuration dialog?[yes/no]:n
press reture to get started!(press enter)
(5)输入回车 , enable,再回车 , 进入enable状态 , 命令序列如下:
Router>en
Router#
(6)输入config mem,调入原配置文件 , 并进入配置模式(注重:不要conf t),命令序列如下:
Router# conf mem
801(config)#
(7)恢复原始配置寄存器值并激活所有端口:
801#configure terminal
801(config)#configregister0X2102
801(config)#interface xx
801(config)#no shutdow
(8)查询并记录丢失的口令:
801#show configuration (show startupconfig)
(9)修改口令:
801#configure terminal
801(config)line console 0
801(configline)#login
801(configline)#passWord xxxxxxxxx
801(configline)#
801(configline)#write memory (copy runningconfig startupconfig)
4Cisco2500系列路由器(以2509为例)具体操作方法
(1)在启动的60 s内按下中断键Ctrl Break,假如Break被屏蔽了可以使用循环开机的方法 , 使设备进入rom monitor状态 。
(2)在rom monitor中输入o命令:
>o
configuration register=0X2102 at last boot
……
记下当前的Configuration register值 , 这里是0x2102 , 通常为0x2102或0x102 。假如用命令不能获得有关提示 , 可以查看类似的路由器来获得配置寄存器的值或用0x2102试试 。
(3)输入“>o/r 0x0142” , 更新Configuration register值 , 使路由器启动时跳过配置文件直接启动 , 以便原来的密码不起作用 , 具体操作如下:
>o/r 0x0142
(4)重新启动路由器:
>I
rommon 2>reset
(5)在“Setup”模式 , 对所有问题回答“No”
(6)进入特权模式:
router>enable
(7)下载NVRAM
Router>configure memory
(8)恢复原始配置寄存器值并激活所有端口:
2509#configure terminal
2509(config)#configregister 0X2102
2509(config)#interface xx
2509(config)#no shutdown
(9)查询并记录丢失的口令:
2509#show configuration (show startupconfig)
(10)修改口令:
2509#configure terminal
2509(config)line console 0
2509(configline)#login
2509(configline)#password xxxxxxx
2509(configline)#
2509(configline)#write memory (copyrunningconfigstartupconfig)
5Cisco2600系列路由器(以2611为例)具体操作方法
(1)将路由器的口和计算机串口相连 , 启动计算机超级终端 , 开启路由器电源 , 在开机60s内按使路由器进入状态 , 提示符:rommon1>
(2)在Rommon中输入:conf reg 0x42,如下所示:
Rommon 1>conf reg 0x42
(3)输入reset , 命令如下:
Rommon 2>reset
(4)当提示是否进入对话配置时回答“no”(如误输入“yes”,马上按Ctrl c退出 , 出现“press return to get started!”按回车 , 进入rom模式router> 。
(5)键入enable命令进入exec状态 , 键入router#show config查看原路由器配置和未加密码口令 , 建议马上做一文本备份文件 , 以免误操作将原路由器配置丢失 。
(6)下载NVRAM , 将NVRAM模式中的参数表装入内存:
Router# configuration memory
(7)更改完毕一定要写入NVRAM中 , 否则路由器原配置会丢失以及改写口令无效:
Router# write memory
(8)将第3步查到的登记码还原 , 一般为0x2102(即从闪存正常启动 , 并屏蔽中断) , 并激活所有端口(系统会将所有端口自动shutdown):
Router#configregister 0x2102
Router?(config)#interface xx
Router(configif)#no shutdown
Router(configif)#ctrl-z
(9)重新启动路由器:Router# reload 。
63600系列路由器(以3640为例)具体操作方法
3640的密码恢复和26系列基本相似 , 都是进入监控模式 , 运行conf reg命令 , 启动时忽略配置文件 , 进行直接启动 。此方法同样适用于4500、7500、12000系列路由器 。
7Cisco系列路由器进入rom状态的几种方法
对于Cisco的各种路由器进入rom状态的方法不尽相同 , 但一般通过如下3种方法可以进入rom状态 , 在使用过程中可以分别试用 。
(1)假如Break未被屏蔽 , 可以在开机60 s内按Ctrl Break键中断启动过程 , 进入rom状态 。
(2)假如Break键已经屏蔽 , 可以通过循环开机的方法进入rom状态 , 方法是:路由器开机后 , 将电源关闭 , 间隔5 s后重新开机 , 一般会进入rom状态 。此方法适用于7500、12000等路由器 。
(3)将超级终端通信波特率设置为1200 , 数据位8 , 奇偶位1 , 停止位无 。开启路由器电源 , 启动后关机 , 5 s后重新开机 , 同时一直按住空格键12 s后放开 , 等路由器启动完成后 , 重新更改超级终端位默认值 , 通信波特率设置为9600 , 数据位8 , 奇偶位1 , 停止位1 。重新连接后 , 从终端上可以看到已经进入rom状态 。注重:在波特率为1200时 , 终端上没有内容显示 。此方法适用于2500、2600、4500等系列路由器 。
结束语
作为3层设备 , 路由器是一种技术含量很高的网络设备 , 涉及到各种协议 , 技术面较广 。熟练运用各种路由器 , 及时处理各种突发故障 , 对维护网路的正常运转有着重要意义 。本文仅就Cisco各系列路由器中的典型型号的密码恢复方法进行介绍 , 但对于解决Cisco各系列路由器的类似问题 , 其具体操作也类似 。