弱口令基础:什么是弱口令、弱口令的危害、常见弱口令列表、弱口令产生的原因

聊IoT安全,咱们得从最基础的地方开始。你想想看,一个智能设备,功能再强大,如果它的“门锁”形同虚设,那跟裸奔有什么区别?这个“门锁”,就是口令。

我个人习惯把弱口令比作“纸糊的防盗门”。看着有门,其实一推就倒。很多刚入行的朋友,一上来就研究什么缓冲区溢出、固件逆向,结果呢?最简单的弱口令都没防住。嗯,咱们今天就先把这块地基打牢。

什么是弱口令?

说白了,弱口令就是那些极易被他人猜测出来,或者能被计算机在极短时间内暴力破解的密码。

它不一定是长度短,而是可预测性高。比如你的生日、手机号、连续数字、或者直接用默认密码。我在项目中见过最离谱的,是一个工厂的PLC(可编程逻辑控制器)管理后台,密码是 12345678。问负责人为什么不改,他说:“改了我怕自己忘了。” —— 你看,这就是典型的人性弱点。

核心定义: 弱口令 = 低熵值 + 高可预测性。熵值越低,越容易被猜中。

弱口令的危害有多大?

危害?我直接给你讲个真实案例吧。几年前,某知名品牌的智能摄像头被爆出大规模“偷窥”事件。黑客是怎么进去的?不是破解了什么高级加密算法,而是直接拿默认密码 admin/admin 去扫公网IP。结果呢?几十万个摄像头被控制,用户的隐私画面被直播。

弱口令的危害,可以归纳为四个层面:

  • 设备失陷: 攻击者直接获得设备的最高控制权。你的摄像头、智能门锁、路由器,瞬间变成别人的“肉鸡”。
  • 横向渗透: 攻破一个弱口令设备后,攻击者会以此为跳板,攻击你内网里的其他设备。我曾经帮一个客户排查,发现他家的智能灯泡被控制,最后顺藤摸瓜,发现攻击者是从一个弱口令的智能插座进来的。
  • 数据泄露: 设备里的敏感数据(如视频流、位置信息、家庭WiFi密码)被窃取。
  • 僵尸网络: 大量弱口令设备被控制,组成僵尸网络,用来发动DDoS攻击。2016年著名的Mirai僵尸网络,就是靠扫描弱口令Telnet服务,感染了数十万台IoT设备。
避坑指南: 我曾经以为只有“小白”用户才会用弱口令。直到有一次渗透测试,发现某大厂内部测试环境的IoT网关,密码是 test123。记住:弱口令不分用户群体,只分安全意识。

常见弱口令列表

这些口令,我建议你背下来。因为你在做安全检测时,第一个要试的就是它们。我把它们分成了几类:

类别 典型示例 说明
默认出厂口令 admin/admin, root/root, admin/1234, user/user 厂商出厂设置,用户从未修改。这是IoT设备的重灾区。
连续/简单数字 123456, 12345678, 111111, 000000, 654321 键盘顺序或重复数字,暴力破解的“头号种子”。
常见单词/键盘模式 password, qwerty, zxcvbn, iloveyou, sunshine 基于字典攻击,这些词在常用密码字典里排前100。
个人信息相关 zhangsan123, 19900101, 13800138000 姓名+生日、手机号、门牌号。社工攻击的最爱。
厂商品牌名 tp-link, xiaomi, huawei, dahua123 用户偷懒,直接用品牌名或加个简单后缀。
我的习惯: 做弱口令检测时,我会先准备一个“Top 100”的字典。这个字典里,前10个是默认口令,中间是连续数字,后面是常见单词。很多时候,前10个就能命中目标。

弱口令产生的原因

为什么会有人用弱口令?是智商问题吗?不,是人性问题。我总结了三个核心原因:

  1. 图省事,记不住: 这是最普遍的原因。用户觉得“复杂密码记不住,万一忘了怎么办?” 尤其是IoT设备,不像手机电脑天天用,设置完可能一年都不碰一次。用户宁愿用简单的,也不愿承担“忘记密码”的风险。
  2. 安全意识薄弱: 很多用户觉得“我家摄像头就拍个猫,谁稀罕看?” 或者“我这个设备不值钱,黑客看不上。” 这种侥幸心理,恰恰是攻击者最喜欢的。你想想看,攻击者不是针对你个人,他是批量扫描,谁弱就搞谁。
  3. 厂商默认设置太“友好”: 很多IoT厂商为了用户体验,出厂默认密码极其简单,甚至不设密码。而且,厂商没有强制用户在首次使用时修改密码。我在测试某款智能插座时,发现它的App引导流程里,修改密码的选项藏在三级菜单里,用户根本找不到。

为了让你更直观地理解弱口令的产生与攻击路径,我画了一张图:

弱口令产生与攻击路径图 用户图省事 记不住复杂密码 安全意识薄弱 侥幸心理 厂商默认设置 不强制修改密码 产生弱口令 低熵值 + 高可预测性 攻击者扫描 暴力破解/字典攻击 设备失陷 数据泄露/僵尸网络 总结:弱口令的产生源于“人”和“厂商”的共同疏忽,而攻击者只需要一个自动化脚本就能利用它。

你看,从产生到被利用,路径非常清晰。攻击者不需要什么高深技术,一个脚本,一个字典,就能批量收割。