前端开发入门到精通的在线学习网站

网站首页 > 资源文章 正文

思科网络设备居然会用这种低级的加密算法,真是可笑

qiguaw 2024-11-27 19:21:50 资源文章 17 ℃ 0 评论

这篇文章主要介绍CISCO IOS设备保存密码的算法,以及这些算法的安全性评估,顺便取笑一下CISCO公司的,并希望国内硬件厂商以此为鉴,不要犯这种幼稚的错误:)


思科IOS设备的Password Types

1)Type 0

使用Type 0时密码在配置文件中以明文保存:

R1(config)#enable password 0 P@ssw0rd       
R1(config)#do sh run | in enable
enable password P@ssw0rd
R1(config)#



2)Type 4

为了取代Type 5而引进的所谓更安全的算法,使用SHA256保存密码,在IOS 15.3的某些小版本中引入,但很快因为安全问题在IOS 15.3(3)以后的版本中被弃用。

R3(config)#enable secret ?
  0      Specifies an UNENCRYPTED password will follow
  4      Specifies an SHA256 ENCRYPTED secret will follow
  5      Specifies an MD5 ENCRYPTED secret will follow
  LINE   The UNENCRYPTED (cleartext) 'enable' secret
  level  Set exec level password

R3(config)#enable secret P@ssw0rd
R3(config)#do sh run | in enable
enable secret 4 g1rTD89b38NIXbGJse.zLc7Cega1TBTlKQNvYDh9Qo6
R3(config)#
R1(config)#username admin1 password P@ssw0rd
R1(config)#username admin2 secret P@ssw0rd  
R1(config)#do sh run | in admin
username admin1 password 7 06362F325F59590B01
username admin2 secret 5 $1$uAaD$kPcplD0CkE4Lq84Nyv.6S/
R1(config)#

3)Type 5

虽然序号比Type 4大,但却比Type 4更早被支持,使用MD5+salt方式保存密码:

R1(config)#enable secret P@ssw0rd
R1(config)#do sh run | in enable
enable secret 5 $1$L3eG$R9fG7cftZ1P25inSfW9X71
R1(config)#

4)Type 7

但添加“service password-encryption”配置命令时,明文密码用Type 7方式保存:

R1(config)#no service password-encryption  
R1(config)#enable password P@ssw0rd
R1(config)#do sh run | in enable
enable password P@ssw0rd
R1(config)#
R1(config)#service password-encryption    
R1(config)#do sh run | in enable
enable password 7 142732181F137A3920
R1(config)#

5)Type 8

因为Type 4被弃用而在IOS 15.3(3)以后的版本中引入,使用PBKDF2-SHA-256算法:

R2(config)#username admin algorithm-type sha256 secret P@ssw0rd
R2(config)#do sh run | in username
username admin secret 8 $8$fvxkWqHZFurQtU$EPDETG2/2ZpbKv3Xr6ms/gAPlRJtILhQYCDIuzsHV1w
R2(config)#

6)Type 9

同样因为Type 4被弃用而在IOS 15.3(3)以后的版本中引入,使用scrypt方式加密:

R2(config)#username admin algorithm-type scrypt secret P@ssw0rd
R2(config)#do sh run | in username                             
username admin secret 9 $9$gA0NRUkk3jxqTU$0BTqvNSVI9I79pfIdTiqwraCxebMtxLJBItVfDsFO8Q
R2(config)#

各种Password Types的抗暴能力对比

Type 0:明文存储密码,完全没有安全性可言。

Type 7:号称对密码加密了(使用service password-encryption命令),实际上只是对明文密码简单地做了编码,安全性没有任何提高:

Type 5:在很长的一段时间内是CISCO IOS设备当家的加密算法,因为加了盐,算法相对安全,使用GTX 1080显卡每秒钟可以尝试1075万次密码:

Type 4:号称比Type 5安全多了,以为是个王者,结果是个青铜,因为没有使用加盐算法直接被GTX 1080显卡完爆,每秒钟可尝试34亿次密码,抗暴能力比Type 5至少差3个数量级:

Type 8:吸取了Type 4的教训,不但加了盐,Iteration直接涨到19999次,即使用SHA256算法加盐反复哈希运算19999次(Type 4只算一次),GTX 1080显卡一秒钟只能尝试6万多次密码:

Type 9:同样是CISCO在放弃Type 4算法后引入的新算法,使用scrypt加密,安全性比Type 8更高:一秒钟只能尝试2.3万次密码:

根据以上的测试,这几种存储密码方式安全性低到高为:Type 0 < Type 7 < Type 4 < Type 5 < Type 8 < Type 9

关于密码保存,CISCO都犯了哪些错误?

1)首先是明文保存密码的问题,实在是搞不明白为什么非得支持明文密码,而且还提供“service password-encryption”这个脱裤子放屁的命令,误导了许多小白网络管理员。


2)第二是使用安全性非常低的Type 4算法,号称比Type 5安全性高,最后却导致刚推出的IOS版本被EOL(End Of Life),把自己脸打成猪脸了。从程序员到产品经理,再到架构师居然没有一个人发现这个算法的漏洞,可见这一干人等安全意识之低,真是可笑!

所以,以下就是我想说的:

  • 思科的IOS设备应使用secret密码,并尽量使用最强壮的算法。
  • 网络设备的配置文件一定要保存好,密码被破解并不是什么难事。
  • 程序员不要对加密算法的使用过分自信,是青铜是王者溜一溜就知道了。

#思科#

#小白入行网络安全#

#网络安全#

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表