一、思科密码体系概述
大家好,我是老周。在思科安全这个行当摸爬滚打十几年,我见过太多因为密码配置不当导致设备被“脱裤”的案例。今天咱们聊聊思科设备的密码体系——说白了,就是搞清楚密码存在哪、怎么存的、以及怎么保护。
你想想看,一台核心路由器如果密码被破解,整个网络就像没锁门的保险柜。所以理解密码存储机制,是逆向分析和安全加固的第一步。
1.1 密码类型(Type 0/4/5/7/8/9)
思科设备支持多种密码类型,每种类型对应不同的加密强度。我习惯把它们分成三类:明文、弱加密、强加密。
| Type | 加密方式 | 强度 | 常见用途 |
|---|---|---|---|
| 0 | 明文(不加密) | 无 | 早期配置、测试环境 |
| 7 | Vigenère 变种(弱加密) | 低 | enable secret、line password |
| 5 | MD5 哈希 | 中 | enable secret(旧设备) |
| 8 | PBKDF2-SHA256 | 高 | enable secret(新设备) |
| 9 | Scrypt | 极高 | enable secret(最新设备) |
| 4 | SHA256(已废弃) | 中 | 早期 SHA256 实现 |
重点提醒:Type 7 密码虽然看起来是密文,但网上有大量在线解密工具。我在一次渗透测试中,用 3 秒就解开了某厂商的 Type 7 密码——嗯,那台设备直接沦陷。
1.2 密码存储位置
密码到底存在哪?这是很多新手搞混的地方。我简单梳理一下:
- NVRAM(非易失性随机存取存储器):存储 startup-config,设备重启后保留。密码以加密形式存在这里。
- Flash(闪存):存储 IOS 镜像和配置文件备份。有时候密码会出现在备份的 config 文件里。
- Running-Config(运行配置):当前生效的配置,存在 RAM 中。重启后丢失,但可以通过
copy running-config startup-config保存到 NVRAM。
我个人习惯在取证时先抓 running-config,因为很多管理员会临时修改密码但忘记保存——这往往能抓到“热乎”的明文密码。
实战技巧:我曾经在审计某银行网络时,发现管理员在 running-config 里临时配置了 Type 0 密码用于测试,结果忘了改回来。嗯,这种低级错误其实很常见。
1.3 密码保护机制概览
思科提供了几层保护机制,但说实话,很多默认配置并不安全。咱们从外到内看:
- 加密服务(service password-encryption):开启后,所有明文密码会被转为 Type 7。但 Type 7 可被轻易破解,所以这只是“防君子不防小人”。
- enable secret:使用 Type 5/8/9 哈希算法,比 enable password 安全得多。我建议所有设备都用 enable secret。
- SSH 替代 Telnet:Telnet 传输密码是明文的,抓包就能看到。SSH 会加密整个会话。
- AAA(认证、授权、审计):使用 RADIUS 或 TACACS+ 服务器集中管理密码,本地不存储敏感信息。
避坑指南:我曾经遇到一个客户,他们开启了 service password-encryption,就以为万事大吉。结果我用 Cain & Abel 几秒钟就解开了 Type 7 密码。记住:Type 7 不是真正的加密,只是混淆。
1.4 知识体系结构图
下面这张图是我自己画的,把思科密码体系的核心逻辑串起来了。你一看就明白:
1.5 实战中的密码识别
在逆向分析时,你拿到一个配置文件,怎么快速判断密码类型?我教你一个土办法:
- 看到
password 0后面跟明文——Type 0,直接复制粘贴就能用。 - 看到
password 7后面跟一串字母数字——Type 7,用在线工具或 Python 脚本秒解。 - 看到
enable secret 5后面跟 32 位十六进制——Type 5,MD5 哈希,需要跑字典或彩虹表。 - 看到
enable secret 8或9后面跟长字符串——Type 8/9,PBKDF2 或 Scrypt,破解成本很高。
个人经验:我在一次红队演练中,从一台老式 2960 交换机里翻出 Type 7 密码,解密后是 "cisco123"。嗯,这种密码在真实网络里出现的概率比你想象的高得多。
1.6 小结
思科密码体系说白了就三件事:用什么算法存、存在哪里、怎么保护。Type 0 和 Type 7 基本等于裸奔,Type 5 勉强能用,Type 8/9 才是正经的强哈希。存储位置决定了你能不能拿到密码文件,保护机制决定了拿到后能不能破解。
下一章咱们会深入 Type 7 的加密算法,手把手教你写一个解密脚本。到时候你就知道,为什么我说 Type 7 是“纸糊的锁”了。