Drupal

Reading time: 4 minutes

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks का समर्थन करें

खोज

  • मेटा की जांच करें
bash
curl https://www.drupal.org/ | grep 'content="Drupal'
  • Node: Drupal अपने सामग्री को नोड्स का उपयोग करके अनुक्रमित करता है। एक नोड किसी भी चीज़ को रख सकता है जैसे कि एक ब्लॉग पोस्ट, मतदान, लेख, आदि। पृष्ठ URIs आमतौर पर इस रूप में होते हैं /node/<nodeid>
bash
curl drupal-site.com/node/1

Enumeration

Version

  • /CHANGELOG.txt की जांच करें
bash
curl -s http://drupal-site.local/CHANGELOG.txt | grep -m2 ""

Drupal 7.57, 2018-02-21

note

Drupal के नए इंस्टॉलेशन डिफ़ॉल्ट रूप से CHANGELOG.txt और README.txt फ़ाइलों तक पहुँच को ब्लॉक करते हैं।

उपयोगकर्ता नाम गणना

Drupal डिफ़ॉल्ट रूप से तीन प्रकार के उपयोगकर्ताओं का समर्थन करता है:

  1. Administrator: इस उपयोगकर्ता के पास Drupal वेबसाइट पर पूर्ण नियंत्रण होता है।
  2. Authenticated User: ये उपयोगकर्ता वेबसाइट में लॉग इन कर सकते हैं और अपनी अनुमतियों के आधार पर लेख जोड़ने और संपादित करने जैसी गतिविधियाँ कर सकते हैं।
  3. Anonymous: सभी वेबसाइट आगंतुकों को अनाम के रूप में नामित किया जाता है। डिफ़ॉल्ट रूप से, इन उपयोगकर्ताओं को केवल पोस्ट पढ़ने की अनुमति होती है।

उपयोगकर्ताओं की गणना करने के लिए आप:

  • उपयोगकर्ताओं की संख्या प्राप्त करें: बस /user/1, /user/2, /user/3... तक पहुँचें जब तक यह एक त्रुटि नहीं लौटाता जो बताता है कि उपयोगकर्ता मौजूद नहीं है।
  • पंजीकरण: /user/register पर पहुँचें और एक उपयोगकर्ता नाम बनाने की कोशिश करें और यदि नाम पहले से लिया गया है तो यह सर्वर से एक त्रुटि में संकेतित होगा।
  • पासवर्ड रीसेट करें: एक उपयोगकर्ता का पासवर्ड रीसेट करने की कोशिश करें और यदि उपयोगकर्ता मौजूद नहीं है तो यह स्पष्ट रूप से एक त्रुटि संदेश में संकेतित होगा।

छिपे हुए पृष्ठ

बस /node/FUZZ में नए पृष्ठ खोजें जहाँ FUZZ एक संख्या है (उदाहरण के लिए 1 से 1000 तक)।

स्थापित मॉड्यूल जानकारी

bash
#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

स्वचालित उपकरण

bash
droopescan scan drupal -u http://drupal-site.local

RCE

यदि आपके पास Drupal वेब कंसोल तक पहुंच है, तो RCE प्राप्त करने के लिए इन विकल्पों की जांच करें:

Drupal RCE

From XSS to RCE

  • Drupalwned: Drupal शोषण स्क्रिप्ट जो XSS को RCE या अन्य महत्वपूर्ण कमजोरियों में बढ़ाती है। अधिक जानकारी के लिए इस पोस्ट की जांच करें। यह Drupal संस्करण 7.X.X, 8.X.X, 9.X.X और 10.X.X के लिए समर्थन प्रदान करता है, और अनुमति देता है:
  • Privilege Escalation: Drupal में एक प्रशासनिक उपयोगकर्ता बनाता है।
  • (RCE) Upload Template: Drupal के लिए बैकडोर किए गए कस्टम टेम्पलेट अपलोड करता है।

Post Exploitation

Read settings.php

bash
find / -name settings.php -exec grep "drupal_hash_salt\|'database'\|'username'\|'password'\|'host'\|'port'\|'driver'\|'prefix'" {} \; 2>/dev/null

DB से उपयोगकर्ताओं को डंप करें

bash
mysql -u drupaluser --password='2r9u8hu23t532erew' -e 'use drupal; select * from users'

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks का समर्थन करें