读书随笔(6)密码恢复

1 背景
网络设备密码恢复虽然使用的频次不高,但是却非常重要,因为它涉及网
络设备的基本知识,写这篇文档的目的首先是为了掌握密码恢复的技能,其实
最重要的是加深对网络设备软硬件的了解。
常见的应用场景有: 1 )长时间不登录或设置了过于复杂的密码,结果自己
也不记得了; 2 )二手设备被人设了密码不知道; 3 )不正常的工作交接; 4
其它情况。
Console 口的权限很大很大,是设备的物理权限,也是我们使用最多的用户
接口。本文着重介绍怎样恢复 Console 口的登录密码,其它登录方式的密码都
可以通过 Console 口来重置。如果有足够的权限,其它登录方式也可以恢复
Console 口密码,但是遗憾的是,当我们不知道 Console 口密码的时候,往往其
它登录方式的密码也不知道。
2 概述
本秘笈包含两大流派: 1 )昔日大哥 CISCO ,余威仍存,荣光不再,但仍有
一定江湖地位; 2 )当今霸主华为,荣光无限,势不可挡,江湖到处都有他的
传说。学会这两大流派的功夫,其它流派基本也就可以无师自通啦。
我们的故事先从昔日大哥说起。
3 CISCO (思科)
3.1 路由器的构成
06-01 cisco 路由器构成, CCNA3.1
 
3.2 路由器的初始化

 

                  06-02 cisco 路由器的初始化,CCNA3.1

