CVE-2019-6340 Drupal8's REST RCE 漏洞复现
- 2019 年 10 月 6 日
- 笔记
0X1 漏洞概述
Drupal官方之前更新了一个非常关键的安全补丁,修复了因为接受的反序列化数据过滤不够严格,在开启REST的Web服务拓展模块的情况下,可能导致PHP代码执行的严重安全。
根据官方公告和自身实践,8.6.x或(<8.6.10)两种情况可能导致问题出现:
- RESTful Web Services拓展开启,并且启用了REST资源(默认配置即可),不需要区分GET,POST等方法即可完成攻击。
- JSON:API服务模块开启,此服务尚未分析。
漏洞影响版本:
Drupal < 8.6.10 Drupal < 8.5.12
0X2 环境搭建
使用search命令进行查找:
docker search CVE-2019-6340

然后拉取第一个镜像,使用pull命令
docker pull knqyf263/cve-2019-6340

最后等到拉取完成

然后启动镜像,运行环境
docker run -d -p 80:80 --name Drupal8 knqyf263/cve-2019-6340

访问网站首页

0X3 漏洞利用
在github上可以找到关于此CVE漏洞编号的很多脚本,但是用法不一,因此,我们使用rapid官方给出的脚本进行测试。在kali下将metasploit更新到最新,使用模块:
use exploit/unix/webapp/drupal_restws_unserialize

设置RHOSTS参数和LHOSTS参数

然后攻击即可从容器中成功返回shell连接

0X4 漏洞修复
- 升级到最新版本
- 禁用 RESTful Web Services 模块
- 配置服务器不允许 POST/PATCH 请求
0X5 参考文献
https://paper.seebug.org/821/
https://www.rapid7.com/db/modules/exploit/unix/webapp/drupal_restws_unserialize