电脑技术学习

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

dn001

  密码恢复原理
  (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各系列路由器的类似问题,其具体操作也类似。