iwebsec靶场的数据库漏洞第一项内容为MySQL弱口令漏洞渗透,如下所示我们可以使用kali的msf模块对其进行渗透。
由于iwebsec靶场是通过docker搭建在ubuntu这个宿主虚拟机中
接下来在机器在ubuntu64位这台虚拟机里使用netstat查看发现3306端口并未开发现开启
netstat -ano|grep 3306
很明显造成这种问题的原因是docker搭建的iwebsec靶场启动的MySQL服务器的端口在ubuntu宿主虚拟机中映射的端口号并不是3306。这时就要求docker容器要将MySQL服务的端口映射到宿主机ubuntu64宿主机才可以。实现这一功能需要在启动容器时,配置宿主机器与docker容器的端口映射,否则外部程序是无法访问docker容器的这个MySQL服务,因为没有端口。
可以通过docker ps来查看ubuntu虚拟机里docker搭建容器中的MySQL数据库服务映射的端口号
docker ps
如下所示0.0.0.0:13307->3306/tcp这个关系代表宿主机的13307端口到iwebsec容器的3306端口,即将iwebsec容器靶场的MySQL服务端口3306映射为其宿主机(即ubuntu64虚拟机)的13307端口。
也就是说当kali攻击iwebsec靶场的MySQL服务时,需要访问的ip为ubuntu64虚拟机的ip地址192.168.71.131,而端口号则是iwebsec靶场3306映射到主机的13307端口。
已知iwebsec中数据库密码为iwebsec,用户名是root。
接下来构造字典,即字典中需要增加真实密码iwebsec,在桌面上创建一个文件明文pass作为密码字典文件,这里字典中增加了iwebsec,如下所示
msfconsole
use auxiliary/scanner/mysql/mysql_login
这里要特别强调几个需要配置的参数,
(1)RHOSTS
配置远程MySQL服务器的ip地址,这里应该是iwebsec的靶场ip地址192.168.71.131
(2)RPORT 端口号
配置MySQL开启的端口号,默认是3306;如果不是3306端口的时候需要配置,很明显iwebsec靶场中的3306端口映射为了虚拟机的13307端口,故而此处应该进行设置
(3)USERNAME
配置MySQL的用户名,默认为root;这里当登录用户发生变换不是root时, 需要配置
(4)PASS_FILE
配置指定爆破的密码字典文件的路径,以本次试验为例,需要配置为/home/kali/Desktop/pass
- msfconsole
- use auxiliary/scanner/mysql/mysql_login
- set RHOSTS 192.168.71.131
- ipset RPORT 13307
- set PASS_FILE /home/kali/Desktop/pass
- run
运行结果如下所示,成功通过暴力破解渗透获取到用户名root和密码iwebsec