当前位置:   article > 正文

使用Elastic Security检测最新的spring4shell漏洞_elastic漏洞

elastic漏洞

这个漏洞在清明假期刚出来的时候就想研究一下,一直拖延到现在。看来是已经赶不上热度了,但我觉得还是值得记录一下的。特别是Elastic刚刚在Forrester的“终端检测与响应Wave”报告中, 被评为“Strong Performer”(卓越表现者)

image.png

而对于这种层出不穷的零日漏洞,即便是购买了昂贵的网络安全设备都防不住,只能做事后诸葛。那不如考虑看看免费的开源解决方案,并且检测与响应已经成为了一种安全防御的共识:边界防御是一定会被渗透的,快速的检测与响应是必须的。

Spring4Shell 漏洞的工作原理

Spring4Shell 漏洞的几个 PoC 已经广泛可搜了。它们中的大多数都是从这个 GitHub 存储库中派生出来的或受到启发的。

该漏洞依赖于一个特制的 HTTP 请求,该请求滥用 Spring 的RequestMapping接口来解释和解析网络请求的查询参数。这个接口将传入的网络请求映射到适当的方法上进行处理。

Spring4Shell 漏洞在于RequestMapping接口对用户提供的数据的过滤机制。利用Spring4Shell的攻击者使用Module.getClassLoader()提供一个有效载荷。这允许攻击者加载一个任意的恶意类,服务器必须对其进行解析。脆弱的Spring版本没有过滤这个攻击路径,这导致了攻击的发生。

这里要强调的是,我不是一个黑客,所以关于漏洞的利用,到底还有还能够加载哪些恶意类进行攻击,我也不清楚。这个漏洞带个我们的启示就是,安全问题不能马虎,不要想着有类似银弹的解决方案,防守方需要根据攻击方使用的手段,不断调整自己的防御、检测和响应规则,进行动态的防御。

就目前而已,已知的最主要的方式就是生成一个webshell,放到可访问的目录,进行远程命令执行。

具体的PoC大家可以参考以下github的分享:

github:

https://github.com/craig/SpringCore0day

Or

https://github.com/TheGejr/SpringShell

攻击方式解析

以PoC中的攻击方式为例,其恶意代码主要如下,通过读取query中的参数,将其转化为getRuntime().exec()的内容。

- if("j".equals(request.getParameter("pwd"
    声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/953639
    推荐阅读
    相关标签
      

    闽ICP备14008679号