Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
droopescan — एक प्लगिन-आधारित स्कैनर जो सुरक्षा शोधकर्ताओं को कई CMS (मुख्य रूप से Drupal और Silverstripe) में समस्याओं की पहचान करने में सहायता करता है। | Kitploit
उपकरण/GitHubGitHub/samjoan/droopescan
भेद्यता स्कैनरजानकारी एकत्र करनावेब सुरक्षा
GitHubsamjoan/droopescan

droopescan

एक प्लगिन-आधारित स्कैनर जो सुरक्षा शोधकर्ताओं को कई CMS (मुख्य रूप से Drupal और Silverstripe) में समस्याओं की पहचान करने में सहायता करता है।

रिपॉजिटरी देखें
1.4k2742 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

droopescan

Build Status PyPI version AGPL license

एक प्लगइन-आधारित स्कैनर जो सुरक्षा शोधकर्ताओं को कई CMS के साथ समस्याओं की पहचान करने में सहायता करता है।

बिना पूर्व आपसी सहमति के लक्ष्यों पर हमला करने के लिए droopescan का उपयोग करना अवैध है। अंतिम उपयोगकर्ता की जिम्मेदारी है कि वह सभी लागू स्थानीय, राज्य और संघीय कानूनों का पालन करे। डेवलपर्स कोई दायित्व नहीं लेते हैं और इस प्रोग्राम के किसी भी दुरुपयोग या क्षति के लिए जिम्मेदार नहीं हैं। कृपया ध्यान दें कि जबकि droopescan दूरस्थ होस्ट पर स्थापित सबसे संभावित CMS संस्करण का आउटपुट देता है, संस्करण संख्याओं और कमजोरियों के बीच कोई भी सहसंबंध उपयोगकर्ता द्वारा मैन्युअल रूप से किया जाना चाहिए।

समर्थित CMS हैं:

  • SilverStripe
  • Wordpress
  • Drupal

आंशिक कार्यक्षमता:

  • Joomla (केवल संस्करण गणना और दिलचस्प URL)
  • Moodle (प्लगइन और थीम बहुत सीमित, सावधान रहें)
root@kitploit:~
computer:~/droopescan$ droopescan scan drupal -u http://example.org/ -t 32
[+] No themes found.

[+] Possible interesting urls found:
    Default changelog file - https://www.example.org/CHANGELOG.txt
    Default admin - https://www.example.org/user/login

[+] Possible version(s):
    7.34

[+] Plugins found:
    views https://www.example.org/sites/all/modules/views/
        https://www.example.org/sites/all/modules/views/README.txt
        https://www.example.org/sites/all/modules/views/LICENSE.txt
    token https://www.example.org/sites/all/modules/token/
        https://www.example.org/sites/all/modules/token/README.txt
        https://www.example.org/sites/all/modules/token/LICENSE.txt
    pathauto https://www.example.org/sites/all/modules/pathauto/
        https://www.example.org/sites/all/modules/pathauto/README.txt
        https://www.example.org/sites/all/modules/pathauto/LICENSE.txt
        https://www.example.org/sites/all/modules/pathauto/API.txt
    libraries https://www.example.org/sites/all/modules/libraries/
        https://www.example.org/sites/all/modules/libraries/CHANGELOG.txt
        https://www.example.org/sites/all/modules/libraries/README.txt
        https://www.example.org/sites/all/modules/libraries/LICENSE.txt
    entity https://www.example.org/sites/all/modules/entity/
        https://www.example.org/sites/all/modules/entity/README.txt
        https://www.example.org/sites/all/modules/entity/LICENSE.txt
    google_analytics https://www.example.org/sites/all/modules/google_analytics/
        https://www.example.org/sites/all/modules/google_analytics/README.txt
        https://www.example.org/sites/all/modules/google_analytics/LICENSE.txt
    ctools https://www.example.org/sites/all/modules/ctools/
        https://www.example.org/sites/all/modules/ctools/CHANGELOG.txt
        https://www.example.org/sites/all/modules/ctools/LICENSE.txt
        https://www.example.org/sites/all/modules/ctools/API.txt
    features https://www.example.org/sites/all/modules/features/
        https://www.example.org/sites/all/modules/features/CHANGELOG.txt
        https://www.example.org/sites/all/modules/features/README.txt
        https://www.example.org/sites/all/modules/features/LICENSE.txt
        https://www.example.org/sites/all/modules/features/API.txt
    [... snip for README ...]

