网络通信 频道

案例实战:交换机密码丢失 如何恢复?

    编者按:电脑的密码丢失了,我们可以用密码清除光盘等工具来解决,但交换机、路由器的密码丢失了,无法使用光盘等工具,并要求不改变原配置文件情况下,这该如何办呢?

    【IT168 专稿】随着因特网规模的不断扩大,网络与我们的生活已经越来越近,许多政府、学校和公司都组建了自己的信息网络,这使得交换机和路由器这一网络设备的使用越来越广泛。在使用交换机和路由器的过程中经常会出现忘记密码的事情,使维护人员无法登录,影响工作的进一步开展。本节将介绍恢复交换机密码的思路和步骤。

    前任网络管理员离职 造成交换机密码丢失

    众所周知,交换机和路由器都需要有一定的安全保证,也就是说,要及时为它们配置合理的密码,那么,如果这个密码忘记了怎么办呢?

    某公司的网络管理员离职,新招聘的网络管理员准备重新配置交换机的一些参数。但发现其中多台交换机的密码与"密码本"的记录不一致。公司所有的网络设备大致有3个密码,很多人都帮助猜测这个密码,分别尝试了"原网络管理员的生日"和一些默认密码,但都无法登录,如图所示。

    

    图  交换机登录密码错误

    解决前提:不能破坏交换机原配置文件

    以这家公司网络管理的情况来看,极有可能是没有交换机和路由器运行配置文件的备份,因此需要在不破坏交换机配置文件的情况下更改,并配置一个新的口令。

    另外,这家公司所用的网络设备品牌很多,华为、实达和思科三分天下。首先要清楚一点,不同品脾的网络设备都自己拥有不同的文件系统,因此破解密码的方式也是不同的,下面以思科产品为例进行说明。

      http://www.cisco.com/warp/public/474/index.shtml 提供了思科系列产品的口令恢复(Password Recovery Procedures)手册。

    或者访问国内网站http://www.net130.com/cms/Pubpspecial/special_password/ 202320.htm 部分CISCO密码恢复手册。

    1.密码恢复原理

    所有的Cisco路由器都具有一个位于NVRAM中的16位软件寄存器。默认情况下,配置寄存器设置是从闪存加载Cisco IOS,并且从NVRAM查找并加载startup-config文件。在动手恢复密码之前,首先要进一步了解IOS的特性管理。

    1)操作系统模式

    路由器可以加载3种类型的操作系统:

    (1)全功能的IOS

    一般在闪存中,可以放在TFTP服务器中;应用于产品的全功能的普通IOS。

    (2)限制功能的IOS

    一般在ROM中具备基本的IP连通性,用于闪存出现故障而用户需要通过IP连接来复制一份新的IOS到闪存中的情况,称为RXBOOT模式。

    (3)ROM Monitor

    通常用于Cisco TAC的低级调试及口令恢复,称为ROM Monitor模式。

      对于许多初学者来说,不建议使用Cisco路由器的ROM Monitor模式。原因很简单:一是我们并不经常用到该模式,对其相关操作不熟悉;二是在ROM Monitor模式下的操作失误,往往会对路由器造成致命的伤害(比如破坏Flash中的IOS文件,导致系统崩溃)。

    2)IOS启动顺序

    IOS软件包的启动顺序如下所述,大致分为4步。

    第1步:路由器执行加电自检(POST)以查找和验证硬件。

    第2步:路由器从ROM中加载并运行自引导程序代码。

    第3步:路由器加载IOS或其他软件。

    第4步:路由器找到配置文件并将它加载到运行配置中。

    具体的启动顺序可能还要复杂一些,如下图所示。

    

    图 路由器启动路程图

    路由器在每次加电或重新启动时都试图全部完成这4步。路由器管理员不能更改POST代码及其功能。注意在自引导程序代码的位置,要加载的IOS及配置文件是可以改变的,但是自引导程序代码和初始配置几乎总是放在它们默认的位置上,也就是说,自引导程序代码放在ROM里,而初始配置一般都放在NVRAM中。因此,IOS或其他软件的位置就成了一般情况下唯一需要改动的部分。

    3)寄存器值得设定

    下面讨论配置寄存器的设置及如何使用这些设置恢复路由器的口令。配置寄存器的16位从左到右依次为15、14、13、……、0。Cisco路由器默认的配置设置是0x2102(0x表示是十六进制)。也就是说,第13位、第8位和第1位的值是1,如表6-16所示。

    表6-16  寄存器位

 

寄 存 器
2
1
0
2
位值
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
二进制
0
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0

    各软件配置位的意义如表6-17所示。注意第6位用于忽略NVRAM的内容。此位既可用于口令恢复。

    表6-17  各软件配置位数值与解释

    

