
CVE-2022-22965漏洞,又名Spring4Shell,是Java Spring Core框架中的一个远程代码执行(RCE)漏洞,影响5.3.18和5.2.20之前的版本。该漏洞允许攻击者利用Tomcat日志配置错误,在易受攻击的服务器上注入并远程执行代码。该漏洞于2022年3月被发现,影响使用JDK >= 9的activeMQ、Spring MVC和Spring WebFlux应用程序。

先确认JDK版本是否>=9,否则启用它:

先决条件 ✔ 需要requests和BeautifulSoup模块才能使漏洞利用生效。用以下命令安装它们:
pip3 install bs4
pip3 install requests
网络扫描

这里我们确实有activeQM 5.17.3服务在监听。
在我们的利用策略中,我们将使用本项目附带的名为spring4shell.py的Python脚本。
脚本目标: 该Python脚本通过修改Tomcat的日志记录参数,利用CVE-2022-22965漏洞,在日志文件中注入web shell,从而允许在受感染的服务器上远程执行命令。
Python代码说明
配置终端输出:
settings类根据所选选项调整终端显示,使用颜色区分信息、警告和错误消息。
生成随机变量:
filename()和password()函数生成随机十六进制字符串,以保护web shell文件名和密码的安全性。
漏洞利用:
脚本发送请求修改Tomcat的日志记录参数,通过日志注入JSP代码片段。通过将日志配置为写入webapps/ROOT目录,每条日志条目都可被解释为JSP代码。
注入的日志文件充当web shell,可通过浏览器访问以执行命令。
Web Shell交互:
terminal类打开一个交互式界面,允许向受感染的服务器发送命令。命令通过cmd参数发送,并在终端中显示响应。
脚本执行后,会提供一个指向web shell的链接: 通过命令:
python3 spring4shell.py http://172.17.0.1

我们获得了对activeMQ服务器shell的直接访问,以便执行任意命令。
漏洞利用结束!!!