Droopescan - 基於CMS的插件化安全掃描器

2021-02-15 黑白之道

Droopescan是一款基於插件的掃描器,可幫助安全研究人員發現Drupal,SilverStripe,Wordpress,Joomla(枚舉版本信息和可利用URL地址)和Moodle的問題。

安裝:

使用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

特點:

掃描類型

Droopescan的準確率在默認情況下是最精準的,而不會因為過多的並發請求而超載目標伺服器。由於這一點,所以在默認情況下將使用四個線程對目標進行大量數據請求;你也可以使用-number和-threads參數分別更改這些設置。
這個工具可以使用四種測試模式。默認情況下所有測試模式都在運行,但是您可以使用-e或--enumerate來指定以下內容:

p -- Plugin checks:執行數千個HTTP請求,並返回目標主機上已安裝所有插件的列表。

t -- Theme checks:如上所述,但僅檢查主題。

v -- Version checks:下載多個文件,根據這些文件的校驗和,返回一個所有可能版本的列表。
i -- Interesting URL checks: 檢查有價值的URL(例如:管理面板,Readme等)

目標說明

您可以通過-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

在本例中,drupal參數也可以省略。對於每個站點,它將會發出幾個GE請求來執行CMS識別,如果站點是支持的CMS版本,它會被掃描並添加到輸出列表中。例如,這可以在所有站點上運行droopescan。

droopescan scan -U list_of_urls.txt

下面的示例列表中每一個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/

一個包含URL的文件和一個通過制表符或空格分隔默認主機頭的也可以用於URL文件。當在大型主機上進行掃描時,您可以方便地進行操作,並防止不必要的DNS查詢。請看下面的一個例子:


192.168.1.1        example.org
http://192.168.1.1/        example.org
http://192.168.1.2/drupal/        example.org

掃描器會掃描官方網站特定的CMS(例如wordpress.org WordPress),但是官方網站很少在他們的CMS系統上運行vainilla,或者做一些其他改版的事情。例如,WordPress.org運行最新版本的WordPress,因為droopescan在所有的WordPress掃描中發現校驗和不匹配,所以不會被確定為任何已知的WordPress版本。

身份驗證

應用程式完全支持.netrc文件和http_proxy環境變量。

使用.netrc文件進行基本身份驗證。一個示例netrc(一個名為.netrc的文件放在根目錄主目錄中)文件可以如下所示:

machine secret.google.com

login admin@google.com

password Winter01

您可以設置http_proxy和https_proxy變量。它們允許您設置HTTP代理,在其中您可以處理更複雜的身份驗證類型(例如:Fiddler、ZAP、Burp)。

export http_proxy='user:password@localhost:8080'

export https_proxy='user:password@localhost:8080'

droopescan scan drupal --url http://localhost/drupal

注意:允許代理攔截和對帶有SSL的WEB應用程式測試,droopescan必須允許自籤名或其他無效的證書。

輸出

該應用程式既支持「標準輸出」,也支持JSON,後者更適合機耗。這個穩定輸出只在主要版本之間。

這可以用 --output控制。一些示例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對象可能缺少一些屬性。

這就是多站點輸出的樣子;每一行都包含一個有效的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"]}}

調試

當事情不按您的方式進行時,您可以通過使用 --debug-requests 命令來檢查原因。

某些輸出可能如下所示:

computer:~/droopescan# droopescan scan silverstripe -u http://localhost -n 10 -e p 
--debug-requests
[head] http://localhost/framework/... 403
[head] http://localhost/cms/css/layout.css... 404
[head] http://localhost/framework/css/UploadField.css... 200
[head] http://localhost/misc/test/error/404/ispresent.html... 404
[head] http://localhost/widgetextensions/... 404
[head] http://localhost/orbit/... 404
[head] http://localhost/sitemap/... 404
[head] http://localhost/simplestspam/... 404
[head] http://localhost/ecommerce_modifier_example/... 404
[head] http://localhost/silverstripe-hashpath/... 404
[head] http://localhost/timeline/... 404
[head] http://localhost/silverstripe-hiddenfields/... 404
[head] http://localhost/addressable/... 404
[head] http://localhost/silverstripe-description/... 404
[ ] No plugins found.

