弱口令爆破
弱口令与命令爆破 — 大门的钥匙,往往插在门垫下面
信息收集我们已经聊了两节课了,收集得差不多了,接下来该干什么?当然是打进去。而最直接、最古老的攻击手段之一,就是弱口令爆破。今天我们来聊聊:什么算弱口令、怎么造一把好字典、Burp Suite 和 Hydra 怎么玩。
课程概览
1. 什么是弱口令?为什么存在? 2. 为什么要学弱口令爆破? 3. 字典构建:通用模式 vs 定制模式 4. 案例一:Burp Suite 基础爆破 5. 案例二:Burp Suite 绕过验证码爆破 6. 案例三:Hydra(九头蛇)多协议爆破 7. 作业:尝试爆破本地靶场附赠:Win11 小技巧
上课前先来个实用小技巧——把 Win11 的右键菜单改成 Win10 风格,不必每次点两下。
:: Win11 → Win10 右键菜单效果 reg add "HKEY_CURRENT_USER\SOFTWARE\CLASSES\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /ve /d "C:\Windows\system32\windows.storage.dll" /f taskkill /f /im explorer.exe & start explorer.exe :: 恢复 Win11 效果 reg delete "HKEY_CURRENT_USER\SOFTWARE\CLASSES\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}" /f taskkill /f /im explorer.exe & start explorer.exe一、什么是弱口令?
弱口令的概念
弱口令,就是那些容易被猜到、猜测成本极低的用户名和密码。
比如:
user / 123456 admin / 123456 admin / abcdef admin / 11111 root / 123 test / 321 ...等等弱口令产生的原因
弱口令的产生,究其根本只有两大类原因:
原因一:安全意识薄弱
密码设置者为了方便记忆,在不同平台使用简单或相同的密码。
举个例子:他叫张三,开通的账户就叫
zhangsan,密码呢?很可能就是123456。他在公司内网、邮箱、OA 系统上都用这个密码。一个密码泄露,全部沦陷。
原因二:默认密码未修改
很多管理平台、网络设备出厂自带默认密码,管理员买回来直接就上线了,根本没改过。
举个例子:小米盒子、机顶盒、华为路由器的默认密码在网上随便搜都能找到,如果管理员没改密码,就等于把钥匙挂在了门口。
什么样的密码才不算弱口令?
#(&^414@atdAts ebd@#$50dslillkd##@*&*像这种大小写字母 + 数字 + 特殊字符混在一起的无规律组合,靠字典爆破几乎不可能。但大多数用户就是不愿意设这种密码,这也是为什么弱口令攻击至今仍然奏效。
二、为什么非要学弱口令爆破?
无论是护网行动、CTF 比赛,还是 SRC 挖漏洞,你都会遇到登录页面。
比如这种:
http://127.0.0.1/wz/面对一个登录框,你怎么办?一个一个手动试密码?
admin/123456?不对admin/admin?不对admin/admin123?对了!
弱口令爆破就是让工具替你做这件事,用字典(密码本)自动、大批量地尝试所有可能的用户名和密码组合。你不用再手动敲,坐在那等结果就行。
三、走进弱口令案例实战
第一步:给爆破储备字典 — 好刀要用好钢
密码能否爆破成功,80% 取决于字典质量,20% 取决于电脑性能和运气。
为什么需要字典?
爆破的本质是暴力猜测。字典就是你需要猜测的候选列表。一个好的字典 = 通用词汇 + 定制信息。缺了哪一块,都可能错过正确答案。
通用模式 — 大众化,广撒网
通用模式就是根据人的通性生成的密码字典,覆盖场景广、获取方式简单、数量庞大。
说白了就是「试着猜猜看」,完全看运气。但很多人的密码确实就是这些常用词。
a. 常见密码字典
世界上有大量公开的常见密码集合:
| 资源 | 地址 |
|---|---|
| SecLists(经典密码合集) | https://github.com/danielmiessler/SecLists |
| 500 个最差密码 | https://github.com/danielmiessler/SecLists/blob/master/Passwords/500-worst-passwords.txt |
这 500 个最差密码涵盖了全球使用频率最高的弱口令,在大量系统中都有意想不到的成功率。
b. 默认密码字典
很多厂商的设备、CMS、中间件出厂时自带默认账号密码。收集这些默认凭据,就是一把万能钥匙。
| 资源 | 地址 |
|---|---|
| DefaultCreds 速查表 | https://github.com/hetianlab/DefaultCreds-cheat-sheet |
比如某些型号的路由器默认用户名
admin、密码admin;某些 CMS 后台默认admin/123456。而这些信息——网上随处可见。
定制模式 — 精准打击,针对性强
通用模式像撒网,定制模式像狙击。根据目标的个人信息、公司信息,生成专属字典。
定制字典 = 个人信息 + 公司信息
这跟前面学过的信息收集课程紧密相关。你收集到的邮箱、电话、QQ、生日、工号、公司名称……每一条都可以变成密码组合。
举个例子,假设目标叫 derry:
derry/derry0414 ← 姓名 + 生日 derry/derry1985 ← 姓名 + 出生年份 derry/derry1917488 ← 姓名 + 工号/学号 1830...@qq.com/derry1985 ← 邮箱 + 年份 1830...@qq.com/derry123456 ← 邮箱 + 常见密码如何收集信息给定制模式用?
方式一:自己收集
用学过的信息收集技巧:搜索引擎、FOFA、社交平台、GitHub……所有公开信息都可以作为素材。
方式二:社工库(仅作了解)
⚠️警告:不要自己搭建对外社工库,这是违法的!以下仅作学习参考。
- https://www.reg007.com/(可以查询自己的信息是否泄露,数据不全)
- 黑市上的社工库(违法,请勿触碰)
生成定制字典:weakpass
工具下载:https://github.com/zzzteph/weakpass
下载解压后,根据收集到的个人信息运行脚本,自动生成符合该目标特征的密码字典。
字典构建公式:
通用模式(常见密码 + 默认密码) + 定制模式(个人信息字典) = 一把合格的字典实战案例一:Burp Suite 基础爆破
靶场地址:360 在线靶场 https://zby.study.360.net/login
账号:
niko/Niko123@假设我们已知用户名是
admin,但不知道密码。
步骤 1:使用 Burp Suite 拦截请求
- 打开 Burp Suite,配置浏览器代理
- 在登录页输入任意密码,点击登录
- Burp 拦截到 HTTP 请求
步骤 2:把请求发送到 Intruder
在 Burp 中右键被拦截的请求 →Send to Intruder。
步骤 3:配置爆破参数
- 进入 Intruder →Positions标签
- Clear 掉所有自动标记,只在密码字段的值上添加
§标记 - 进入Payloads标签
- 在 Payload Options 中加载你的密码字典(比如 SecLists 中的
Passwords目录下的文件) - 点击Start Attack
- 观察返回包的长度差异——长度不同的那一条,很可能就是正确的密码!
实战案例二:Burp Suite 绕过验证码爆破
如果目标登录页有验证码怎么办?别急,Burp Suite 有插件可以识别验证码,绕过这道防线。
准备工作
- 启动验证码识别服务(一个本地 OCR 服务),启动后黑窗口不能关闭
- 确保 Python 版本 >= 3.6
- 配置 1:在 Burp Suite 中添加 Python 解析器(设置 Jython 或 Python 环境)
- 配置 2:在 Burp Suite 加载拓展插件
xiapao(验证码识别插件)
靶场地址
127.0.0.1/upload (海洋靶场)步骤详解
a. 配置 xiapao 插件
- 在 Burp Suite → Extender → Extensions → Add
- 加载 xiapao 插件
- 配置验证码识别服务的 URL 和端口
b. 配置 Payloads
- 由于有两个变量(密码 + 验证码),需要选择第三个攻击类型(Pitchfork 模式)
- 参数 1(
§密码§):加载密码字典 - 参数 2(
§验证码§):加载验证码识别结果(插件自动填充)
c. 配置资源池
- ⚠️ 关键:连接池的请求线程数必须设为1
- 因为验证码每次变化,必须按顺序逐个尝试
d. 攻击并获取结果
- 点击Start Attack
- 观察返回包,找到长度异常的那一条
- 提取密码,登录验证
翻车预警:每种网站的验证码接口配置可能不同,验证码的 URL、参数名需要自己抓包分析。遇到失败很正常,多尝试几次就好。
拓展阅读:Burp Suite Intruder 四种攻击类型详解
https://blog.csdn.net/2302_79596028/article/details/142989554
实战案例三:Hydra(九头蛇)— 多协议爆破神器
Hydra 是什么?
Hydra 是著名安全组织 THC 开发的一款开源暴力破解工具,是 Kali Linux 默认预装的组件之一。
名字叫「九头蛇」,名副其实:支持几乎所有主流协议的在线密码破解,而且速度快、可配置性强。
为什么学 Hydra?
Burp Suite 主要针对 HTTP 协议,而现实中你需要爆破的目标远不止 Web 登录:
- SSH 登录密码
- RDP 远程桌面密码
- MySQL 数据库密码
- FTP / SMTP / Telnet ……
Hydra 一个工具全部搞定。
Hydra 常用参数速查表
| 参数 | 说明 |
|---|---|
-l user | 指定单个用户名(小写 L) |
-L file | 指定用户名字典文件(大写 L) |
-p pass | 指定单个密码(小写 P,少用) |
-P file | 指定密码字典文件(大写 P) |
-e ns | n: 空密码试探, s: 用户名=密码试探 |
-M file | 指定目标 IP 列表文件,批量爆破 |
-o file | 结果输出到文件 |
-f | 找到第一对成功凭据后立即停止 |
-t N | 同时运行的线程数(默认 16) |
-w time | 设置最大超时时间(秒) |
-v / -V | 显示详细执行过程 |
-R | 从上次中断处恢复爆破 |
-x | 自定义密码生成规则 |
实战 1:爆破 SSH 登录密码
场景:Kali 本地 SSH 服务,用户名为kali,用密码字典爆破。
# 1. 确保 SSH 服务启动servicesshrestart# 2. 开始爆破hydra-lkali-Ppassword.txt-t3-ens127.0.0.1ssh参数解释:
-l kali:指定以kali用户身份尝试-P password.txt:使用password.txt作为密码字典-t 3:开 3 个线程并发-e ns:额外尝试空密码和用户名=密码的情况127.0.0.1 ssh:目标为本机 SSH 服务
实战 2:爆破 Windows RDP 远程桌面密码
场景:有一台 Windows 2003 虚拟机,你知道 IP 但忘了开机密码。
第一步:获取目标 IP
# 物理机查看 VMnet8 网卡 IPipconfig# VMnet8: 192.168.220.1# 虚拟机 Kali 查看 IPifconfig# 192.168.220.128# 用 nmap 扫描 VMnet8 网段中所有存活主机nmap192.168.220.1/24扫描结果分析:
192.168.220.1 # 物理机 VMnet8(排除) 192.168.220.2 # 可能是广播地址(排除) 192.168.220.128 # Kali(排除) 192.168.220.131 # ← 一个接一个试出来的,这就是 Windows 2003! 192.168.220.254 # 可能也是广播地址(排除)第二步:开始爆破
hydra-lAdministrator-Ppassword.txt-t3-ens192.168.220.131 rdp注意:Windows 默认管理员账户是
Administrator,此处用-l(小写 L)而非-L(大写)。
实战 3:爆破 MySQL 数据库密码
前置步骤:确保 MySQL 服务启动并设置好 root 密码。
# 1. 启动 MySQLservicemysqld restart# 2. 初始登录 MySQL(空密码)mysql-uroot# 3. 设置 root 密码ALTERUSER'root'@'localhost'IDENTIFIED BY'123456';exit开始爆破:
hydra-lroot-Ppassword.txt-t3-ens localhost mysql实战 4:爆破 HTTP 表单登录
场景:目标网站192.168.220.1/wz/login.php
首先要确认请求方式是 GET 还是 POST。查看网页源代码或用 Burp 抓包即可得知。
GET 方式的爆破命令:
hydra-t3-ladmin-Ppassword.txt-s80192.168.220.1 http-get-form\"/wz/login.php:user=^USER^&pass=^PASS^:用户名或密码错误"参数解释:
| 参数段 | 含义 |
|---|---|
-t 3 | 使用 3 个线程 |
-l admin | 指定用户名为admin |
-P password.txt | 指定密码字典 |
-s 80 | 目标端口为 80 |
http-get-form | HTTP GET 表单方式 |
/wz/login.php | 登录接口路径 |
user=^USER^&pass=^PASS^ | 表单参数名和 Hydra 变量占位符 |
用户名或密码错误 | 登录失败时页面返回的关键词 |
Hydra 就是通过判断返回的 HTTP 响应中是否包含这段关键词,来区分成功和失败。
扩展:ZIP 压缩包爆破(了解即可)
如果你下载了一个带密码的 ZIP 文件(比如某漏洞库的压缩包),也可以用类似思路爆破密码。Hydra 对 ZIP 的支持有限,实际场景中更常用专门的 ZIP 破解工具。
四、课后作业
使用 Burp Suite 或 Hydra,爆破出 wz 网站的登录密码,成功登录后截图上传到作业平台。
作业提示:
- 先确定目标网站的登录接口和请求方式(GET/POST)
- 准备字典(通用 + 定制)
- 选择合适工具(Burp Suite 适合 Web,Hydra 适合多协议)
- 爆破成功后截图保存
总结
| 对比维度 | Burp Suite | Hydra |
|---|---|---|
| 适用场景 | Web 表单登录 | 多协议(SSH/RDP/MySQL/FTP…) |
| 学习曲线 | 中等 | 简单 |
| 验证码支持 | ✅(插件) | ❌ |
| 批量爆破 | 一般 | 优秀 |
| 速度 | 一般 | 快 |
一句话建议:Web 登录用 Burp Suite,服务器 / 数据库 / 远程桌面用 Hydra。两者结合,天下我有。
下篇预告:密码已经拿到了,接下来要干什么?提权、内网横向移动、持久化后门……敬请期待下一篇!
