Getting Started
After installing Ghost Scout, you can begin your reconnaissance workflow. The application provides a web interface accessible athttp://localhost:3000.
Typical Workflow
Ghost Scout follows a sequential workflow for building phishing campaigns:Add Target Domain
- Enter the domain (e.g.,
example.com) - Ghost Scout will store the domain and prepare for reconnaissance
- DNS records will be queued for lookup
Start Reconnaissance
- Click “Start Reconnaissance” for the target domain
- Hunter.io API will search for email addresses
- Email format patterns will be identified
- Discovered contacts will be stored in the database
- Real-time updates will show progress
Scrape Sources
- Review discovered sources for each contact
- Select sources to scrape for additional information
- HTML content will be converted to Markdown
- Source data will be associated with contacts
- Enriched profiles will include scraped content
Generate Profiles
- Select contacts for profile generation
- Anthropic API will analyze scraped data
- AI will generate structured profiles
- Profiles include key information and context
- Review generated profiles for accuracy
Create Pretexts
- Select targets for pretext generation
- Choose prompt template from library
- AI generates personalized pretexts
- Review generated emails for quality
- Edit pretexts as needed
Review & Export
- Review all generated pretexts
- Make final edits and approvals
- Export for use in phishing infrastructure
- Track which pretexts have been used
Feature Usage
Domain Management
- Add Domain
- View DNS Records
- Navigate to the Domains page
- Click “Add Domain”
- Enter the target domain (without
http://orwww) - Click “Submit”
- Store the domain in the database
- Queue DNS lookups (MX, SPF, DMARC records)
- Prepare for reconnaissance activities
Reconnaissance
- Start Reconnaissance
- Monitor Progress
- Review Contacts
- Select a domain from your list
- Click “Start Reconnaissance”
- Monitor real-time progress updates
- Hunter.io API searches for email addresses at the domain
- Email format patterns are identified (e.g.,
{first}.{last}@domain.com) - Discovered contacts are stored with available information
- Sources (LinkedIn, company websites, etc.) are recorded
- Real-time updates show discovered contacts
Source Scraping
- Select Sources
- Scraping Process
- Review Scraped Data
- Navigate to a contact’s detail page
- Review discovered sources (URLs)
- Select sources likely to contain useful information
- Click “Scrape Selected”
- LinkedIn profiles
- Company bios
- Blog posts
- Social media profiles
- Company directories
Profile Generation
- Generate Profiles
- Profile Quality
- Edit Profiles
- Select contacts with scraped data
- Click “Generate Profiles”
- Monitor queue processing
- Review generated profiles
- Professional background
- Role and responsibilities
- Interests and activities
- Public information summary
- Context for personalization
Pretext Generation
- Choose Template
- Generate Pretexts
- Review & Edit
prompt_library/:- IT support pretexts
- HR/benefits pretexts
- Executive communication pretexts
- Vendor/partner pretexts
- Security awareness pretexts
Export & Campaign Management
- Export Pretexts
- Track Usage
- Data Management
- CSV format with target information
- Individual email templates
- Bulk export functionality
Operational Scenarios
Scenario 1: Broad Company Reconnaissance
Goal: Discover as many employees as possible at a target organizationAdd Primary Domain
Start Reconnaissance
Identify Related Domains
- Subsidiary domains
- Regional domains
- Acquired company domains
Expand Reconnaissance
Prioritize Targets
- Executive leadership
- IT administrators
- Finance personnel
- HR staff
Scenario 2: Targeted Spear Phishing
Goal: Create highly personalized pretexts for specific individualsIdentify Targets
- C-level executives
- Department heads
- Project managers
Comprehensive Source Scraping
- LinkedIn profiles
- Company bios
- Conference presentations
- Blog posts
- Social media
Generate Detailed Profiles
Custom Pretexts
- Recent activities
- Professional interests
- Current projects
- Industry trends relevant to target
Manual Refinement
Scenario 3: Campaign Template Development
Goal: Develop reusable pretext templates for multiple campaignsResearch Multiple Organizations
Identify Common Patterns
- Similar roles
- Common workflows
- Industry-specific language
- Shared pain points
Create Template Pretexts
- Generic IT support scenarios
- Common HR/benefits topics
- Industry-standard processes
Customize Per Campaign
- Organization-specific details
- Target-specific information
- Current events/context
OPSEC Best Practices
Hunter.io Usage
API Key Management
API Key Management
- Use dedicated API keys for operations
- Avoid personal/company accounts
- Consider disposable accounts for sensitive engagements
- Rotate keys between campaigns
- Monitor API usage and rate limits
Search Patterns
Search Patterns
- Be aware Hunter.io may notify target organizations
- Space out searches over time
- Avoid rapid sequential searches
- Consider search volume limits
- Document search timestamps
Attribution
Attribution
- Hunter.io searches can be attributed to your account
- Target organizations may receive alerts
- Consider using separate accounts per client
- Be prepared to explain reconnaissance activities
- Maintain engagement documentation
Infrastructure Security
Network Isolation
Network Isolation
- Deploy Ghost Scout on isolated infrastructure
- Use VPN or dedicated network for operations
- Separate infrastructure per engagement
- Avoid using organizational networks
- Consider cloud-based deployments
Data Security
Data Security
- Encrypt SQLite database files
- Secure Redis instance with passwords
- Limit access to Ghost Scout interface
- Implement authentication and access control
- Backup data securely
Operational Hygiene
Operational Hygiene
- Clean up data between engagements
- Delete reconnaissance data after campaigns
- Maintain separate instances per client
- Document data retention policies
- Secure API keys and credentials
Content Generation
AI-Generated Content
AI-Generated Content
- Review all AI-generated content carefully
- Watch for AI artifacts and inconsistencies
- Verify personalized details are accurate
- Ensure realistic tone and style
- Edit for natural language
Personalization Accuracy
Personalization Accuracy
- Verify scraped information is current
- Check that details match target’s reality
- Avoid outdated or incorrect information
- Cross-reference multiple sources
- Update profiles as needed
Template Management
Template Management
- Customize prompt templates for each engagement
- Test templates with sample data
- Iterate based on campaign results
- Document effective templates
- Maintain template library
Automation Examples
Bulk Profile Generation
Scheduled Reconnaissance
Export Automation
Troubleshooting
No Contacts Found
No Contacts Found
- Hunter.io has no data for the domain
- Domain spelling error
- Private/small organization
- API key issues
- Verify domain spelling
- Check Hunter.io directly for domain data
- Try related domains
- Verify API key is valid
- Check Hunter.io account status
Scraping Failures
Scraping Failures
- Source URL is behind authentication
- Source has anti-scraping protections
- MarkItDown-API connection issues
- Rate limiting by source site
- Verify MarkItDown-API is running
- Check source URL is accessible
- Space out scraping requests
- Skip protected sources
- Manual data collection for important sources
Profile Generation Errors
Profile Generation Errors
- Insufficient scraped data
- Anthropic API key issues
- API rate limits
- Prompt template errors
- Scrape more sources for the target
- Verify Anthropic API key
- Check API usage and limits
- Review prompt template syntax
- Monitor job queue for errors
Pretext Quality Issues
Pretext Quality Issues
- Low-quality profile data
- Inappropriate template selection
- Prompt needs customization
- LLM hallucination
- Improve profile quality with better sources
- Choose more appropriate template
- Customize prompt templates
- Manually edit generated pretexts
- Provide more context in prompts
Real-time Updates Not Working
Real-time Updates Not Working
- Socket.io connection issues
- Redis connection problems
- Job queue not processing
- Client-side JavaScript errors
- Check browser console for errors
- Verify Redis is running
- Check Socket.io connection status
- Restart Ghost Scout application
- Clear browser cache and reload