3、常见默认密码类型:弱口令字典、空密码、硬编码密码与通用密码模式

大家好,我是老周。做物联网安全这些年,我拆解过的设备没有一千也有八百了。每次拿到新设备,第一件事就是看看它的默认密码是什么。说实话,翻来覆去就那么几类。今天我就把这四类最常见的默认密码类型掰开揉碎了讲清楚。

你想想看,为什么默认密码问题这么多年都根治不了?说白了,厂商图省事,用户图方便。但方便的背后,是巨大的安全隐患。

3.1 弱口令字典:最经典的“入门级”漏洞

弱口令字典,就是那些被反复使用的、极其简单的密码组合。我在做渗透测试时,第一个尝试的永远是这些。

核心特征:密码强度极低,通常由常见单词、数字序列或键盘顺序组成。

常见的弱口令有哪些?我列个表,你看看眼不眼熟:

类型 典型示例 出现频率(我统计的)
用户名+简单数字 admin/12345, root/123456 约35%
键盘顺序 qwerty, 12345678, asdfgh 约20%
重复数字 111111, 000000, 888888 约15%
常见单词 password, admin, guest 约20%
厂商名+版本号 tp-link/1234, dlink/admin 约10%

我记得有一次,帮一个智能工厂做安全评估。他们的工业网关,默认密码是 admin/12345。我说你们赶紧改,对方工程师说“用了三年了,没事”。结果呢?我用了不到30秒就登进去了。嗯,从那以后他们再也不敢用默认密码了。

我的建议:弱口令字典是攻击者的第一把钥匙。如果你在做设备固件分析,先跑一遍弱口令字典,往往能直接拿到最高权限。

3.2 空密码:最危险的“零成本”漏洞

空密码,就是没有密码。你没看错,很多物联网设备出厂时,密码字段是空的。用户第一次登录,直接敲回车就进去了。

为什么会这样?我分析过几个案例:

  • 开发偷懒:工程师调试时为了方便,把密码验证关了,忘了加回去。
  • 设计缺陷:某些低端芯片,存储密码的EEPROM空间不够,干脆不设密码。
  • “用户体验”借口:厂商觉得设密码麻烦用户,干脆留空。

警告:空密码设备一旦接入公网,平均存活时间不超过5分钟。我在蜜罐里捕获的数据显示,攻击者扫描到空密码设备后,平均3秒内就会尝试登录。

我曾经在某个智慧路灯项目里,发现一批控制器全是空密码。问厂商,对方说“为了方便维护”。我说你方便了,黑客也方便了。后来我们强制要求所有设备首次登录必须修改密码,才堵上这个窟窿。

3.3 硬编码密码:藏在代码里的“后门”

硬编码密码,就是写死在固件里的密码。这种密码最恶心人——你改不了,或者改了也没用。

硬编码密码通常出现在:

  • 调试接口:UART、JTAG、SSH的默认登录凭证。
  • 超级管理员账户:厂商留的后门,用于远程维护。
  • 固件更新机制:签名验证的密钥或密码。

我举个例子,某款家用路由器,固件里藏着这么一段:

// 调试模式密码,仅供内部使用
#define DEBUG_USER "root"
#define DEBUG_PASS "wrt54g_debug_2020"

// 远程维护账户
const char* backdoor_user = "service";
const char* backdoor_pass = "s3rv1c3@dmin";

你看,注释里写着“仅供内部使用”,但实际上一经反编译,所有人都能看到。我在分析某款IP摄像头固件时,就发现过类似的硬编码密码。攻击者拿到这个密码,可以直接远程控制摄像头,甚至横向渗透到内网其他设备。

关键点:硬编码密码无法通过用户侧修改。唯一的解决办法是厂商发布新固件,或者用户彻底更换设备。

3.4 通用密码模式:看似复杂,实则脆弱

通用密码模式,是指密码遵循某种固定规则,但具体值因设备而异。比如:

  • MAC地址后6位:密码是 admin + MAC后6位
  • 序列号倒序:密码是序列号的逆序
  • 固定前缀+随机数:密码是 P@ssw0rd_XXXX

这种模式看起来比弱口令强,但一旦规则泄露,所有设备都完蛋。我见过最离谱的一个案例:某厂商的智能门锁,密码规则是 设备ID的前4位 + 出厂日期。攻击者只要拿到一个设备ID,就能算出所有同批次门锁的密码。

你想想看,这跟没有密码有什么区别?

避坑指南:我曾经在评估某智能家居平台时,发现他们的设备密码生成算法是公开的——就在SDK文档里。我建议他们改用随机密码+首次强制修改的策略。记住,密码生成算法必须保密,且每个设备的密码必须独立随机。

3.5 四种密码类型的风险对比

为了让你看得更清楚,我把这四种类型放在一起对比:

类型 破解难度 影响范围 修复难度 典型场景
弱口令字典 极低 单设备 低(用户可改) 路由器、摄像头
空密码 零 单设备 低(用户可设) 工业控制器、开发板
硬编码密码 低(需逆向) 同型号所有设备 高(需固件更新) 嵌入式设备、IoT网关
通用密码模式 中(需知道规则) 同批次所有设备 中(需修改算法) 智能家居、门锁

从表中可以看出,硬编码密码和通用密码模式的危害最大——它们影响的是整个产品线,而不是单个设备。

3.6 知识体系:默认密码类型全景图

下面这张图,是我梳理的默认密码类型分类与风险传导关系。你可以把它当作本章的知识地图:

默认密码类型全景图 默认密码类型分类与风险传导 物联网设备默认密码 弱口令字典 空密码 硬编码密码 通用密码模式 风险特征:破解难度低 → 影响范围广 → 修复成本高(从左到右递增) 攻击路径 直接登录 获取控制权 横向渗透 僵尸网络 治理核心:强制修改默认密码 + 随机化密码生成 + 固件签名验证 图:默认密码类型分类与风险传导路径(从左到右风险递增)

这张图展示了四种密码类型的关系。从左到右,破解难度和影响范围都在增加。弱口令和空密码是“个体问题”,而硬编码密码和通用密码模式是“系统性漏洞”。

3.7 实战建议:如何应对这些默认密码

说了这么多问题,总得给点解决方案。我个人习惯的做法是:

  1. 设备选型阶段:要求厂商提供默认密码策略文档,拒绝空密码和硬编码密码的设备。
  2. 部署阶段:所有设备首次上线前,强制修改默认密码。可以用脚本批量处理。
  3. 运营阶段:定期扫描内网设备,检查是否有人改回了默认密码。我见过太多运维人员为了方便,改完又改回去的。
  4. 应急响应:如果发现硬编码密码漏洞,立即联系厂商获取补丁。在补丁发布前,通过防火墙限制受影响设备的访问。

再次强调:不要相信任何“出厂默认密码很安全”的说法。默认密码存在的唯一意义,就是让你在第一次登录时改掉它。

好了,这一章的内容就到这里。四种默认密码类型,每一种我都见过真实案例。记住,安全不是靠运气,而是靠每一个细节的坚持。