Droopescan:一款基于插件模式的CMS安全扫描工具
作者:admin | 时间:2022-3-25 04:11:59 | 分类:黑客工具 隐藏侧边栏展开侧边栏
关于Droopescan
Droopescan是一款基于插件模式的CMS安全扫描工具,广大研究人员可以利用Droopescan轻松识别多种CMS系统中潜在的安全问题。
请注意,虽然Droopescan可以扫描和识别目标设备上安装的CMS版本信息,但版本号和漏洞之间的任何关联必须由用户手动完成。
支持的CMS
当前版本的Droopescan支持以下CMS系统:
SilverStripe
Wordpress
Drupal
Joomla
Moodle
工具特性
运行速度快
工作稳定
定期升级更新
允许同时扫描多个站点
100%纯Python开发
工具安装
使用pip安装(推荐)
我们推荐广大用户使用pip来安装该工具:
apt-get install python-pip pip install droopescan
源码安装
除此之外,我们还可以通过下列命令将该项目源码克隆至本地,并安装相关的依赖组件:
git clone https://github.com/droope/droopescan.git cd droopescan pip install -r requirements.txt ./droopescan scan --help
BlackArch安装
sudo pacman -S droopescan
Docker安装
我们可以构建一个Docker镜像,并在Docker中运行Droopescan:
git clone https://github.com/droope/droopescan.git cd droopescan docker 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.com password 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开源许可证协议。
项目地址
Droopescan:【GitHub传送门】
参考资料
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