Skip to content

Enhance CVE-style Fingerprints with Common Scanner Probe Paths (WordPress, Drupal, Moodle)#65

Open
Divyateja2709 wants to merge 102 commits intoOWASP:masterfrom
Divyateja2709:feature/my-updates
Open

Enhance CVE-style Fingerprints with Common Scanner Probe Paths (WordPress, Drupal, Moodle)#65
Divyateja2709 wants to merge 102 commits intoOWASP:masterfrom
Divyateja2709:feature/my-updates

Conversation

@Divyateja2709
Copy link
Copy Markdown

Hi @adrianwinckles
This PR improves the existing fingerprinting by adding commonly scanned CMS endpoints for better realism and detection.

Changes
Added probe files:
WordPress: /wp-includes/version.php ($wp_version = '5.8.1')
Drupal: /misc/drupal.js (D7-style header, 7.92)
Moodle: /version.php ($release = '3.9.3')
Updated nginx with explicit location blocks and correct content types
Updated persona_manifest.json (fingerprint_summary)
Added tests:
test_persona_wordpress_active.sh
test_persona_drupal_active.sh
test_persona_moodle_active.sh
Impact
Extends fingerprinting from basic files/headers → real-world probe paths
Improves scanner detection coverage and persona realism
Notes
Tests not executed here (Docker daemon unavailable)
Follows existing persona patterns and test expectations

Added optional CRS update logic and improved logging for background processes.
Added initial README.md for CRS Auto Update script with planned features and assumptions.
Removed comment about Sidekick code generation.
Added logging and process management for Apache and Filebeat.
Updated the script to enforce SHA256 checksum format and added timeout options for curl and wget commands.
Updated filebeat configuration path to absolute path.
Updated Dockerfile to include TARGETARCH argument and modified file paths.
Added headers to prevent HTTP_PROXY leakage and set authentication headers.
Add a test script to verify the existence of bundled CRS paths and includes in the Docker container.
This script tests the successful update of the CRS within a Docker container, ensuring that the configuration remains valid and usable after the update.
Refactor test script for CRS update to use unique identifiers and validate fixture installation.
This script tests the behavior of the CRS update when the updater is disabled, ensuring that the status reflects 'skipped' and that the bundled CRS files remain intact.
Add a test script to verify fallback behavior during CRS update download failure.
This script tests the fallback behavior of the CRS updater when the SHA256 checksum does not match the expected value. It verifies that the bundled CRS remains unchanged and that the correct status is recorded.
This script tests the behavior of the CRS update process when a lock is held by another instance. It verifies that the update is skipped and the bundled CRS remains intact.
…docker-compose.yml to remove profiles for both, and add script execution in modsec_entry.sh for persona swapping.
- Add nginx-based Moodle 3.9.3 persona (login, admin, lib paths) for sector lure
- Wire persona-moodle into docker-compose and swap_persona rotation
- Extend Shodan context_key with cloud provider/region when present
- Add /readme.html (WordPress) and /CHANGELOG.txt (Drupal) version surfaces
- Add CI test for Moodle persona

Made-with: Cursor
- Introduced specific location blocks in nginx configurations to handle requests for version.php and drupal.js files, enhancing detection of CMS versions.
- Updated persona_manifest with new fingerprint summaries reflecting these changes.
- Enhanced test scripts to verify the presence of version information for each CMS.

This improves the accuracy of the honeypot's fingerprinting capabilities.
- Improved nginx configurations for handling version.php and drupal.js requests, refining CMS version detection.
- Updated persona_manifest with new fingerprint summaries to reflect recent changes.
- Enhanced test scripts to ensure accurate verification of version information across WordPress, Drupal, and Moodle.

These updates bolster the honeypot's fingerprinting accuracy.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant