Skip to main content

Advanced subdomain takeover reconnaissance & safe-vulnerability-detection

Project description

ReClaimor

Advanced subdomain takeover reconnaissance & safe-vulnerability-detection — smart, fast, and responsibly built.

Built by @letchu

⚠️ Legal & Ethical Notice

BY USING RECLAIMOR YOU CONFIRM YOU HAVE EXPLICIT AUTHORIZATION TO SCAN THE TARGETS.

This tool is designed for:

  • Security researchers with proper authorization
  • Bug bounty hunters testing in-scope assets
  • Red teamers with client permission
  • Organizations testing their own infrastructure

The authors are not responsible for misuse. Unauthorized scanning is illegal.

🎯 What is ReClaimor?

ReClaimor is a cross-platform Python tool for discovering, validating, and triaging potential subdomain takeover opportunities. It focuses on accurate detection with minimal false positives, comprehensive provider fingerprints, async scanning, and built-in verification capabilities.

✨ Features

  • Accurate Detection - Multi-tier checks with heuristic scoring (DNS, HTTP, TLS analysis)
  • Fast Async Scanning - Concurrent scanning with connection pooling
  • Multiple Input Modes - Single URL, file input, or stdin pipe
  • 20+ Provider Fingerprints - AWS S3, Azure, GitHub Pages, Heroku, Netlify, Vercel, and more
  • Auto-Exploitation - Optional safe verification by attempting takeover (use responsibly!)
  • Safe Mode - Detection-only mode (default) for passive reconnaissance
  • Detailed Reporting - JSON, CSV, HTML reports with confidence scores
  • TUI Interface - Interactive terminal UI for manual triage
  • Webhook Integration - Slack/Discord notifications for findings
  • Resume Support - Checkpoint and resume interrupted scans
  • Extensible - Plugin system for custom providers

🚀 Quick Start

Installation Options

# Option 1: From source
git clone https://github.com/letchupkt/ReClaimor.git
cd ReClaimor
pip install -e .

# Option 2: From PyPI (when published)
pip install reclaimor

# Option 3: Using Docker
docker pull letchupkt/reclaimor:latest

# Option 4: Download executable
# Download from GitHub Releases
# https://github.com/letchupkt/ReClaimor/releases

Basic Usage

# Single target scan
reclaimor --url sub.example.com

# Batch scan from file
reclaimor --file targets.txt --concurrency 50

# With auto-exploitation (requires explicit flag)
reclaimor --file targets.txt --auto-exploit --aggressive --output results.json

# Interactive TUI mode
reclaimor --file targets.txt --tui

# Self-check
reclaimor --self-check

# Docker usage
docker run -v $(pwd)/targets.txt:/targets.txt letchupkt/reclaimor --file /targets.txt

📦 Installation

# From source
git clone https://github.com/letchupkt/ReClaimor.git
cd ReClaimor
pip install -e .

# Or via pip (when published)
pip install reclaimor

Requirements: Python 3.10+

🔧 Usage Examples

# Scan single domain (safe mode)
reclaimor --url abandoned.example.com

# Scan from file with custom concurrency
reclaimor --file targets.txt --concurrency 100 --timeout 10

# Pipe from other tools
subfinder -d example.com | reclaimor --stdin

# Auto-exploit vulnerable targets (REQUIRES AUTHORIZATION)
reclaimor --file targets.txt --auto-exploit --aggressive

# Generate HTML report
reclaimor --file targets.txt --output report.html --format html

# With Slack notifications
reclaimor --file targets.txt --webhook https://hooks.slack.com/...

# Resume interrupted scan
reclaimor --file targets.txt --resume scan_checkpoint.json

# Debug mode
reclaimor --url test.example.com --debug --verbose

📊 Output Formats

  • Console - Colorized summary with confidence scores
  • JSON - Machine-readable results
  • CSV - Spreadsheet-compatible format
  • HTML - Interactive sortable report

🎨 Configuration

Create ~/.reclaimor/config.yaml:

concurrency: 50
timeout: 15
retries: 3
user_agent: "ReClaimor/0.1.0"
safe_mode: true
rate_limit: 10  # requests per second
webhook_url: ""
fingerprints_dir: "~/.reclaimor/fingerprints"

🔌 Plugins

Add custom provider checks in ~/.reclaimor/plugins/:

# custom_provider.py
from reclaimor.plugins import BaseProvider

class MyProvider(BaseProvider):
    name = "CustomCloud"
    
    async def check(self, domain, response):
        if "custom error" in response.text:
            return {"vulnerable": True, "confidence": 85}
        return {"vulnerable": False}

🧪 Testing

# Run tests
pytest

# With coverage
pytest --cov=reclaimor

# Integration tests (CI only)
pytest --integration

🐳 Docker

# Build
docker build -t reclaimor .

# Run
docker run -v $(pwd)/targets.txt:/targets.txt reclaimor --file /targets.txt

📚 Provider Support

Currently supports 20+ providers including:

  • AWS S3, CloudFront
  • Azure Blob Storage, CDN
  • GitHub Pages
  • Heroku
  • Netlify
  • Vercel
  • Fastly
  • Shopify
  • Tumblr
  • WordPress.com
  • And more...

🛡️ Safety Features

  • Safe Mode (Default) - Detection only, no exploitation
  • Explicit Flags Required - --auto-exploit and --aggressive must be set
  • Rate Limiting - Prevents accidental DoS
  • Permission Checklist - Prints before scanning
  • No Destructive Actions - Even in exploit mode, only safe verification

🤝 Contributing

See CONTRIBUTING.md for guidelines.

📝 Responsible Disclosure

If you find vulnerabilities using ReClaimor, please follow responsible disclosure:

  1. Notify the asset owner privately
  2. Allow reasonable time for remediation (90 days recommended)
  3. Do not publicly disclose until fixed

📄 License

MIT License - see LICENSE

👤 Author

Lakshmikanthan (@letchu)

🙏 Acknowledgments

Built with security research community best practices in mind.


Version: 0.1.0
Status: Active Development

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

reclaimor-0.1.0.tar.gz (27.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

reclaimor-0.1.0-py3-none-any.whl (33.1 kB view details)

Uploaded Python 3

File details

Details for the file reclaimor-0.1.0.tar.gz.

File metadata

  • Download URL: reclaimor-0.1.0.tar.gz
  • Upload date:
  • Size: 27.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.0

File hashes

Hashes for reclaimor-0.1.0.tar.gz
Algorithm Hash digest
SHA256 549dd5b68c5e0c2805a7646d80113aad4f9743f3bf2e73153c9113c1a67ee134
MD5 1ace86513b80b9af2889587019cd8903
BLAKE2b-256 97949718af9ebae1a963b08d39eb136929a62701acd5821753bd8a283b92427f

See more details on using hashes here.

File details

Details for the file reclaimor-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: reclaimor-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 33.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.0

File hashes

Hashes for reclaimor-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3111af467917a184401d8934c5ae09e5dc2cf81852d0a68f2e2039c76e31bd85
MD5 a0a8ce6b1aab30ca83ed6b8572baa8c0
BLAKE2b-256 b479a8a59e32a514106097c01f5bf33c4c7d1c5220029145897f2e5bab961be4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page