[+] Scan finished (0:04:59.502427 elapsed)

आप निम्न कमांड चलाकर विकल्पों की पूरी सूची प्राप्त कर सकते हैं:

root@kitploit:~
droopescan --help
droopescan scan --help

X क्यों नहीं?

क्योंकि droopescan:

  • तेज़ है
  • स्थिर है
  • अप-टू-डेट है
  • एक साथ कई साइटों की स्कैनिंग की अनुमति देता है
  • 100% पायथन है

स्थापना

pip के साथ (अनुशंसित)

pip का उपयोग करके स्थापना आसान है:

root@kitploit:~
apt-get install python-pip
pip install droopescan

स्रोतों से

मैन्युअल स्थापना इस प्रकार है:

root@kitploit:~
git clone https://github.com/droope/droopescan.git
cd droopescan
pip install -r requirements.txt
./droopescan scan --help

master शाखा नवीनतम रिलीज़ (pypi में क्या है) से मेल खाती है। development शाखा अस्थिर है और सभी पुल अनुरोध इसके विरुद्ध किए जाने चाहिए।

BlackArch

BlackArch पैकेज स्थापना (तीसरे पक्ष द्वारा रखरखाव):

root@kitploit:~
sudo pacman -S droopescan

Docker

आप एक Docker इमेज बना सकते हैं और Docker से droopescan चला सकते हैं:

root@kitploit:~
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

विशेषताएँ

स्कैन प्रकार

Droopescan का लक्ष्य डिफ़ॉल्ट रूप से सबसे सटीक होना है, जबकि अत्यधिक समवर्ती अनुरोधों के कारण लक्ष्य सर्वर को ओवरलोड नहीं करना है। इस वजह से, डिफ़ॉल्ट रूप से, चार थ्रेड्स के साथ बड़ी संख्या में अनुरोध किए जाएंगे; इन सेटिंग्स को क्रमशः --number और --threads तर्कों का उपयोग करके बदलें।

यह उपकरण चार प्रकार के परीक्षण करने में सक्षम है। डिफ़ॉल्ट रूप से सभी परीक्षण चलाए जाते हैं, लेकिन आप -e या --enumerate फ्लैग के साथ निम्न में से एक निर्दिष्ट कर सकते हैं:

  • p -- प्लगइन जाँच: कई हज़ार HTTP अनुरोध करता है और लक्ष्य होस्ट पर स्थापित सभी प्लगइनों की सूची लौटाता है।
  • t -- थीम जाँच: उपरोक्त के समान, लेकिन थीम के लिए।
  • v -- संस्करण जाँच: कई फ़ाइलें डाउनलोड करता है और इन फ़ाइलों के चेकसम के आधार पर सभी संभावित संस्करणों की सूची लौटाता है।
  • i -- दिलचस्प URL जाँच: दिलचस्प URL (एडमिन पैनल, README फ़ाइलें, आदि) की जाँच करता है।

लक्ष्य निर्दिष्टीकरण

आप -u या --url पैरामीटर पास करके स्कैन करने के लिए एक विशेष होस्ट निर्दिष्ट कर सकते हैं:

root@kitploit:~
    droopescan scan drupal -u example.org

आप drupal तर्क को छोड़ भी सकते हैं। यह "CMS पहचान" को ट्रिगर करेगा, जैसे:

root@kitploit:~
    droopescan scan -u example.org

-U या --url-file पैरामीटर का उपयोग करके कई URL स्कैन किए जा सकते हैं। यह पैरामीटर उस फ़ाइल के पथ पर सेट किया जाना चाहिए जिसमें URL की सूची हो।

root@kitploit:~
    droopescan scan drupal -U list_of_urls.txt