[ ] Scan finished (0:00:00.058422 elapsed)

--debug該調試參數也可用於調試應用程式內部部件。

統計

通過運行以下命令,您可以獲得掃描器功能的最新報告

droopescan stats

一些示例輸出可能如下所示:

Functionality available for 『drupal』:
- Enumerate plugins (XXXX plugins.)
- Enumerate themes (XXXX themes.)
- Enumerate interesting urls (X urls.)
- Enumerate version (up to version X.X.X-alphaXX, X.XX, X.XX.)
Functionality available for 『joomla』:
- Enumerate interesting urls (X urls.)
- Enumerate version (up to version XX.X, X.X.X, X.X.XX.rcX.)
Functionality available for 『wordpress』:
- Enumerate interesting urls (X urls.)
- Enumerate version (up to version X.X.X, X.X.X, X.X.X.)
Functionality available for 『silverstripe』:
- Enumerate plugins (XXX plugins.)
- Enumerate themes (XX themes.)
- Enumerate interesting urls (X urls.)
- Enumerate version (up to version X.X.XX, X.X.XX, X.X.XX.)

驗證在droopescan中可用於CMS安裝的最新版本非常重要,否則結果可能不準確。

文章:http://www.effecthacking.com/2018/02/droopescan.html由華盟網翻譯排版,轉載請註明華盟網

