A modular reconnaissance engine for OSINT and security research. This engine provides modules for username, breach, and domain reconnaissance with JSON logging and optional LLM summarization.
- Modular Design: Three recon modules (username, breach, domain)
- JSON Logging: Structured logging for all operations
- FastAPI Endpoints: RESTful API for integration
- CLI Runner: Command-line interface for quick recon tasks
- Ollama Integration: Optional LLM summarization of results
- Python 3.8+
- Optional: Ollama for LLM summarization
-
Clone or extract this directory
-
Create a virtual environment
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies
pip install -r requirements.txt
-
Create your environment file
cp .env.example .env
Edit the
.envfile to customize your setup if needed.
The recon.py script provides a command-line interface for running recon tasks:
# Run username reconnaissance
python recon.py --username johndoe
# Run breach reconnaissance for an email
python recon.py --breach email@example.com --type email
# Run domain reconnaissance with subdomain enumeration
python recon.py --domain example.com --subdomains
# Run username reconnaissance with specific platforms
python recon.py --username johndoe --platforms twitter,github,linkedin
# Generate a summary of results (requires OLLAMA_HOST)
python recon.py --username johndoe --summarize
# Save results to a file
python recon.py --domain example.com --output results.jsonStart the API server:
cd recon_engine/api
uvicorn app:app --reloadOr use the built-in runner:
python -m recon_engine.api.app- Health Check:
GET /health - Username Recon:
POST /username - Breach Recon:
POST /breach - Domain Recon:
POST /domain - Ingest Target:
POST /ingest - Generate Summary:
POST /summary
Example API request:
curl -X POST http://localhost:8000/username \
-H "Content-Type: application/json" \
-d '{"username": "johndoe", "platforms": ["twitter", "github", "linkedin"]}'- Username Recon: Searches for username across various platforms
- Breach Recon: Checks for email or domain in breach databases
- Domain Recon: Gathers information about domains including DNS, technologies, and security
All operations are logged in structured JSON format in the logs directory:
- Run Logs:
logs/recon_YYYYMMDD_HHMMSS.json - Result Logs:
logs/result_MODULE_YYYYMMDD_HHMMSS.json
To enable LLM summarization of results:
- Install and run Ollama: https://ollama.ai/
- Pull the llama3 model:
ollama pull llama3 - Set the
OLLAMA_HOSTenvironment variable in your.envfile:OLLAMA_HOST=http://localhost:11434
- Create a new Python file in the
modulesdirectory - Implement the module's functionality
- Add the module to the
ReconEngineclass inengine.py - Update the API and CLI interfaces as needed
The logging system can be customized by modifying the logger.py file.
- This is a reconnaissance tool intended for legitimate security research and OSINT
- Always ensure you have proper authorization before scanning targets
- The tool includes mock data for demonstration purposes
- Replace mock implementations with real API calls for production use
This project is part of the Cerberus suite of security tools.