弱口令爆破

弱口令爆破

弱口令与命令爆破 — 大门的钥匙,往往插在门垫下面

信息收集我们已经聊了两节课了,收集得差不多了,接下来该干什么?当然是打进去。而最直接、最古老的攻击手段之一,就是弱口令爆破。今天我们来聊聊:什么算弱口令、怎么造一把好字典、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 拦截请求
  1. 打开 Burp Suite,配置浏览器代理
  2. 在登录页输入任意密码,点击登录
  3. Burp 拦截到 HTTP 请求
步骤 2:把请求发送到 Intruder

在 Burp 中右键被拦截的请求 →Send to Intruder

步骤 3:配置爆破参数
  1. 进入 Intruder →Positions标签
  2. Clear 掉所有自动标记,只在密码字段的值上添加§标记
  3. 进入Payloads标签
  4. 在 Payload Options 中加载你的密码字典(比如 SecLists 中的Passwords目录下的文件)
  5. 点击Start Attack
  6. 观察返回包的长度差异——长度不同的那一条,很可能就是正确的密码!

实战案例二:Burp Suite 绕过验证码爆破

如果目标登录页有验证码怎么办?别急,Burp Suite 有插件可以识别验证码,绕过这道防线。

准备工作
  1. 启动验证码识别服务(一个本地 OCR 服务),启动后黑窗口不能关闭
  2. 确保 Python 版本 >= 3.6
  3. 配置 1:在 Burp Suite 中添加 Python 解析器(设置 Jython 或 Python 环境)
  4. 配置 2:在 Burp Suite 加载拓展插件xiapao(验证码识别插件)
靶场地址
127.0.0.1/upload (海洋靶场)
步骤详解

a. 配置 xiapao 插件

  1. 在 Burp Suite → Extender → Extensions → Add
  2. 加载 xiapao 插件
  3. 配置验证码识别服务的 URL 和端口

b. 配置 Payloads

  • 由于有两个变量(密码 + 验证码),需要选择第三个攻击类型(Pitchfork 模式)
  • 参数 1(§密码§):加载密码字典
  • 参数 2(§验证码§):加载验证码识别结果(插件自动填充)

c. 配置资源池

  • ⚠️ 关键:连接池的请求线程数必须设为1
  • 因为验证码每次变化,必须按顺序逐个尝试

d. 攻击并获取结果

  1. 点击Start Attack
  2. 观察返回包,找到长度异常的那一条
  3. 提取密码,登录验证

翻车预警:每种网站的验证码接口配置可能不同,验证码的 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 nsn: 空密码试探, 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-formHTTP GET 表单方式
/wz/login.php登录接口路径
user=^USER^&pass=^PASS^表单参数名和 Hydra 变量占位符
用户名或密码错误登录失败时页面返回的关键词

Hydra 就是通过判断返回的 HTTP 响应中是否包含这段关键词,来区分成功和失败。


扩展:ZIP 压缩包爆破(了解即可)

如果你下载了一个带密码的 ZIP 文件(比如某漏洞库的压缩包),也可以用类似思路爆破密码。Hydra 对 ZIP 的支持有限,实际场景中更常用专门的 ZIP 破解工具。


四、课后作业

使用 Burp Suite 或 Hydra,爆破出 wz 网站的登录密码,成功登录后截图上传到作业平台。

作业提示:

  1. 先确定目标网站的登录接口和请求方式(GET/POST)
  2. 准备字典(通用 + 定制)
  3. 选择合适工具(Burp Suite 适合 Web,Hydra 适合多协议)
  4. 爆破成功后截图保存

总结

对比维度Burp SuiteHydra
适用场景Web 表单登录多协议(SSH/RDP/MySQL/FTP…)
学习曲线中等简单
验证码支持✅(插件)
批量爆破一般优秀
速度一般

一句话建议:Web 登录用 Burp Suite,服务器 / 数据库 / 远程桌面用 Hydra。两者结合,天下我有。

下篇预告:密码已经拿到了,接下来要干什么?提权、内网横向移动、持久化后门……敬请期待下一篇!