5.-Drupal-discovery-and-enumeration

1. Basic Drupal Identification:

curl -s http://drupal.inlanefreight.local | grep Drupal
#   - Check HTML source for Drupal metadata.
curl -s http://drupal.inlanefreight.local/robots.txt
#   - Analyze robots.txt for disallowed directories and node references.
curl -s http://drupal.inlanefreight.local/node/1
#   - Check for node paths (common Drupal URL structure).
curl -s http://drupal.inlanefreight.local/CHANGELOG.txt
#   - Check for version information (may be blocked).

2. Drupal Version Enumeration:

droopescan scan drupal -u http://drupal.inlanefreight.local
#   - Use droopescan for automated version detection and module/theme enumeration.
curl -s http://drupal.inlanefreight.local/core/assets/vendor/jquery/jquery.min.js | grep "Drupal"
#   - Check JavaScript files for version information.
curl -s http://drupal.inlanefreight.local/rss.xml | grep generator
#   - Check RSS feeds for generator metadata.

Database Version check (if access gained):

SELECT version FROM system;

3. Drupal Module Enumeration:

4. Drupal Theme Enumeration:

5. Drupal Configuration File Check:

6. Drupal User Enumeration:

7. Drupal REST API Enumeration:

8. Drupal Content Enumeration:

9. Drupal Backup & Debug Files Enumeration:

10. Drupal Admin Panel Access Check:

11. Drupal GraphQL API Enumeration (if enabled):

12. Robots.txt Analysis:

Important Details & Considerations:

  • JavaScript Versioning: Check core and theme JavaScript for Drupal version.

  • Module Versioning: Find exact module versions using .info.yml or similar files.

  • Theme Versioning: Check style.css or .info.yml for theme versions.

  • Drupal File Structure: Understand core directories like /modules/, /themes/, and /sites/.

  • robots.txt: Pay close attention to disallowed directories that may reveal sensitive information.

  • Drupal REST API: If enabled, thoroughly enumerate the REST API.

  • Database Version: If database access is gained, query the system table for the Drupal version.

  • User Enumeration: Identify publicly accessible user profiles and potential admin accounts.

  • Service Endpoints: Check REST endpoints for exposed sensitive data.

  • Content Enumeration: Investigate sequential node IDs and JSON API exposure.

  • Backup & Debug Files: Identify any misconfigured backups or exposed debugging information.

  • Admin Access: Determine if direct access to the admin panel is possible.

  • GraphQL API: Enumerate GraphQL endpoints for schema exposure.

Last updated