Skip to content

atenreiro/opensquat

openSquat Logo

openSquat

Python 3.6+ License: GPL v3 GitHub issues GitHub stars


πŸ“‘ Table of Contents


🎯 What is openSquat?

openSquat is an Open Source Intelligence (OSINT) security tool that identifies cyber squatting threats targeting your brand or domains:

Threat Type Description
🎣 Phishing Fraudulent domains mimicking your brand
πŸ”€ Typosquatting Domains with common typos (e.g., gooogle.com)
🌐 IDN Homograph Look-alike characters from other alphabets
πŸ‘₯ DoppelgΓ€nger Domains containing your brand name
πŸ”€ Bitsquatting Single-bit errors in domain names

✨ Key Features

  • πŸ“… Daily NRD feeds β€” Automatic newly registered domain updates
  • πŸ” Similarity detection β€” Levenshtein & Jaro-Winkler algorithms
  • πŸ›‘οΈ VirusTotal integration β€” Check domain reputation
  • 🌐 Quad9 DNS validation β€” Identify malicious domains
  • πŸ“œ Certificate Transparency β€” Monitor SSL/TLS certificates
  • πŸ“Š Multiple output formats β€” TXT, JSON, CSV

πŸš€ Quick Start

# 1. Clone the repository
git clone https://github.com/atenreiro/opensquat
cd opensquat

# 2. Install dependencies
pip install -r requirements.txt

# 3. Run with your keywords
python opensquat.py -k keywords.txt

πŸ“¦ Requirements

  • Python 3.6+
  • Dependencies: colorama, dnspython, requests, beautifulsoup4

πŸ“– Usage

Basic Commands

# Default run
python opensquat.py

# Show all options
python opensquat.py -h

# Use custom keywords file
python opensquat.py -k my_keywords.txt

Validation Options

# DNS validation via Quad9
python opensquat.py --dns

# Check Certificate Transparency logs
python opensquat.py --ct

# Scan for open ports (80/443)
python opensquat.py --portcheck

# Cross-reference phishing databases
python opensquat.py --phishing results.txt

Output Formats

# Save as JSON
python opensquat.py -o results.json -t json

# Save as CSV
python opensquat.py -o results.csv -t csv

Confidence Levels

Level Flag Description
0 -c 0 Very high (fewer results, high accuracy)
1 -c 1 High (default)
2 -c 2 Medium
3 -c 3 Low
4 -c 4 Very low (more results, more false positives)

βš™οΈ Configuration

Keywords File (keywords.txt)

# Lines starting with # are comments
mycompany
mybrand
myproduct

VirusTotal API Key (vt_key.txt)

To use --vt or --subdomains, add your API key:

# Get your free API key at https://www.virustotal.com
your_api_key_here

πŸ€– Automation

Run daily via crontab:

# Every day at 8 AM (feeds update ~7:30 AM UTC)
0 8 * * * /path/to/opensquat/opensquat.py -k keywords.txt -o results.json -t json

πŸ”— Integrations

Platform Link
πŸ€– Telegram Bot @opensquat_bot
πŸ”Œ REST API RapidAPI

πŸ“‹ CLI Reference

Argument Default Description
-k, --keywords keywords.txt Keywords file to search
-o, --output results.txt Output filename
-t, --type txt Output format: txt, json, csv
-c, --confidence 1 Confidence level (0-4)
-d, --domains β€” Use local domain file instead of downloading
-m, --method Levenshtein Algorithm: Levenshtein or JaroWinkler
--dns β€” Enable Quad9 DNS validation
--ct β€” Search Certificate Transparency logs
--phishing β€” Cross-reference phishing database
--subdomains β€” Fetch subdomains via VirusTotal
--portcheck β€” Check for open ports 80/443
--vt β€” Validate against VirusTotal

🀝 Contributing

We welcome contributions! See our Contributing Guide for details.

  • πŸ› Report bugs via GitHub Issues
  • πŸ’‘ Request features by opening an issue
  • πŸ”§ Submit PRs for bug fixes or enhancements

πŸ‘€ Author

Andre Tenreiro β€” LinkedIn Β· PGP Key


πŸ“œ License

This project is licensed under the GNU GPL v3.

About

The openSquat is an open-source tool for detecting domain look-alikes by searching for newly registered domains that might be impersonating legit domains and brands.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Sponsor this project

Packages

 
 
 

Languages