FireEye 红队失窃工具大揭秘之:分析复现SolarWinds RCE 0day (CVE-2020-10148)

 聚焦源代码安全,网罗国内外最新资讯!

前言

最近,全球领先的网络安全公司 FireEye 疑遭某 APT 组织的攻击,其大量政府客户信息遭越权访问,且红队工具被盗。虽然目前尚不清楚这些红队工具将被如何处置,但FireEye 公司在 GitHub 上发布了一些应对措施。奇安信代码安全实验室将从技术角度,对 GitHub 仓库中的相关漏洞进行分析复现,希望能给读者带来一些启发,做好防御措施。

漏洞简介

SolarWinds Orion平台是一套负责系统监视和产品管理的基础架构,其中的SolarWinds Orion API主要负责SolarWinds Orion平台产品间的交互工作。

SolarWinds Orion 2020.2.1HF2、2019.4HF6之前的版本产品存在远程代码执行漏洞。具体来说,攻击者在访问链接中构造参数“.js”、“.css”等以便绕过权限验证,最终任意调用Orion API达到代码执行的目的。

受影响产品

SolarWinds Orion平台系列产品

受影响版本

Orion Version<2020.2.1HF2

Orion Version<2019.4HF6

修复版本

  • 2019.4 HF 6

  • 2020.2.1 HF 2

  • 2019.2 SUPERNOVA补丁

  • 2018.4 SUPERNOVA补丁

  • 2018.2 SUPERNOVA补丁

漏洞分析

分析SolarWinds Orion的URL请求验证代码,如下。

private static void OnRequest(object sender, EventArgs e)


                  {


                           HttpApplication httpApplication = (HttpApplication)sender;


                           HttpContext context = httpApplication.Context;


                           string path = context.Request.Path;


                           # 如果请求的资源包含关键词“Skipi18n”,则会跳过用户权限验证限制,新建一个空用户


                           if (path.IndexOf("Skipi18n", StringComparison.OrdinalIgnoreCase) >= 0)


                           {


                                    if (context.User == null || !context.User.Identity.IsAuthenticated)


                                    {


                                             context.SkipAuthorization = true;


                                             context.User = new NullUser();


                                    }


                                    return;


                           }


                           # 如果请求的资源以".css"或“.js”结尾,则会跳过用户权限验证限制,新建一个空用户,并重定向到新页面


                           if (path.EndsWith(".css", StringComparison.OrdinalIgnoreCase) || path.EndsWith(".js", StringComparison.OrdinalIgnoreCase))


                           {


                    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值