इस उदाहरण में drupal पैरामीटर को भी छोड़ा जा सकता है। प्रत्येक साइट के लिए, CMS पहचान करने के लिए कई GET अनुरोध किए जाएंगे, और यदि साइट को समर्थित CMS माना जाता है, तो इसे स्कैन किया जाता है और आउटपुट सूची में जोड़ा जाता है। यह उपयोगी हो सकता है, उदाहरण के लिए, आपके संगठन की सभी साइटों पर droopescan चलाने के लिए।

root@kitploit:~
    droopescan scan -U list_of_urls.txt

नीचे दिए गए कोड ब्लॉक में URL की एक उदाहरण सूची है, प्रति पंक्ति एक:

root@kitploit:~
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 क्वेरी को रोकना चाहते हों। स्पष्ट करने के लिए, नीचे एक उदाहरण:

root@kitploit:~
192.168.1.1	example.org
http://192.168.1.1/	example.org
http://192.168.1.2/drupal/	example.org

यह परीक्षण करने के लिए कि क्या स्कैनर किसी विशेष CMS के लिए काम करता है, आधिकारिक साइट (जैसे wordpress के लिए wordpress.org) को स्कैन करना काफी आकर्षक है, लेकिन आधिकारिक साइटें शायद ही कभी अपने संबंधित CMS के वैनिला इंस्टॉलेशन चलाती हैं या गैर-पारंपरिक चीजें करती हैं। उदाहरण के लिए, wordpress.org wordpress का ब्लीडिंग एज संस्करण चलाता है, जिसे droopescan द्वारा wordpress के रूप में बिल्कुल भी पहचाना नहीं जाएगा क्योंकि चेकसम किसी भी ज्ञात wordpress संस्करण से मेल नहीं खाते।

प्रमाणीकरण

एप्लिकेशन .netrc फ़ाइलों और http_proxy पर्यावरण चर को पूरी तरह से समर्थन करता है।

बुनियादी प्रमाणीकरण के लिए .netrc फ़ाइल का उपयोग करें। एक उदाहरण netrc फ़ाइल (आपके रूट होम डायरेक्टरी में रखी गई .netrc नामक फ़ाइल) इस प्रकार दिख सकती है:

root@kitploit:~
machine secret.google.com
    login [email protected]
    password Winter01

आप http_proxy और https_proxy चर सेट कर सकते हैं। ये आपको एक मूल HTTP प्रॉक्सी सेट करने की अनुमति देते हैं, जिसमें आप अधिक जटिल प्रकार के प्रमाणीकरण (जैसे Fiddler, ZAP, Burp) को संभाल सकते हैं।

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

चेतावनी: डिज़ाइन के अनुसार, इंटरसेप्टिंग प्रॉक्सी और खराब SSL वाले एप्लिकेशन के परीक्षण की अनुमति देने के लिए, droopescan स्व-हस्ताक्षरित या अन्यथा अमान्य प्रमाणपत्रों की अनुमति देता है। ˙ ͜ʟ˙

आउटपुट

यह एप्लिकेशन दोनों "मानक आउटपुट" का समर्थन करता है, जो मानव उपभोग के लिए है, या JSON, जो मशीन उपभोग के लिए अधिक उपयुक्त है। यह आउटपुट प्रमुख संस्करणों के बीच स्थिर है।

इसे --output फ्लैग से नियंत्रित किया जा सकता है। कुछ नमूना JSON आउटपुट इस प्रकार दिखेगा (अत्यधिक व्हाइटस्पेस को छोड़कर):

root@kitploit:~
{
  "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 ऑब्जेक्ट होता है।

root@kitploit:~
    $ 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 कमांड का उपयोग करके कारण जांच सकते हैं।

कुछ आउटपुट इस तरह दिख सकता है:

root@kitploit:~
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 पैरामीटर भी मौजूद है और इसका उपयोग एप्लिकेशन इंटरनल को डीबग करने के लिए किया जा सकता है।

आँकड़े

आप निम्न कमांड चलाकर स्कैनर की क्षमताओं पर एक अप-टू-डेट रिपोर्ट प्राप्त कर सकते हैं:

root@kitploit:~
    droopescan stats

कुछ नमूना आउटपुट इस प्रकार दिख सकता है:

root@kitploit:~
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.)

यह सत्यापित करना महत्वपूर्ण है कि CMS स्थापना के लिए उपलब्ध नवीनतम संस्करण droopescan में उपलब्ध है, अन्यथा परिणाम गलत हो सकते हैं।

