whathehack81/squirm

GitHub: whathehack81/squirm

Stars: 1 | Forks: 0

# SQUIRM v2 - Clean Recon Streamlined bash recon pipeline. Subdomains → alive → endpoints → JSON → entropy. ## 🚀 Quick Start ### Install Dependencies **Ubuntu/Debian (apt):** sudo apt update && sudo apt install -y curl jq python3 python3-pip golang-go && go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest && go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest && go install -v github.com/projectdiscovery/katana/cmd/katana@latest && pip3 install httpie **Arch Linux (pacman):** sudo pacman -Syu && sudo pacman -S curl jq python3 go httpie && go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest && go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest && go install -v github.com/projectdiscovery/katana/cmd/katana@latest && pip install httpie Then add Go binaries to PATH: export PATH=$PATH:$(go env GOPATH)/bin ### Quick Setup git clone https://github.com/whathehack81/squirm cd squirm chmod +x squirm.sh brain.sh ./squirm.sh -t example.com ## 📋 Usage ./squirm.sh -t target.com [OPTIONS] Options: --target, -t DOMAIN Target domain to scan --scope FILE Scope file (one domain per line) --proxy URL HTTP proxy (e.g., http://127.0.0.1:8080) --out-dir DIR Output directory (default: intel/) --fast Skip endpoint collection --entropy Enable entropy scanning for secrets --help, -h Show help ### Examples # Single target, full scan ./squirm.sh -t example.com # Fast mode (no endpoints) ./squirm.sh -t example.com --fast # With entropy scanning for secrets ./squirm.sh -t example.com --entropy # Through proxy ./squirm.sh -t example.com --proxy http://127.0.0.1:8080 # Batch scan from scope file ./squirm.sh --scope targets.txt ## 📊 Output Structure intel/target.com/ ├── raw/ │ ├── subdomains.txt # All discovered subdomains │ ├── alive.txt # Live/responsive hosts │ ├── endpoints.txt # Raw endpoints from GAU │ └── cleaned-endpoints.txt # Filtered & denoised endpoints ├── classified/ │ ├── auth.txt # Authentication endpoints │ ├── platform.txt # Internal/platform endpoints │ ├── features.txt # Feature-specific endpoints │ └── frontend.txt # JavaScript/frontend assets ├── flags/ │ ├── entropy-input.txt # URLs for entropy scanning │ └── entropy-candidates.txt # Detected secrets/tokens └── report.json # Structured intelligence report ## 🧠 SQUIRM Brain v2 - Intelligent Classification The Brain system automatically scores and prioritizes endpoints: ./brain.sh target.com **Scoring System:** - **90+**: CRITICAL (SSRF, file interaction, config exposure) - **80-89**: HIGH (financial, admin, auth, IDOR) - **60-79**: MEDIUM (debug, staging, non-prod) - **25-59**: LOW (generic endpoints) - **5-24**: STATIC (assets, images, styles) - **0-5**: NOISE (marketing, blogs, irrelevant content) **Output:** intel/target.com/brain-output.txt # Full scored results intel/target.com/high-value.txt # Only 80+ priority targets ## 🔧 Dependencies | Tool | Purpose | Source | |------|---------|--------| | `subfinder` | Subdomain enumeration | ProjectDiscovery | | `httpx` | HTTP probing | ProjectDiscovery | | `katana` | Endpoint crawling | ProjectDiscovery | | `gau` | URL archiving | Tomnomnom | | `jq` | JSON processing | stedolan | | `curl` | HTTP requests | curl project | | `httpie` | HTTP CLI | httpie.io | | `python3` | Python runtime | Python | | `pip` | Package manager | Python | ## 🎯 Workflow 1. **Enumeration**: subfinder discovers subdomains 2. **Probing**: httpx checks which are alive 3. **Collection**: gau + katana gather historical endpoints 4. **Cleaning**: Noise filtering & deduplication 5. **Classification**: Brain categorizes by risk level 6. **Analysis**: Entropy scanning detects potential secrets 7. **Reporting**: JSON output for automation/integration ## ⚡ Performance Tips - Use `--fast` mode for quick reconnaissance - Run entropy scanning separately for large datasets - Batch process with `--scope` for multiple targets - Use proxy to distribute load and avoid rate limiting ## 🐍 Python Version (In Development) A Python rewrite is in progress with: - Contract-based module architecture - Enhanced classification algorithms - Better performance & concurrency - Type-hinted codebase ## 📄 License See LICENSE file for details. **Last Updated:** 2026-05-12 | **Status:** Active Development