Droopescan:一款基于插件模式的CMS安全扫描工具

admin 2025年6月16日00:40:55评论6 views字数 4967阅读16分33秒阅读模式

 关于Droopescan 

Droopescan是一款基于插件模式的CMS安全扫描工具,广大研究人员可以利用Droopescan轻松识别多种CMS系统中潜在的安全问题。

请注意,虽然Droopescan可以扫描和识别目标设备上安装的CMS版本信息,但版本号和漏洞之间的任何关联必须由用户手动完成。

 支持的CMS 

当前版本的Droopescan支持以下CMS系统:

SilverStripe

Wordpress

Drupal

Joomla

Moodle

 工具特性 

运行速度快

工作稳定

定期升级更新

允许同时扫描多个站点

100%纯Python开发

 工具安装 

使用pip安装(推荐)

我们推荐广大用户使用pip来安装该工具:

apt-get install python-pippip install droopescan

源码安装

除此之外,我们还可以通过下列命令将该项目源码克隆至本地,并安装相关的依赖组件:

git clone https://github.com/droope/droopescan.gitcd droopescanpip install -r requirements.txt./droopescan scan --help

BlackArch安装

sudo pacman -S droopescan

Docker安装

我们可以构建一个Docker镜像,并在Docker中运行Droopescan:

git clone https://github.com/droope/droopescan.gitcd droopescandocker build -t droope/droopescan .# 显示帮助信息docker run --rm droope/droopescan# 扫描Drupal演示站点docker run --rm droope/droopescan scan drupal -u https://drupal.example.com

 工具使用 

指定测试目标

我们可以使用-u或--url参数来指定需要扫描的目标主机:

droopescan scan drupal -u example.org

我们也可以忽略drupal参数,此时将触发工具的“CMS自动识别”功能:

droopescan scan -u example.org

可以使用-U或--url-file参数来扫描多个URL地址,该参数的值需要设置为一个包含URL列表的文件路径:

droopescan scan drupal -U list_of_urls.txt

或者,下列命令可以同时开启工具的“CMS自动识别”功能

droopescan scan -U list_of_urls.txt

包含URL列表的文件内容结构如下,其中每一个URL地址需单独写成一行:

http://localhost/drupal/6.0/http://localhost/drupal/6.1/http://localhost/drupal/6.10/http://localhost/drupal/6.11/http://localhost/drupal/6.12/

身份认证

该工具完全支持.netrc文件和http_proxy环境变量。

我们可以使用一个.netrc文件来进行基础认证:

machine secret.google.com    login admin@google.compassword Winter01

我们还可以设置http_proxy和https_proxy变量:

export http_proxy='user:password@localhost:8080'export https_proxy='user:password@localhost:8080'droopescan scan drupal --url http://localhost/drupal

 工具输出 

该工具支持标准输出格式,即提供人类可读的输出数据,主要以JSON对象格式提供:

{  "themes": {    "is_empty": true,    "finds": [    ]  },  "interesting urls": {    "is_empty": false,    "finds": [      {        "url": "https://www.drupal.org/CHANGELOG.txt",        "description": "Default changelog file."      },      {        "url": "https://www.drupal.org/user/login",        "description": "Default admin."      }    ]  },  "version": {    "is_empty": false,    "finds": [      "7.29",      "7.30",      "7.31"    ]  },  "plugins": {    "is_empty": false,    "finds": [      {        "url": "https://www.drupal.org/sites/all/modules/views/",        "name": "views"      },      [...snip...]    ]  }}

下面给出的是多站点输出数据,其中的每一行都包含上述的有效JSON对象:

$ droopescan scan drupal -U six_and_above.txt -e v    {"host": "http://localhost/drupal-7.6/", "version": {"is_empty": false, "finds": ["7.6"]}}    {"host": "http://localhost/drupal-7.7/", "version": {"is_empty": false, "finds": ["7.7"]}}    {"host": "http://localhost/drupal-7.8/", "version": {"is_empty": false, "finds": ["7.8"]}}    {"host": "http://localhost/drupal-7.9/", "version": {"is_empty": false, "finds": ["7.9"]}}    {"host": "http://localhost/drupal-7.10/", "version": {"is_empty": false, "finds": ["7.10"]}}    {"host": "http://localhost/drupal-7.11/", "version": {"is_empty": false, "finds": ["7.11"]}}    {"host": "http://localhost/drupal-7.12/", "version": {"is_empty": false, "finds": ["7.12"]}}    {"host": "http://localhost/drupal-7.13/", "version": {"is_empty": false, "finds": ["7.13"]}}    {"host": "http://localhost/drupal-7.14/", "version": {"is_empty": false, "finds": ["7.14"]}}    {"host": "http://localhost/drupal-7.15/", "version": {"is_empty": false, "finds": ["7.15"]}}    {"host": "http://localhost/drupal-7.16/", "version": {"is_empty": false, "finds": ["7.16"]}}    {"host": "http://localhost/drupal-7.17/", "version": {"is_empty": false, "finds": ["7.17"]}}    {"host": "http://localhost/drupal-7.18/", "version": {"is_empty": false, "finds": ["7.18"]}}    {"host": "http://localhost/drupal-7.19/", "version": {"is_empty": false, "finds": ["7.19"]}}    {"host": "http://localhost/drupal-7.20/", "version": {"is_empty": false, "finds": ["7.20"]}}    {"host": "http://localhost/drupal-7.21/", "version": {"is_empty": false, "finds": ["7.21"]}}    {"host": "http://localhost/drupal-7.22/", "version": {"is_empty": false, "finds": ["7.22"]}}    {"host": "http://localhost/drupal-7.23/", "version": {"is_empty": false, "finds": ["7.23"]}}    {"host": "http://localhost/drupal-7.24/", "version": {"is_empty": false, "finds": ["7.24"]}}    {"host": "http://localhost/drupal-7.25/", "version": {"is_empty": false, "finds": ["7.25"]}}    {"host": "http://localhost/drupal-7.26/", "version": {"is_empty": false, "finds": ["7.26"]}}    {"host": "http://localhost/drupal-7.27/", "version": {"is_empty": false, "finds": ["7.27"]}}    {"host": "http://localhost/drupal-7.28/", "version": {"is_empty": false, "finds": ["7.28"]}}    {"host": "http://localhost/drupal-7.29/", "version": {"is_empty": false, "finds": ["7.29"]}}    {"host": "http://localhost/drupal-7.30/", "version": {"is_empty": false, "finds": ["7.30"]}}    {"host": "http://localhost/drupal-7.31/", "version": {"is_empty": false, "finds": ["7.31"]}}    {"host": "http://localhost/drupal-7.32/", "version": {"is_empty": false, "finds": ["7.32"]}}    {"host": "http://localhost/drupal-7.33/", "version": {"is_empty": false, "finds": ["7.33"]}}    {"host""http://localhost/drupal-7.34/""version": {"is_empty"false"finds": ["7.34"]}}

许可证协议

本项目的开发与发布遵循APGL开源许可证协议。

项目地址

https://github.com/SamJoan/droopescan

参考资料

https://github.com/BlackArch/blackarch/blob/master/packages/droopescan/PKGBUILD

https://www.gnu.org/software/inetutils/manual/html_node/The-_002enetrc-file.html

https://github.com/droope/droopescan/blob/development/plugins/drupal/versions.xml

原文始发于微信公众号(FreeBuf):Droopescan:一款基于插件模式的CMS安全扫描工具

 

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年6月16日00:40:55
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Droopescan:一款基于插件模式的CMS安全扫描工具https://cn-sec.com/archives/818356.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息