十 六 进 制
   
0~3
0x0000~0x000f
启动字段(参见表6-18)
6
0x0040
忽略NVRAM内容
7
0x0080
启用OEM位
8
0x0100
禁用中断
10
0x0400
IP广播全为零
5,11~12
0x800~0x1000
控制台线路速率
13
0x2000
如果网络启动失效则启动默认ROM软件
14
0x4000
IP广播不包含网络号
15
0x8000
启动诊断信息并忽略NVRAM内容

    注意,位于配置寄存器0~3位的启动字段控制路由器的启动顺序,表6-18中进一步说明了各个位的用途。

    表6-18  启动字段及其用途

   

启 动 字 段
   
   
00
ROM监控模式
若要启动时采用ROM监控模式,将配置寄存器的值设置为2100。必须用b命令来手动启动路由器。路由器将显示rommon>作为提示
01
从ROM启动映像文件
若要启动存储在ROM中的IOS映像文件,将配置寄存器的值设置为2101。路由器将显示router(boot)>作为提示
02~F
指定默认启动文件名
任何从2102~210F的值将告诉路由器使用NVRAM中指定的启动命令

    2.路由器密码恢复

    这里假设之前对路由器寄存器的值作了修改,使用show version命令,检查当前配置寄存器值,如下图所示:

    最后一行的信息是配置寄存器的值,在这里是0x2142,即下次启动时不加载startup-config文件,正常情况下的值应该是0x2102。由此可见,只要中断路由器的启动过程,跳过startup-config中包含的密码验证,也就意味着密码将不在起作用了。

    

    图6-4  检查寄存器值

    默认的配置寄存器的值是0x2102,意味着第6位是关闭的(值为0)。在默认情况下,路由器会查找并加载存储在NVRAM中的路由器配置文件(startup-config文件)。若要恢复口令,需要开启配置寄存器的第6位,告诉路由器忽略NVRAM的内容。开启了第6位的配置寄存器值是0x2142。

    以下是口令恢复的主要步骤。

    第1步:启动路由器并通过执行一个中断来中断启动顺序。

    第2步:修改配置寄存器开启第6位(值为0x2142)。

    第3步:重载路由器。

    第4步:进入特权模式。

    第5步:将startup-config文件复制为running-config文件。

    第6步:修改口令。

    第7步:将配置寄存器重设为默认值。

    第8步:保存配置。

    第9步:重新加载路由器。

   3.交换机密码恢复

    交换机口令恢复的原理类似于路由器,交换机恢复密码的过程主要是通过停止引导过程,不使用配置文件的方式来实现,但是具体的操作方法不同。CatOS与IOS交换的密码恢复过程也是不同的,由于这家公司中存在了几个不同型号的Cisco设备,因此在后面的操作过程中要针对不同型号制订恢复策略。

    实战过程:破解路由、交换机密码

    由于远程破解这些设备的密码的机会很小,网管员放弃了这种想法,携带好串口电缆和笔记本来到机柜旁边,开始逐步破解各个设备的密码。

    首先需要把串口电缆的一端插在网络设备背面的Console口中,另一端插在普通电脑的串口里。当交换机加电后,操作系统中使用"超级终端"程序。打开"超级终端",在设定好连接参数后,就可以进行密码破解了。

    1.Cisco 2500和2600路由器

    第1步:启动路由器并执行一个中断。

    当路由器重新启动时,按下笔记本中的【Ctrl+Break】键,中断路由器启动,这时能看到一个提示符Rommon 1>(这是2600系列的路由器提示);而对于2500系列的路由器提示符是">"。

    第2步:修改配置寄存器。对于2600系列,命令是Rommon 1 >Config-register 0x2142 ;对于2500系列命令为>o/r 0x2142。

    第3步:重载路由器并进入特权模式。

    在2600系列上,输入reset。在2500系列路由器上,输I 。路由器将重新加载,此时会询问是否要使用设置模式,回答No,按回车进入用户模式,键入Enable命令,进入特权模式。

    第4步:查看并修改配置。

    现在需要将startup-config复制为running-config文件,让路由器此时运行的状态保持正常 copy startup-config running-config ,此时配置正在RAM中运行,在特权模式下,可以修改配置。注意:此时虽然进入了路由器,但依然不能查看离职管理员,用enable secret设置的加密口令,只能修改成为一个新的密码把它修改,如下:

    configure terminal

    enable secret(password)

    第5步:重设配置寄存器并重载路由器。

    修改口令之后,一定要使用config-register将配置寄存器设置回默认值Config-register 0x2102,最后保存配置 copy running-config startup-config并重载路由器,口令恢复结束。

      一定要注意第2步和第5步中的命令,切不可颠倒顺序。由于输入失误,我们在一项工程实施中导致客户数据丢失,造成网络瘫痪多达4个小时的事故。

    2.在COS交换机上恢复口令

    对于CatOS的Catalyst交换机,口令恢复步骤如下。

    第1步:正确连接到交换机(硬件和软件)。

    第2步:重新打开交换机在加电自检过程中操作。

    第3步:在交换机开机的30秒内,按顺序完成下面的工作。

      在口令提示符处按下回车键,输入一个空口令。

      在提示符处输入enable,进入特权模式。

      在口令提示符处按下回车键,输入一个空口令。

      使用set password 命令或set enablepass命令改变口令。

      在提示符处按下回车键来输入口令。

    第4步:保存配置,完成。

      由于需要管理员在30秒之内输入命令,为避免输入错误等操作影响,可以将上述命令复制到TXT文本文件中,在使用时粘贴在操作控制台界面上即可。

    3.Cisco IOS 交换机口令恢复

    Cisco IOS交换机比CatOS交换机口令恢复,甚至比路由器的口令恢复都要复杂一些。

    第1步:断开交换机电源线。

    第2步:在重新连接电源线时,一直按住交换机的MODE按钮。可以在1X接口的LCD灯不再亮的1秒或2秒后松开MODE按钮。这时System指示灯一直闪烁,控制台出现如下信息。

    The system has been interrupted prior to initializing the flash filesystem.  The following commands will initialize the flash

    filesystem, and finish loading the operating system software:

    flash_init

    boot

    第3步:输入flash_init,初始化flash文件系统。

    Switch: flash_init

    Initializing Flash...

    flashfs[0]: 86 files, 4 directories

    flashfs[0]: 0 orphaned files, 0 orphaned directories

    flashfs[0]: Total bytes: 15998976

    flashfs[0]: Bytes used: 6639616

    flashfs[0]: Bytes available: 9359360

    flashfs[0]: flashfs fsck took 15 seconds.

    ...done Initializing Flash.

    Boot Sector Filesystem (bs:) installed, fsid: 3

    第4步:输入load_helper,装载并初始化辅助映像(Helper Imager),这是存储在ROM中的迷你IOS映像,通常用灾难恢复。

    第5步:输入dir flash:(有冒号),显示Flash文件系统内的文件和目录列表。

    Switch: dir flash:

    Directory of flash:/

    2    -rwx  0         <date>               env_vars

    3    -rwx  344       <date>               system_env_vars

    4    -rwx  5         <date>               private-config.text

    6    -rwx  2149      <date>               config.text

    8    drwx  192       <date>               c3550-i9q3l2-mz.121-20.EA1a

    9359360 bytes available (6639616 bytes used)

    第6步:输入rename flash:config.text flash:config.old ,这个文件名可以自己确定,修改配置文件名。该文件包括了口令的设置。

    第7步:输入boot,重启系统。

    第8步:重新启动后系统提示如下。

    --- System Configuration Dialog ---

    Would you like to enter the initial configuration dialog? [yes/no]: no

    Would you like to terminate autoinstall? [yes]:↙

    输入no,不进入设置模式向导配置对话框。按【Enter】键进入用户模式。

    第9步:在交换机的提示符下,输入enable进入特权模式。

    第10步:输入rename flash:config.old flash:config.text,将配置文件改回原来的默认名称。

    第11步:将配置文件复制到RAM中,执行copy startup-config runnig-config,现在配置文件被加载。

    第12步:修改口令。

    第13步:保存配置。

      在交换机2950上恢复口令时,第2步操作方法有点不同。开始也是一直按住面板上的mode按钮不放,插上交换机的电源线,注意观察面板,刚开始stat指示灯一直闪烁,system指示灯亮,等stat指示灯灭掉,system指示灯闪烁,此时放开mode按钮。控制台出现如下信息:

    The system has been interrupted prior to initializing the flash filesystem.  The following commands will initialize the flash filesystem, and finish loading the operating system software:

     flash_init

     load_helper

     boot

    然后在第3步中依次输入flash_init命令和boot命令,其他的操作步骤一致。

    这家公司的路由器和Cisco 3550、Cisco 3750交换机都采用如下步骤破解了口令,并在修改密码后正常工作。采用本节介绍的方法,修改密码时不会把原来的配置文件内容清除掉,特别是一个生产网络里已经运行的交换机,这样比较保险。
 

0
相关文章