๐ KeyHound
KeyHound is an advanced JavaScript secrets hunting tool that sniffs out sensitive information from JavaScript files across web applications. Like a trained hunting dog, it tracks down secrets through web archives and crawling results, specializing in detecting API keys, credentials, and other sensitive data.
๐ Features
- ๐พ Persistent tracking through waybackurls and katana
- ๐ Advanced pattern sniffing for sensitive data
- ๐ฆฎ Automatic path finding and tool installation
- ๐ฏ High-precision concurrent scanning
- ๐ฆด Discovered secrets including:
- API Keys & Tokens
- AWS Keys
- Private Keys
- Database Connection Strings
- Internal Endpoints
- JWT Tokens
- Credentials
- And more...
๐ ๏ธ Installation
- Ensure Go 1.20 or later is installed:
go version
- Fetch KeyHound:
git clone https://github.com/elit3pwner/KeyHound.git
cd KeyHound
- Install dependencies:
go mod init keyhound
go mod tidy
- Train your hound:
go build -o keyhound
๐ Prerequisites
KeyHound will automatically fetch these tools, but you can manually install them:
- waybackurls:
go install github.com/tomnomnom/waybackurls@latest
- katana:
go install github.com/projectdiscovery/katana/cmd/katana@latest
๐ Running the Hunt
- Release the hound:
./keyhound
-
Choose your hunting mode:
- Use pre-collected trails (existing waybackurls and katana files)
- Start a fresh hunt on a new domain
-
For a fresh hunt:
- Specify the target domain
- Set the number of concurrent hunting threads
-
KeyHound will:
- Track URLs using waybackurls and katana
- Sniff out JavaScript files
- Hunt for sensitive information
- Store its findings in the
output
directory
๐ The Hunt Results
KeyHound organizes its findings in the output
directory:
waybackurls_domain.txt
: The tracked URL paths
katana_domain.txt
: Additional discovered trails
jsfiles_domain.txt
: Located JavaScript files
sensitive_findings.txt
: The valuable discoveries
๐ธ KeyHound in Action
๐ฏ Sample Discoveries
URL: https://example.com/assets/main.js
Pattern: api[_-]?key
Match: api_key: "abcd1234xyz"
---
URL: https://example.com/js/config.js
Pattern: mongodb(\+srv)?:\/\/[^\s<>"']+
Match: mongodb://admin:password@localhost:27017/db
โ ๏ธ Disclaimer
KeyHound is designed for security research and educational purposes only. Always obtain proper authorization before unleashing KeyHound on any domains. The authors are not responsible for any misuse or damage caused by this tool.
๐ค Contributing
Got ideas to make KeyHound a better hunter? Contributions are welcome! Feel free to submit a Pull Request.
๐ License
KeyHound is licensed under the MIT License - see the LICENSE file for details.
๐ Acknowledgments
Created with โค๏ธ by elit3pwner