本文目录导读:

这是一份关于后台弱口令检测与发现的系统性指南,弱口令是后台系统最常见、危害最大的漏洞之一,检测方法分为主动扫描和被动收集两类,以下是具体操作步骤和工具。
核心准备:确定目标与字典
在开始检测前,你需要明确两件事:
- 目标登录接口:找到后台的登录页面(通常是
admin.php、login.aspx、manage/等路径)。 - 爆破字典:弱口令的成功率完全取决于字典质量,建议综合使用以下字典:
- 通用弱口令:
admin/123456、root/password、test/test123、admin/admin888。 - 默认密码组合:
admin/admin、tomcat/tomcat、apache/123456。 - Top 1000 常用密码:包含
password1、qwerty123、abc123。 - 系统特定默认密码:针对特定CMS(如WordPress、DedeCMS、Discuz!)的默认管理员密码。
- 自定义词典:根据目标公司名称、品牌、年份、常见拼音(如
zhangsan@2023)构建。
- 通用弱口令:
主动检测方法(渗透测试视角)
这是最直接、最常用的方法,通过工具模拟登录请求进行枚举。
使用 Burp Suite (最主流)
- 步骤:
- 拦截一次正常的登录请求。
- 将请求发送到
Intruder模块。 - 设定
Payload位置:通常针对username和password字段(或仅针对password,用户名固定为admin)。 - 加载弱口令字典。
- 观察响应包的长度、状态码或返回内容(如“密码错误” vs “用户名不存在”)。
- 进阶技巧:绕过验证码、登录频率限制(可能需要使用
X-Forwarded-For头或慢速爆破模式)。
使用 Hydra (命令行神器)
适用于快速对多个协议进行爆破。
-
示例:爆破HTTP表单登录
hydra -l admin -P /path/to/passwords.txt 192.168.1.100 http-post-form "/login:user=^USER^&pass=^PASS^:F=incorrect"
-l指定用户名,-P指定密码字典,F=incorrect表示如果返回内容包含“incorrect”则代表失败。 -
对SSH/RDP等非Web后台:
hydra -l root -P passwords.txt ssh://192.168.1.100
使用 Medusa (并行爆破)
类似Hydra,但多线程管理更稳定。
- 示例:
medusa -h 192.168.1.100 -u admin -P passwords.txt -M http -m DIR:/login.php -F
使用自动化扫描器 (如Nuclei + 弱口令模板)
- 步骤:使用Nuclei加载社区收集的弱口令扫描模板(
https://github.com/projectdiscovery/nuclei-templates)。nuclei -u https://target.com -t /path/to/weak-login-templates.yaml -v
- 优点:可自动化检测大量常见的CMS默认后台。
被动检测方法(信息收集视角)
有时候不需要主动爆破,通过情报收集就能发现已泄露的凭证。
查询泄露数据库
- Google Hacking:
site:tgpastebin.com "admin" "password"(搜索剪贴板历史)。"xxx公司后台" "admin" filetype:txt(搜索公开的配置文件)。
- 数据泄露平台:
IntelX、Snusbase、LeakCheck:搜索目标域名是否在历史泄露事件中出现过“admin:123456”之类的凭证。
- GitHub/GitLab:搜索
password.txt、config.php中是否包含后台密码硬编码。
检查默认凭证手册
- CIRT.net 默认密码列表:
https://cirt.net/passwords(涵盖路由器、CMS、交换机)。 - RouterPasswords:针对网络设备后台的默认密码。
- 本地CMS指纹识别:若后台是
Discuz!,通常默认管理员是admin,密码可能是admin。
尝试常见路径 / 未授权访问
- 尝试直接访问后台路径,如果系统未配置认证(如
phpMyAdmin无密码),则无需爆破。 - 尝试轻量级默认口令:如
admin/12345678、admin/password、root/root。
高级检测技巧(绕过限制)
如果基础爆破被拦截,尝试以下方法:
-
针对验证码:
- 机器学习识别:使用
Tesseract OCR或在线打码平台(如2Captcha)。 - 逻辑绕过:尝试发送空验证码、万能验证码(
000000)、或删除验证码参数。 - 复用验证码:抓包发现验证码Session未正确绑定,可重复使用同一个验证码。
- 机器学习识别:使用
-
针对频率限制:
- 慢速爆破:每秒只发1-2次请求,模拟人类操作。
- 分布式IP:使用
X-Forwarded-For、X-Real-IP头随机填充IP。 - 多线程 + 随机延迟:Burp Suite 的
Intruder设置Throttle(延迟3000ms)。
-
针对用户名枚举:
- 先用存在的弱口令字典测试是否存在用户枚举漏洞(返回“用户名错误” vs “密码错误”)。
- 如果存在,可先爆破用户名列表,再针对存在的用户爆破密码。
检测流程
graph TD
A[开始检测] --> B{目标后台地址?}
B -->|未知| C[搜索后台路径<br>(Google Hacking / 目录扫描)]
B -->|已知| D[开始测试]
C --> D
D --> E[抓取登录请求包]
E --> F{是否有验证码?}
F -->|否| G[使用 Hydra / Burp 直连爆破]
F -->|是| H[尝试绕过验证码<br>(OCR / 逻辑漏洞)]
H -->|成功| G
H -->|失败| I[手动尝试高频弱口令<br>(如 admin/123456)]
G --> J{发现弱口令?}
J -->|是| K[记录环境、用户、密码]
J -->|否| L[尝试默认密码 + 信息收集]
L --> M[结束]
⚠️ 重要的免责声明
请务必在法律允许的范围内进行测试:
- 授权原则:只对你拥有所有权或已获得书面授权的系统进行操作。
- 最小化原则:发现弱口令后,不要登录系统进行任何修改或破坏,应立刻告知管理人员。
- 企业内测:如果是企业内部安全评估,建议先从低风险字典开始,防止账户锁定(最好先沟通关闭账户锁定策略)。
检测弱口令的核心是强大的字典 + 绕过限制的能力 + 情报收集,最有效的方法是先通过信息收集找到已泄露的凭证或默认密码,再用自动化工具精确打击。