相關焦點

  • WordPress|Joomla|Drupal|Moodle|Typo3的CMS漏洞掃描工具
    這些掃描儀通常可用於掃描任何CMS平臺。DroopescanGitHub存儲庫| 樣本報告Droopescan是一個用python編寫的基於插件的漏洞掃描程序,能夠掃描多個流行的CMS。自述文件等)同時掃描多個站點這是運行Droopescan掃描遠程CMS中的漏洞的方法:droopescan scan -u https://targetsite.com在不指定CMS平臺的情況下,Droopescan將自動檢測它,然後相應地對目標站點進行指紋識別。
  • 掃描器倉庫 - Scanners Box
    )https://github.com/boy-hack/gwhatweb (CMS識別 python gevent實現)https://github.com/Mosuan/FileScan (敏感文件掃描 / 二次判斷降低誤報率 / 掃描內容規則化 / 多目錄掃描)https://github.com/Xyntax/FileSensor (基於爬蟲的動態敏感文件探測工具
  • 在線cms識別|旁站|c段|信息洩露|工控|系統|物聯網安全|cms漏洞掃描|埠掃描|待完善..
    在線cms識別|旁站|c段|信息洩露|工控|系統|物聯網安全|cms漏洞掃描|埠掃描|待完善..
  • 被動掃描器之插件篇
    最近被動掃描器的話題如火如荼,好多公司都在做自己的被動掃描器。而獲取質量高的流量是被動掃描器起作用的關鍵。
  • 安全學習資料包指北
    https://github.com/Skycrab/leakScanweb 界面,漏洞掃描https://github.com/az0ne/AZScannerweb 界面,自動漏洞掃描器,子域名爆破,埠掃描,目錄爆破,常用框架漏洞檢測https://github.com/boy-hack/w8scanweb 界面,基於 bugscan 掃描和架構思想的掃描器
  • Web掃描器淺析
    ID:Computer-network1、什麼是Web掃描器Web 掃描器可以自動地檢查Web 應用程式的安全弱點和風險,它主要通過探測和分析Web應用的響應,從而發現其中潛在的安全問題和架構缺陷。4、常見的掃描器下面介紹幾種常見的掃描器。
  • Xray掃描器使用小結
    一、前言最近學習了一下xray掃描器的使用,現將該學習結果進行一個記錄。至於xray是什麼,這裡不再過多描述,感興趣可以去看看官方介紹。
  • 信息安全紅隊項目
    https://github.com/Skycrab/leakScan web界面,漏洞掃描https://github.com/az0ne/AZScanner web界面,自動漏洞掃描器,子域名爆破,埠掃描,目錄爆破,常用框架漏洞檢測https://github.com/boy-hack/w8scan web界面,基於bugscan掃描和架構思想的掃描器
  • 網絡安全與滲透工具
    自動漏洞掃描器,子域名爆破,埠掃描,目錄爆破,常用框架漏洞檢測:https://github.com/az0ne/AZScanner分布式web漏洞掃描框架,集合owasp top10漏洞掃描和邊界資產發現能力:https://github.com/blackye/lalascanBkScanner 分布式、插件化web漏洞掃描器:https://github.com
  • Docker容器安全掃描-Grype
    Docker容器安全掃描-Grype前言隨著雲和虛擬技術發展,Docker容器的使用越來越流行和方便
  • Lockdoor Framework:一套自帶大量網絡安全資源的滲透測試框架
    identifyPhoton:針對開源情報收集的快速爬蟲Raccoon:網絡偵查與漏洞掃描工具DnsRecon:DNS枚舉腳本Nmap:埠掃描&網絡漏洞利用工具sherlock:社交網絡用戶名搜索工具snmpwn:SNMPv3用戶枚舉與攻擊工具Striker:攻擊信息與漏洞掃描器
  • 網絡安全與滲透測試工具導航
    自動漏洞掃描器,子域名爆破,埠掃描,目錄爆破,常用框架漏洞檢測:https://github.com/az0ne/AZScanner分布式web漏洞掃描框架,集合owasp top10漏洞掃描和邊界資產發現能力:https://github.com/blackye/lalascanBkScanner 分布式、插件化web漏洞掃描器:https://github.com
  • 網絡安全與滲透測試工具集合
    自動漏洞掃描器,子域名爆破,埠掃描,目錄爆破,常用框架漏洞檢測:https://github.com/az0ne/AZScanner分布式web漏洞掃描框架,集合owasp top10漏洞掃描和邊界資產發現能力:https://github.com/blackye/lalascanBkScanner 分布式、插件化web漏洞掃描器:https://github.com
  • 信息安全工具匯總
    埠掃描器Nmaphttps://github.com/nmap/nmap本地網絡掃描器https://github.com/SkyLined/LocalNetworkScanner子域名掃描器https://github.com/lijiejie/subDomainsBrute漏洞路由掃描器https://github.com/jh00nbr
  • 黑客喜歡的掃描器盒子
    python的新蜘蛛,具有更多的功能,包括網絡指紋搜索)· https://github.com/OffensivePython/Nscan(快速網際網路掃描)· https://github.com/ywolf/F-NAScan(掃描網絡資產信息腳本)· https://github.com/ywolf/F-MiddlewareScan(中間件服務的漏洞檢測腳本
  • 信息安全工具箱(信息安全工具以及資源集合)
    安全工具包括:掃描器,突破利用工具,信息收集工具等等花式掃描器投射掃描器https://github.com/nmap/nmap本地網絡掃描器https://github.com/SkyLined/LocalNetworkScanner子域名掃描器https://github.com/lijiejie
  • 【收藏】最全的安全滲透測試工具整理
    高級持續性威脅(APT)相關工具工控系統及大型網絡相關安全工模塊化掃描、綜合掃描器自動漏洞掃描器,子域名爆破,埠掃描,目錄爆破,常用框架漏洞檢測:https://github.com/az0ne/AZScanner分布式web漏洞掃描框架,集合owasp top10漏洞掃描和邊界資產發現能力:https://github.com/blackye/lalascanBkScanner