Java用户注意!赛宁靶场刚还原了Spring4Shell漏洞

2022-04-02 9,387

漏洞描述


作为目前全球最受欢迎的Java轻量级J2EE应用程序开源框架,Spring允许开发人员专注于业务逻辑,简化Java企业级应用的开发周期。


Spring Framework存在远程代码执行漏洞(CVE-2022-22965CNVD-2022-23942),由于Spring框架存在处理流程缺陷,攻击者可在远程条件下,实现对目标主机的后门文件写入和配置修改,继而通过后门文件访问获得目标主机权限。使用Spring框架或衍生框架构建网站等应用,且同时使用JDK版本在9及以上版本的,易受此漏洞攻击影响。


影响版本

Spring Framework 5.3.X < 5.3.18
Spring Framework 5.2.X < 5.2.2
运行环境为JDK9及以上的版本


漏洞复现

构建网络拓扑


本场景节选自受攻击的某企业网络环境,环境内包含Web站点,内网服务区,办公区,核心内网区。通过Spring Framework RCE漏洞拿下最外层的Web站点,获取内网主机敏感信息,再利用代理工具构建隧道,打通内网。针对不同主机存在的不同漏洞进行逐一击破,最终拿下整个内网,达到最终目的。


渗透过程

阶段一:DMZ区渗透测试任务

-任务1:目标网站端口扫描任务

-任务2:spring Core漏洞利用


阶段二:内网服务区渗透测试任务

-任务1:搭建隧道连接内网任务

-任务2:渗透OA服务器

-任务3:渗透wiki服务器

-任务4:NFS未授权获取主机权限


阶段三:内网域渗透

-任务1:向日葵 RCE漏洞利用

-任务2:域内信息收集

-任务3:获取域服务账户

-任务4:基于资源的约束委派利用

-任务5:横向移动到子域域控

-任务6:SIDHistory版跨域黄金票据利用


今天我们就重点带大家了解一下赛宁靶场中的Spring Framework RCE漏洞利用,事不宜迟,现在就开始吧!

使用浏览器进行访问模拟目标

http://10.108.3.208:8080



通过工具进行抓包,写入webshell



用webshell管理工具连接,执行命令




成功执行命令。


修复建议

-官方修复建议-


目前,Spring官方已经在5.2.20,5.3.18版本修复上述漏洞,用户请及时升级到安全版本。

https://github.com/spring-projects/spring-framework/tags


缓解措施


赛宁网安提醒您:若不便对应用进行升级操作,请及时配置相应缓解措施,以免遭受攻击。


1.使用WAF缓解

用户请根据实际部署业务的流量情况,在WAF或其他网络防护设备上实现对"classLoader.","class.module.*","class.","Class.",".class.",".Class.", 等字符串的规则过滤,请注意其中流量特征 "class.module.*" 对大小写不敏感。用户注意在部署规则后,对业务允许情况进行测试,避免产生额外影响。


2.其他临时缓解措施

全局搜索 @InitBinder注解,判断方法体内是否有dataBinder.setDisallowedFields方法,如果有使用则在原来的黑名单中添加:{"class.","Class.",".class.",".Class."} (注:如果此代码片段使用较多,需要每个地方都追加)


在应用系统的项目包下新建以下全局类,并保证这个类被Spring 加载到(推荐在Controller 所在的包中添加)。完成类添加后,需对项目进行重新编译打包和功能验证测试。并重新发布项目。



与此同时,请做好资产自查以及预防工作,以免遭受黑客攻击。


本文作者:XCTF

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/176253.html

Tags:
评论  (0)
快来写下你的想法吧!

XCTF

文章数:9 积分: 1

安全问答社区

安全问答社区

脉搏官方公众号

脉搏公众号