MENU

UDF提权和EXP提权(复现)

August 21, 2019 • Read: 3497 • Web阅读设置

0x00 前言

目标:复现使用UDF提权和EXP提权

环境:phpstudy2018

PHP:5.4.45

MySQL:5.5.53

0x01 关于UDF

udf='user defined function',即用户自定义函数。是通过添加新函数,对MySQL的功能进行扩充。

使用UDF提权原理大概就是通过引入udf.dll,引入自定义函数(如sys_eval()函数),执行系统命令。

在MySQL5.1版本以上需要将其存在MySQL安装目录mysql/lib/plugin下,文件后缀为.dll

0x02 UDF提权过程

1. UDF提权的利用条件

利用UDF提权,有几个的条件。

​ (1)MySQL数据库没有开启安全模式。

​ (2)已知的数据库账号具有对MySQL数据库insert和delete的权限,最好是root最高权限。

​ (3)shell有写入到数据库安装目录的权限。

2. 获取数据库root账号密码

在我们成功的将木马植入到对方服务器之后,应当如何知道对方数据库root账户密码呢。

​ 通常情况下,我们打开某一个连接数据库的文件。例如,index.phpedit.php

5.png

6.png

可以看到,其中给我们显示了一个连接数据库的文件地址。

按照这个地址,我们可以找到数据库的配置文件,在其中,是包含了数据库的某一个账户的密码的。

7.png

8.png

如果这个账户为root账户密码的话,是最好的。但还存在其他的情况,如果这个账户不是root账户,我们应该通过什么样的方式得到root账户的密码?

这里有一种方法。

在大马中找到mysql执行,执行代码如下:

select @@basedir //查询数据库的安装目录

17.png

利用非root账户,我们可以执行并得到数据库的运行目录。在这个目录下,我们找到data/mysql目录下的user.MYD文件,选择,并将其打包下载下来。

19.png

上图文本内容包含root账户的hash密码。将其中用加密过的乱码拼接之后用cmd5解密,即可得到root账户的密码。

18.png

到这里,准备工作的第一步我们就已经做好了。

3. 如何知道对方是否开启安全模式

在我们安装到服务器的木马中,有一个功能是mysql提权,也就是一键安装dll后门。

利用我们刚才得到的root账户密码,点击一键安装。

如果出现了以下画面,则证明对方服务器开启了安全模式。

11.png

因为如果对方开启了安全模式,我们是无法利用这个办法进行提权的,所以,为了完成今天的浮现,我们需要关闭安全模式。

利用代码:

secure_file_priv=""

将这个代码插入到mysql配置文件的最后,重启服务,便可以关闭安全模式。

流程如下:

13.png

14.png

现在,我们已经关闭了安全模式。

为了以防万一,再利用一键提权的功能测试一下。

10.png

可见,现在安全模式已经关闭了。但是虽然我们的木马安装成功了,但是却无法被执行,所以在这个时候,我们选用另外一款专门用来进行mysql提权的木马。

当然,在进行这个之前,我们还需要先在数据库中创建一个外联账户。

12.png

上图中用红框标注的地方,一个是我们外联需要的账户,另外一个则是密码。

将第二款mysql提权木马上传到服务器中,双击打开。

4.png

在登陆框中,输入我们得到的root账户的密码。

1.png

2.png

点击导入udf,即可成功的执行一些系统命令,而此时,我们的权限也提升到了system权限。

3.png

当然,出了这种方法之外,还有更加便捷的一种木马,也可以成为一键提权。

![](D:node复现udf提权和exp提权15.png)

通过执行这个木马,可以直接在执行成功之后,给我们返回一个拥有系统权限的操作界面,在这个界面里面,我们可以执行一些命令,例如增加用户,查看用户,将用户权限提升到管理员组等操作。

16.png

到此,这一次udf提权的复现就结束了。

0x03 关于EXP提权

exp='exploit',在黑客看来就是漏洞利用,具体点就是漏洞的利用方法。通常在Windows操作系统下,这里的EXP提权指的是本地溢出漏洞提权,远程溢出漏洞已经很少了,多数都被修复了。

0x04 EXP提权过程

在Windows系统下,常用一个命令来查询当前操作系统打的补丁情况。

systeminfo    # 显示关于当前系统的详细配置信息

1566324770050.png

如图所示的内容,我们主要关注修补程序列表可以看到有个序号。

通常补丁打的比较多的,不容易使用EXP提权。

但是可以对比下微软官方的补丁列表找出可以使用的EXP进行操作。

这里我用到了一个提权辅助网页来对比。

https://bugs.hacking8.com/tiquan/

1566325061898.png

这里用的是Windows2012的服务器,所以尽量找12版本的漏洞。

1566325178840.png

要注意的事,EXP提权有失败的可能,有时候多提几次就能行,有些时候会造成蓝屏,

风险很大。

测试MS15-051在Windows2008R2成功提权system。

1566329164633.png

原文作者:Keefe

原文链接:UDF提权和EXP提权(复现)

版权声明:本文采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可

Last Modified: September 15, 2019