CVE-2019-6340 Drupal8's REST RCE 漏洞復現

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