





























---
分析结论:root 密码机制
一、root 系统密码(SSH/telnet)
密码哈希(来自 squashfs-root/etc/passwd):
root:$1$S/VXeAD2$92QIat7YAoMVyxGDRuUQC0:0:0:root:/root:/bin/ash
- 算法:MD5crypt($1$)
- salt:S/VXeAD2
- 哈希:92QIat7YAoMVyxGDRuUQC0
生成规则:无动态生成,系为静态硬编码
关键逻辑在 etc/init.d/dropbear:
setDefaultPasswd() {
cp /rom/etc/passwd /etc/passwd # 每次启动都从 ROM 还原
}
每次 dropbear 启动,无论 SSH 是否开启,都会把 ROM 里的静态 /etc/passwd
覆盖回运行时目录,所以哈希永远与固件一致,不依赖 MAC、序列号或任何设备信息。
脚本中还有未被调用的动态密码生成路径:
getNewPasswd() {
local key_code=`/usr/sbin/dbg_passwd_gen` # 引用外部二进制
...
}
但 dbg_passwd_gen 在固件中不存在(提取目录内无此文件),setNewPasswd() 是死代码,当前固件未使用。
SSH 默认关闭(uc.conf 第816行确认:dropbear default ssh_port_switch,默认值为 0)。
---
二、Web 管理密码
websys.lua 中发现:
- 密码以明文存储于 UCI 配置 webpasswd/security(username + password 字段)
- encrypt_passwd 函数提供 XOR 混淆(密钥
RDpbLfCPsJZ7fiv,该字符串已出现在你的自定义字典中),用于传输混淆,不是存储哈希
---
三、结论与建议
┌─────────────────────────┬──────────────────────────────────────────────────────────────────────┐
│ 项目 │ 结论 │
├─────────────────────────┼──────────────────────────────────────────────────────────────────────┤
│ root 密码生成规则 │ 不存在动态生成,是固件编译时固定的静态哈希,全型号同固件版本完全相同 │
├─────────────────────────┼──────────────────────────────────────────────────────────────────────┤
│ 依赖设备信息(MAC/SN) │ 否 │
├─────────────────────────┼──────────────────────────────────────────────────────────────────────┤
│ dbg_passwd_gen 动态生成 │ 脚本有逻辑,但该二进制在固件中缺失 │
├─────────────────────────┼──────────────────────────────────────────────────────────────────────┤
│ Web 密码存储方式 │ UCI 明文存储 │
└─────────────────────────┴──────────────────────────────────────────────────────────────────────┘
由于哈希是静态的($1$S/VXeAD2$92QIat7YAoMVyxGDRuUQC0),你的 hashcat.pot
当前为空说明已有字典未命中。未找到生成规则,按你的要求如实汇报,不进行暴力破解。 若要继续,可考虑从 TP-Link
官方技术资料或更早版本固件对比,寻找已知明文。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。