从初始化的过程可以看出,在路由器启动时,如果能跳过配置文件进入系
统,就可以绕过登录口令,然后就可以对配置文件进行操作了。
3.3 配置寄存器值
4 个十六进制位组成,例如: 0x2102
每一个位都有重要的代表意义。
低位到高位(从右到左) 逐一介绍: 3.3.1
(2) 16 ==>(0010) 2
Boot Field ,影响 IOS 的启动。
1 )当 Boot Field 的值是“ 2~F” 中的任一个值时,路由器正常启动;
2 )当此字段值为“ 0” 时,启动进入 ROMMON 模式;
3 )值为“ 1” 时,进入 RXBOOT 模式。
例外: 2500 路由器的 FLASH 在配置寄存器的值为 0x2102 时属性为只读,
如果要升级 IOS 必须把寄存器的值修改为 0x2101
3.3.2
(0) 16 ==>(0000) 2
常用到第 3 个位,即整个寄存器值里的第 8 位, Bit 7
1 Bit 7 == 0 ,路由器启动时加载 NVRAM RAM
2 Bit 7 == 1 ,路由器启动时不加载 NVRAM RAM
3.3.3
(1) 16 ==>(0001) 2
常用到第 0 个位,即整个寄存器值里的第 8 位, Bit 8
1 Bit 8 == 1 ,路由器在任何运行模式下只要按下 CTRL + BREAK 均会立
即进入 ROMMON 模式;
2 Bit 8 == 0 ,路由器在正常运行模式下 CTRL + BREAK 无效。
3.3.4
(2) 16 ==>(0010) 2
常用到第 1 个位,即整个寄存器值里的第 13 位, Bit 13
1 Bit 13 == 1 ,如果路由器通过网络引导,尝试 5 次;
2 Bit 13 == 0 ,如果路由器通过网络引导,尝试无穷多次;
3.4 典型配置寄存器值
3.4.1
0x2102
启动过程中,路由器会查看 NVRAM 中的配置,以确定启动次序,如果启
动失败,会采用缺省的 ROM 软件进行启动。正常情况下都使用这个配置值,
生产中都用这个值。 3.4.2
0x2142
启动过程中忽略 NVRAM 中的配置信息,进入初始配置对话模式。可用于
密码恢复!
3.5 密码恢复操作思路
1 )在路由器启动时,中断启动进程,进入到 ROM 模式;
2 )修改配置寄存器的值为 0x2142 ,不加载 NVRAM 中的初始配置,这样
就可以绕过登录密码进入系统了;
3 )进入系统后,复制初始配置到当前运行配置,这样就可以操作当前配置
了,比如说查看或者修改各种登录模式的密码;
4 )修改配置寄存器值为 0x2102 加载 NVRAM 中的初始配置,防止路由
器重启后没有配置信息;
5 )保存当前配置为初始配置,密码恢复工作完成。
3.6 密码恢复操作
对于不同的处理器架构,恢复操作稍有不同。目前新的路由器,基本上都
RISC
3.6.1
RISC 处理器(精简指令集)
1 )在路由器开机 60 秒内,按下键盘上的 CTRL+BREAK 键,使路由器启动
进入 ROMMON 模式;
2 )在 rommon> 提示符下,键入“ confreg 0x2142 ,路由器在下一次启动时
不加载 NVRAM 中的启动配置,如:
rommon> confreg 0x2142
3 )在 rommon> 提示符下,键入 reset 命令,路由器将重新启动,如:
rommon> reset
4 )路由器进入到启动配置对话过程,输入 n 并回车,跳过整个初始配置对
话过程,如: 5 )在 router> 模式下,输入 enable ,进入到特权模式,如:
router> enable
6 )在 router# 模式下,输入 copy startup running ,将启动配置复制到运行配
置;
router# copy startup running
7 )如果设置的密码是明文形式,这时通过 show running 就可以查看到,如:
router# show running
8 )或者进入到线路模式,直接修改线路登录密码,如:
router(config-line)# password xxxx
9 )在全局配置下,修改 enable password enable secret ,如:
router(config)# enable password xxxx
10 )在全局配置模式下,输入 config reg 0x2102 ,设置路由器下次按照正常
的方式启动,如:
router(config)# config 0x2102
11 )保存配置,如:
router(config)# copy running startup
3.6.2
CISC 处理器(完整指令集/富指令集)
1 )在路由器开机 60 秒内,按下 BREAK 键或其他键,进入 ROMMON 监控
模式;
2 )在 > 提示符下,输入 o 命令以记录当前配置寄存器的当前值,如:
> o
3 )在 > 提示符下,键入 o/r 0x2142 ,使路由器在下一次启动时不加载初始配
置,如:
> o/r 0x2142
4 )在 > 提示符下,键入 i ,重启路由器,如:
> i
5 )接下来的操作与 RISC 处理器路由器的操作一样,不做过多赘述。
3.7 注意事项
今天多数人都是使用便携机,便携机的键盘多数为 86 键,正常情况下,当
要输入 BREAK 时,需要按住 Fn+BREAK 。但是这在路由器启动时按这个组合
键很多时候是不奏效的!按 Fn+BREAK 不行!伤透了心。以下是我的真实经历。
在某个以服务业闻名的城市,我公司作为某运营商的合作方,机房的一台
CISCO 路由器需要改配置。当地同事打了报告,向运营商申请了操作时间,然
后打电话让我从另外一个城市赶来,准备某天晚上实施。本来想着没啥大事,
就只申请了一个人进机房,于是,孤独的我独自一个背着便携机进入机房,开
干。
打开电脑,插上串口线,密码,不知道!
问了很多人,一概不知,只好密码恢复。可是某想的便携机没有 Break 键!
只好让正在享受服务的同事送电脑过来。又对同事的电脑装 USb 转串口驱动,
装虚拟终端程序。
重启路由器, Ctrl + Break ,不行。再重启, Ctrl + Fn + Break ,还不行。键
盘坏了?可是我怎么验证这个键是不是好的呢?我知道 Windows 有一个快捷键
Windows + Break 打开系统属性,试了下,没有问题呀!错过了时间?不可能
呀!再重启,还是不行。
果断给已经回去继续享受服务的同事再打电话:“你带一个 USB 接口的全
键盘过来。”同事七窍生烟:“深更半夜的,往哪儿弄键盘去?你到底行不
行?”在我的苦口婆心和威逼利诱之下,全键盘还是送过来了。问题终于解决,
走出机房,天已大亮,卖早点的小贩陆续上街,而我真正解决问题做配置的时
间才十几分钟。到早点摊喝了两份白粥,背着两台电脑和一个全键盘,回同事
住处睡觉。
4 华为
华为设备除了提供 Console 登录,还提供多种网络登录方式,不管是什么登
录方式( SSH Telnet FTP Web )的密码忘记,都可以通过 Console 口登录 后来重置, Console 口的登录密码忘记也可以通过其它登录方式恢复,但是需
要登录的用户有足够的操作权限。
华为设备的 Console 口密码恢复比较简单,有比较友好的操作提示。最关键
的是在开机启动初始化时要及时中断,进入到 Boot Menu (启动菜单)。通过
Boot Menu 的提示就可以轻松搞定,而且不需要修改和恢复配置寄存器值。
4.1 准备工作
1 )连接设备的 Console 口;
2 )在设备开机时,根据提示按下 Ctrl + B 或“ Ctrl + E” ,只有 3 秒时间,
注意时机;
3 )输入 Boot Menu 密码,进入 Boot Menu 菜单;
4 )根据 Boot Menu 菜单提示操作即可。
4.2 进入 Boot Menu
以华为 S5720-36C-EI-AC (软件版本 S5720 V200R011C10SPC600 )为例进
行说明。是的,这是一台交换机,跟文章的标题不一样啊?不要在乎这些细节
啦,让我们开始吧!
一切准备就绪,加电,要时刻注意启动进程,随时准备按 Ctrl + B”
Ctrl + E” ,注意只有 3 时间。
BIOS LOADING ...
U-Boot 2012.10 (Sep 29 2017 - 19:40:33)
BOARDNAME: LS5D2T32C002
DDR type: DDR3
MEMC 0 DDR speed 533MHz
Press Ctrl+C to run Shmoo: skipped
Enabling DDR ECC reporting
Clear DDR: OK Enabling DDR ECC correction
DDR Tune Completed
Enabling DDR ECC reporting
Clear DDR: OK
Enabling DDR ECC correction
DRAM: 1.9 GB
NAND: (ONFI), 128 KB blocks, 2 KB pages, 16B OOB, 8bit width
NAND: chipsize 512 MB
PCIe port in RC mode
PCIe port 0 is not active
In: serial
Out: serial
Err: serial
Net: registering eth
Detected spi flash with page size 64 KB, total 4 MB
Boot from main : boot num[1]
Starting kernel ...
Get log address 0xf1e00028
Starting udev
Starting Bootlog daemon: bootlogd.
Populating dev cache
net.ipv4.ip_local_port_range = 5
Starting syslogd/klogd: done
Stopping Bootlog daemon: bootlog Wind River Linux 6.0.0.34 localhost console
localhost login: root (automatic login)
Jan 8 2019, 09:35:31
BootLoad version : 020b.0a05
Backup U-Boot ............................................................. done
ifconfig: SIOCSIFHWADDR: Device or resource busy
Press Ctrl+B or Ctrl+E to enter BootLoad menu: 3 2 1
Password:
// 最可能的缺省密码是 Admin@huawei.com
// 其次可能是 9300
// 再其次试下 superman
The default password is used now. Change the password.
BootLoad Menu
1. Boot with default mode
2. Enter serial submenu
3. Enter startup submenu
4. Enter ethernet submenu
5. Enter filesystem submenu
6. Enter password submenu
7. Clear password for console user
8. Reboot
(Press Ctrl+E to enter diag menu)
Enter your choice(1-8):
7 对各项 BootLoad Menu 解释如一下。
1. Boot with default mode
缺省模式启动。我只想进来看看各项菜单。
2. Enter serial submenu
进入串口子菜单。可用于密码恢复。用来通过串口的方式上传或下载文件,
修改串口波特率等参数,减少文件上传下载时长等。将配置文件 vrpcfg.zip”
下载到本地,打开归档包,修改配置文件中的密码验证相关配置,重新再打包
vrpcfg.zip” ,然后再上传,上传完成,重启设备。
有关串口下上传下载文件的操作,请查阅本书第 5 章《虚拟终端》。
3. Enter startup submenu
进入启动子菜单。这一项也可用于密码恢复。其理论基础是修改 Startup
使设备启动时不加载配置文件。
这样启动起来的设备业务配置会丢失,如果想恢复业务配置,需要把配置
文件 vrpcfg.zip” 下载下来,打开归档包,修改配置文件中的密码验证相关配
置,重新再打包为 vrpcfg.zip” ,然后再上传。上传完成,重启设备,加载修
改后的配置文件,业务恢复,密码恢复。
子菜单内容显示如下,根据提示操作即可。
Startup Configuration Submenu
1. Display startup configuration
2. Modify startup configuration
3. Return to main menu
Enter your choice(1-3): 2
Note: startup file field can not be cleared
'.'=clear field; 'Ctrl+D'=quit; Enter=use current configuration startup type(1: Flash)
current: 1
new :
Flash startup file (can not be cleared)
current: s5720ei-v200r011c10spc600.cc
new :
saved-configuration file
current: vrpcfg.zip
new :
patch package
current: s5720ei-v200r010sph008.pat
new : 4. Enter ethernet submenu
进入以太网子菜单。这一项也可用于密码恢复。可以通过子菜单进行文件
的下载和上传,上传下载的协议可以是 TFTP FTP ,交换机作为客户端,可
以设置以太网接口的地址、要上传或下载的文件的名称、文件传输的用户名和
密码等。
把配置文件 vrpcfg.zip” 下载下来,打开归档包,修改配置文件中的密码验
证相关配置,重新再打包为 vrpcfg.zip” ,然后再上传。上传完成,重启设备。
子菜单内容如下:
ETHERNET SUBMENU
1. Update BootROM system
2. Download file to Flash through ethernet interface
3. Upload Configuration file through ethernet interface
4. Modify ethernet interface boot parameter
5. Return to main menu
6. Enter password submenu
进入口令子菜单,用来设置 BootLoad Menu 的密码。
7. Clear password for console user
清除 Console 口用户的口令,可用于密码恢复。恢复密码最简单的方法。
8. Reboot
重启。
4.3 Default  B oot Menu Password
Boot Menu 也有一个进入密码,其缺省密码跟软件版本有关,最好能查阅官
方的技术文档。
下面列出四个最有可能的、缺省的 Boot Menu 密码,如果试完这四个仍然不
能进入,请查阅相关的技术文档,或联系厂家售后技术支持人员。
Admin@huawei.com 9300
supperman
[ ]
4.4 恢复 Boot Menu  密
Boot Menu 密码忘了怎么办?
进入系统重置即可。示例如下:
<HUAWEI> reset boot password
The password used to enter the boot menu by clicking Ctrl+B will be restored to the
default password, continue? [Y/N]y
Info: Succeeded in setting password of boot to " Admin@huawei.com ".
这里隐含了一个前提,就是你还能够进入系统。
4.5 极端情况
如果各种登录方式,系统进不去, Boot Menu 密码也忘记了,这病还能治
吗?
虽然癌症的治疗已经取得了很大进展,但是并不是所有癌症都能治。
如果是框式设备,主控板是可插拔的,拔下主控板,取出 CF 卡,但是这是
工业级 CF 卡,它的接口跟我们普通的 CF 卡接口不一样,也就是说,我们还得
有一个工业级 CF 卡的读卡器。
如果是盒式设备,主控板就相当于主板,而且往往没有 CF 卡,而用的
Flash ,返厂吧!有人能治。
4.6 一次意外
这是我一个兄弟的故事,也是一个悲惨的故事。话说,“常在江湖漂,哪
有不挨刀”,小心翼翼的,还是出了一次错误。这兄弟在远程配置 AAA 时执
行了这样一条命令:
[Huawei-aaa]local-user niuhai services-type ftp
而原来的 AAA 配置是这样的:
local-user niuhai password cipher %$%$4u=n(Ze~[;xdTw@kZSsKB8/&%$%$ local-user niuhai privilege level 3
local-user niuhai ftp-directory cfcard:/
local-user niuhai service-type telnet terminal ftp web http
这样一来,上面的最后一句就变成了
local-user niuhai service-type ftp
退出以后,再也登不上了,死活都登不上啊!我是说 Console 口的密码恢复
也不行啊!而且连 Boot Menu 都进不去!
煎熬的人生就这样开始了。为保证业务,无耐只好暂时放弃,但是从此以
后,生活索然了。
这是病,得治!
心病终须心药医,解铃还需系铃人。
数月之后,终于还是此兄,想出一妙招。既然只有 FTP 账号可用,就 FTP
上去,把配置文件下了,修改好后,再上传了,重启。终于又可以登进去
了。。。
问题终于解决,但是也暴露出了一个问题:
service-type 是覆盖,而不是添加 ,很容易导致错误。
从中得到的启发是,如果知道 FTP 登录的用户和密码,也可以对其它登录
方式的密码进行恢复,本质上都是下载配置文件,修改后再上传。但这只是一
个特例,很少有所有其它登录密码都丢了,还有一个 FTP 账号可用的情况
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Mathcad 是一种功能强大的数学软件,它可以让我们非常方便地进行数学计算和分析。学习使用Mathcad 对我来说是一种挑战,但同时也是一次非常有意义的经历。 首先,通过学习Mathcad,我深刻认识到数学公式和计算的重要性。在过去,我常常依赖计算器和纸笔进行数学计算,但这种方式往往效率不高,并且难以避免出错。而Mathcad 提供了一个直观且可视化的界面,让我们可以更加直观地理解和应用数学原理。 其次,学习Mathcad 也提高了我的数学建模和问题解决能力。在学习过程中,我发现Mathcad 的强大之处在于它能够将数学公式和实际问题相结合。通过输入不同的数学公式和数据,我可以揭示和解决一些实际世界中的问题,例如电路分析、力学运动、概率统计等,这为我提供了宝贵的数学建模实践经验。 此外,通过学习Mathcad,我也掌握了一种全新的数学表达方式。通过使用Mathcad的函数和符号库,我可以更加准确地表达数学概念和计算过程。这种表达方式简洁明了,易于理解和阅读,有助于提高我的数学思维能力和表达能力。 尽管学习Mathcad可能会遇到一些挑战,例如复杂的函数和符号操作,对于初学者来说不太友好,但通过不断实践和学习,我相信我可以克服这些问题,并不断进步。 总的来说,学习Mathcad 是一次充满挑战和收获的过程。它帮助我提高了数学知识和技能,提升了我的数学建模和问题解决能力。我相信在未来的学习和工作中,Mathcad 将成为我强大的数学工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值