GhostTrace is a command-line tool for the footprinting phase in penetration testing or security assessments. It automates the collection of general information about target domains and the web technologies in use.
Main modules of GhostTrace include:
- Stage 1: General Domain & Website Information (WHOIS, DNS, Subdomains, Hosting, SSL/TLS)
- Stage 2: Web Application Technology Information (Server, CMS/Framework, Programming Languages, Databases, Libraries/Plugins)
Scan results are organized into the data/raw directory and can be converted to CSV format using parser.py.
- WHOIS Information
- DNS Records
- Subdomain Enumeration
- Hosting/Geo-IP Information
- SSL/TLS Certificate Details
- Web Server Detection (HTTP Headers)
- CMS/Framework Detection (Wappalyzer + Playwright)
- Programming Language Detection (X-Powered-By header)
- Database Indicators (MySQL, PostgreSQL, MongoDB, SQLite)
- Libraries/Plugins Detection (Wappalyzer)
- CSV Report Generation
- Modular design for future expansion (Stage 3: Vulnerability enumeration)
- Structured scan output (raw & parsed)
- Linux (tested on Debian 12)
whoisdig(DNS utilities)curlopensslsubfinderfigletpython3,pip,venv
Listed in requirements.txt:
playwright
python-Wappalyzer
requests
beautifulsoup4
Install via:
python3 -m venv venv
source venv/bin/activate
pip install --upgrade pip --break-system-packages
pip install -r requirements.txt --break-system-packages
# Install browser dependencies for Playwright
playwright installgit clone https://github.com/xRiot45/GhostTrace.git
cd GhostTrace
chmod +x src/bash/main.shsudo ./src/bash/main.sh <domain>Example:
sudo ./src/bash/main.sh example.comdata/
├── raw/ # Raw output (WHOIS, DNS, Subdomains, Hosting, SSL, Technology)
└── parsed/ # Parsed CSV reports
src/
├── bash/ # Footprinting stage scripts
│ ├── general_info.sh # Stage 1
│ ├── technology_info.sh # Stage 2
│ └── main.sh # Main menu
└── python/ # Parser & technology detection
├── parser.py
└── tech_detect.py
venv/
requirements.txt
- WHOIS Information
- DNS Records
- Subdomain Enumeration
- Hosting/Server Info (Geo-IP)
- SSL/TLS Certificate Info
- Run ALL
-
Web Server Detection
- Extracts the
Server:header from HTTP/HTTPS responses.
- Extracts the
-
CMS / Framework Detection (Wappalyzer)
- Uses Playwright + python-Wappalyzer for webpage content analysis.
-
Programming Language Detection
- Detects
X-Powered-By:header (e.g., PHP, ASP.NET).
- Detects
-
Database Indicators
- Searches for MySQL, PostgreSQL, MongoDB, SQLite strings in page content.
-
Libraries / Plugins Detection
- Identifies libraries and plugins using Wappalyzer.
-
Run ALL
Raw scan results are saved in:
data/raw/<domain>/technology_info/
Then processed by parser.py into CSV:
data/parsed/<domain>_footprinting.csv
- Web Server:
data/raw/<domain>/technology_info/web_server.txt - CMS / Framework:
data/raw/<domain>/technology_info/cms_framework.txt - Languages:
data/raw/<domain>/technology_info/languages.txt - Database Indicators:
data/raw/<domain>/technology_info/database.txt - Libraries / Plugins:
data/raw/<domain>/technology_info/libraries_plugins.txt
xRiot45
MIT License