Windows mysql 提权_Windows下三种mysql提权剖析

title: Windows下三种mysql提权剖析

索引

这篇文章是写基于windows环境下的一些mysql提权方法的分析并利用。这些方法老生常谈,但困于很多文章在讲分析和利用的时候模棱两可,因此想总结一下常见的方法思路。基于windows的提权姿势多的数不胜数,一般在配置文件可以嗅探到root密码的情况(root密码已知)下,或者注入、爆破拿到root密码下,可以考虑mysql提权。文章内容很基础,下面对这些方法进行一些粗谈,有什么理解错误的地方还请客观们轻打...大佬们可以略过这篇文章qaq...

实验环境

靶机A: Windows 7 SP1

靶机B: Windows server 2003 enterprise x64

Phpstudy搭建的php+mysql

php版本:5.4.45

mysql版本:5.5.53

攻击环境:已知root账号密码,网站存在phpmyadmin页面

通过phpmyadmin来getshell

简单测试

利用log变量,猜一下绝对路径

Windows mysql 提权_Windows下三种mysql提权剖析_第1张图片

看到phpstudy,猜测根目录在WWW下,into outfile写个马测一下能传不

Windows mysql 提权_Windows下三种mysql提权剖析_第2张图片

果然是用不成into outfile,因为file_priv为null,那么尝试使用日志写马

利用日志写shell

开启日志记录

set global general_log='on';

日志文件导出指定目录

set global general_log_file='C:/phpstudy/WWW/hp.php';

记录sql语句写马,这里我就是演示一下,没有安全狗,直接传原马

select '';

关闭记录

set global general_log=off;

菜刀连接

url: 192.168.11.106/hp.php

Windows mysql 提权_Windows下三种mysql提权剖析_第3张图片

看一下权限,普通成员hpd0egr,创建用户错误5。

接下来开始提权之路!

UDF提权

什么是UDF

UDF(user-defined function)是MySQL的一个拓展接口,也可称之为用户自定义函数,它是用来拓展MySQL的技术手段,可以说是数据库功能的一种扩展,用户通过自定义函数来实现在MySQL中无法方便实现的功能,其添加的新函数都可以在SQL语句中调用,就像本机函数如ABS()或SOUNDEX()一样方便。

提权原理

先学习一下什么叫动态链接库

动态链接库

动态链接库:是把程序代码中会使用的函数编译成机器码,不过是保存在.dll文件中。另外在编译时,不会把函数的机器码复制一份到可执行文件中。编译器只会在.exe的执行文件里,说明所要调用的函数放在哪一个*.dll文件。程序执行使用到这些函数时,操作系统会把dll文件中的函数拿出来给执行文件使用

提权分析

udf是Mysql类提权的方式之一。前提是已知mysql中root的账号密码,我们在拿到webshell后,可以看网站根目录下的config.php里,一般都有mysql的账号密码。利用root权限,创建带有调用cmd函数的’udf.dll’(动态链接库)。当我们把’udf.dll’导出指定文件夹引入Mysql时,其中的调用函数拿出来当作mysql的函数使用。这样我们自定义的函数才被当作本机函数执行。在使用CREAT FUNCITON调用dll中的函数后,mysql账号转化为system权限,从而来提权。

提权复现

工具

这里我用暗月的马,改了一些参数。后面我会把所有工具打包

访问提权马

你可能感兴趣的:(Windows,mysql,提权)