利用Metasploit来攻击Mysql

来源:互联网 发布:连云港市网络司法拍卖 编辑:程序博客网 时间:2024/04/25 14:03

MySQL是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。Mysql是中小型网站的首选数据库

0x01.判断Mysql数据库版本

nmap的指纹识别可以精确的判断数据库的版本号,而metasploit提供的模块的特点就是能够判断数据库是否允许外链
msf > use auxiliary/scanner/mysql/mysql_version
msf auxiliary(mysql_version) > set RHOSTS 10.211.55.10
1
如果允许外链则可以显示版本号
1

0x02.如果数据库允许外链,则能暴力破解密码

这个模块没有默认字典,新建了一个简单的passs.txt
msf > use auxiliary/scanner/mysql/mysql_login
1
如果破解成功
4

0x03.枚举数据库信息

msf > use auxiliary/admin/mysql/mysql_enum
1
枚举的信息包括mysql版本号,操作系统架构,路径和密码hash等一些信息
2

0x04.导出密码hash

这个函数可以导出在当前登陆用户权限下可以查看账户的密码hash,多少有点鸡肋
msf > use auxiliary/scanner/mysql/mysql_hashdump
1
2
然后破解
3

0x05.Mysql认证漏洞利用

这个模块利用的是CVE-2012-2122,在一次测试网易的过程中发现一枚,提交给NSRC了。

mysql任意用户密码概率登陆漏洞,按照公告说法大约256次就能够蒙对一次、All MariaDB and MySQL versions up to 5.1.61, 5.2.11, 5.3.5, 5.5.22 are vulnerable.

             CVE ID: CVE-2012-2122

MariaDB是为MySQL提供偶然替代功能的数据库服务器。MySQL是开源数据库。

MariaDB 5.1.62, 5.2.12、5.3.6、5.5.23之前版本和MySQL 5.1.63、5.5.24、5.6.6之前版本在用户验证的处理上存在安全漏洞,可能导致攻击者无需知道正确口令就能登录到MySQL服务器。

用户连接到MariaDB/MySQL后,应用会计算和比较令牌值,由于错误的转换,即使memcmp()返回非零值,也可能出现错误的比较,造成MySQL/MariaDB误认为密码是正确的,因为协议使用的是随机字符串,该Bug发生的几率为1/256。MySQL的版本是否受影响取决于程序的编译方式,很多版本(包括官方提供的二进制文件)并不受此漏洞的影响。

也就是说只要知道用户名,不断尝试就能够直接登入SQL数据库。按照公告说法大约256次就能够蒙对一次。

1

0x06.UDF提权

Metasploit提供的exploit适应于5.5.9以下,我这边的mysql版本号为5.5.20,已经超出了版本限制,提权一直不成功,
2

0x07.利用Mof提权

这个模块的好处是通过用户名和密码可以直接返回一个meterpreter会话
msf > use exploit/windows/mysql/mysql_mof
1

2

 

0 0
原创粉丝点击