锐捷客户端密码分析

                                     锐捷客户端密码分析

代码下载地址:http://download.csdn.net/detail/zerolusta/4072516

  前几天下午一个计科的哥们在校内说,锐捷上网密码忘了要去工学部网络中心找回来。
天正大雨赶过去麻烦,但还没来得及跟他说就已经过去了。我想起了大一的时候用某些星号
密码查看工具是能够从内存获取到锐捷登陆框中的密码明文的,前提是你的正确密码被锐捷
保存在电脑中。


  武大校园网安装锐捷上网认证客户端的机器还是很多的,只有文理学部一些地方是用的
神州数码。但忘记密码自然是比较麻烦的,虽然可以用校园卡重置,但不如直接找回原来的
密码(口令,准确地说)方便。所以针对锐捷客户端的账号口令在本地的存储和加密算法稍
微做了点分析,总结了几种找回密码的方法(仅限于正确的密码仍通过锐捷保存在机器中的
情况)。


  菜鸟有菜鸟的方法,高手有高手的方法,对于我这种介于二者之间的伪技术流,也有折
衷的办法。测试环境为Windows XP sp3,锐捷版本为3.63。我事先将自己的锐捷登陆密码设
置成了testpassword。


  (事先声明,这里讲到的所有方法与后面提供下载的小软件都只是为了简单的技术探讨
只用,别拿去做坏事,谁做了坏事与我无关......)


  首先最简单的就是使用网上到处可见的所谓查看星号密码的工具,那天下午从荒芜已久
G盘里找出了一个星号密码查看器,然后发现3秒钟就可搞定。


这里将查看器上的放大镜图标按住拖到密码框上,即可在查看器中的结果中看到密码明文。


  如果只是说说这样的小软件怎么用,那也太不能证明自己不是菜鸟了。关键在于这类主
流星号密码查看工具的原理。


  我们知道,一般用于填写文本和字串的框都属于windows所提供的编辑框这一Common
Control,以MFC框架为例,MFC中所提供的编辑框由CEdit类所描述,它有一个属性表示编
辑框中是不是password,选中了该属性,编辑框在显示的时候就会将当中的字符用星号"*"
代替,从而实现隐藏口令明文的目的。但是这样一个机制的安全性是很差的,因为windows
提供了太多的接口和数据结构可以间接获取到其中的真实内容。这里所使用的方法,核心的
核心就是可以通过控件句柄,向控件发送一个WM_GETTEXT或者EM_GETLINE消息,从而可
将返回的字符串存入预置的缓冲区中。这样一个漏洞的危害是比较大的,关于如何编制安全
的编辑框控件,网上有不少人发过文章,有兴趣的朋友可以参看链接:

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
可以使用 SecureCRT 的脚本功能来批量修改锐捷交换机密码,具体步骤如下: 1. 在 SecureCRT 中打开一个锐捷交换机的 SSH 会话。 2. 点击 SecureCRT 菜单栏中的 Script -> New Script,创建一个新的脚本。 3. 在脚本编辑器中输入以下代码: ``` # $language = "python" # $interface = "1.0" # 修改密码命令 password_command = "system-view\nuser-interface vty 0 4\nauthentication-mode password\nset authentication password <new_password>" # 登录交换机 def login(crt): crt.Screen.Send("<username>\n") crt.Screen.Send("<old_password>\n") # 修改密码 def change_password(crt, new_password): crt.Screen.Send(password_command.replace("<new_password>", new_password)) crt.Screen.Send("\n") # 批量修改密码函数 def batch_change_password(): # 打开密码文件 with open("passwords.txt") as f: # 逐行读取密码 for line in f: # 分割用户名和密码 username, old_password, new_password = line.strip().split(",") # 登录交换机 login(crt) # 修改密码 change_password(crt, new_password) # 调用批量修改密码函数 batch_change_password() ``` 4. 将 `<username>` 和 `<old_password>` 替换为实际的用户名和旧密码。 5. 将 `<new_password>` 替换为要设置的新密码。 6. 将所有交换机的用户名、旧密码和新密码按照以下格式写入 `passwords.txt` 文件中: ``` <username>,<old_password>,<new_password> ``` 7. 在 SecureCRT 中运行该脚本,即可自动批量修改所有交换机的密码

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值