योगदान दें

अपना खुद का प्लगइन बनाएं

आप अपने पसंदीदा CMS के लिए समर्थन जोड़ सकते हैं। यह प्रक्रिया वास्तव में काफी सरल है, और plugins/ फ़ोल्डर में example.py फ़ाइल को देखकर बहुत सारी जानकारी प्राप्त की जा सकती है।

यह फ़ाइल आपके कार्यान्वयन के लिए आधार के रूप में अच्छी तरह से काम करेगी।

आप Joomla के लिए अपना खुद का प्लगइन बना सकते हैं और इसे निम्नानुसार सक्षम कर सकते हैं:

root@kitploit:~
$ cp plugins/example.py plugins/joomla.py
$ cp plugins.d/example.conf plugins.d/joomla.conf

फिर आपको plugins/joomla.py पर जाना होगा और कुछ चीजें बदलनी होंगी:

  • क्लास का नाम Joomla होना चाहिए।
  • प्लगइन लेबल (Meta.label पर स्थित) को joomla में बदलना होगा।
  • फ़ाइल के अंत में, रजिस्टर कॉल को सही क्लास नाम दर्शाने के लिए संशोधित करना होगा।
  • एक्सपोज़्ड फ़ंक्शन, 'example', का नाम बदलकर joomla करना होगा।
root@kitploit:~
    @controller.expose(help='example scanner')
    def joomla(self):
        self.plugin_init()

हमें plugins.d/joomla.conf फ़ाइल को भी बदलना होगा, और इसे निम्नलिखित में बदलना होगा:

root@kitploit:~
[joomla]
enable_plugin = true

अब हमें ऐसी स्थिति में होना चाहिए जो इस प्रकार दिखे:

root@kitploit:~
$ droopescan scan joomla
[+] --url parameter is required.

आपका अगला कदम एक मान्य प्लगइन वर्डलिस्ट, एक मान्य थीम वर्डलिस्ट, एक versions.xml फ़ाइल, और वैकल्पिक रूप से दिलचस्प URL की एक सूची उत्पन्न करना होगा, साथ ही joomla.py में मौजूद सभी चरों को उन मानों से बदलना होगा जो आपके कार्यान्वयन के लिए सही हैं।

पुल अनुरोध स्वीकार किए जाने के लिए प्लगइन को स्वचालित रूप से अपडेट करने की आवश्यकता है। आगे के दस्तावेज़ बाद में उपलब्ध हो सकते हैं, लेकिन अभी के लिए, ध्यान रखें कि update_version_check, update_version, update_plugins_check और update_plugins को लागू किया जाना चाहिए। संदर्भ के लिए, कृपया drupal.py फ़ाइल की समीक्षा करें। प्लगइन्स को अद्यतित रखने के लिए यह आवश्यक है।

मुद्दे और पुल अनुरोध

नए प्लगइन बनाने वाले पुल अनुरोधों का स्वागत है, बशर्ते कि उन प्लगइनों का रखरखाव स्वचालित रूप से किया जाता हो।

कृपया याद रखें कि अपने पुल अनुरोध master के बजाय development शाखा के विरुद्ध करें। मुद्दे GitHub पर मुद्दा ट्रैकर पर उठाए जा सकते हैं।

परीक्षण चलाने के लिए, कुछ निर्भरताएँ स्थापित की जानी चाहिए। निम्न कमांड चलाने से वे स्थापित हो जाएँगी और परीक्षण चल जाएँगे:

root@kitploit:~
    apt-get install libxslt1-dev libxml2-dev zlib1g-dev python python-pip python-dev python3 python3-pip python3-dev
    pip install -r requirements.txt -r requirements_test.txt
    pip3 install -r requirements.txt -r requirements_test.txt
    ./droopescan test

आप -s फ्लैग के साथ अलग-अलग परीक्षण चला सकते हैं।

root@kitploit:~
./droopescan test -s test_integration_drupal

लाइसेंस

यह प्रोजेक्ट AGPL लाइसेंस के तहत लाइसेंस प्राप्त है। LICENSE फ़ाइल देखें।

टूल डाउनलोड करें