Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gui # Xentinel

High-performance asynchronous reconnaissance framework for security professionals.

Xentinel is a focused, modular toolkit designed for authorized security assessments. It combines fast concurrent HTTP intelligence gathering, CMS & technology fingerprinting, security-header evaluation, sensitive-path discovery, and component vulnerability enrichment into a single pipeline — available both as a clean dark-themed GUI and a scriptable CLI.

Legal notice
Use Xentinel only against targets you own or have explicit written permission to test. Unauthorized scanning may be illegal in your jurisdiction.


Features

Capability Description
Mass & single-target recon Process one URL or bulk lists from .txt files
Async pipeline Built on asyncio + aiohttp with configurable concurrency
CMS detection Signature-based scoring (WordPress, Joomla, Drupal, Magento, PrestaShop, Shopify, Next.js, Nuxt, Laravel, Django, …)
Technology fingerprinting CDN, cloud providers, JS frameworks, analytics, WAF indicators
Security header audit HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy
Sensitive path fuzzing CMS-specific + generic high-value paths (.env, .git/HEAD, backups, admin panels…)
Addon extraction Plugins / themes discovery via regex signatures
Vulnerability enrichment Queries the public OSV.dev API for known issues on detected components
TCP port scan Concurrent check of common service ports
TLS certificate insight Version, issuer, validity window
Proxy support Optional rotation from storage/proxies.txt
Reporting JSON & CSV export
Dual interface Modern CustomTkinter GUI + full-featured CLI

Quick Start

# Clone / enter the project
cd Xentinel

# Install dependencies (Python ≥ 3.10 recommended)
pip install -r requirements.txt

# Launch the GUI
python xentinel.py

# Or run from the command line
python xentinel.py -t example.com
python xentinel.py -t targets.txt -o report.json --no-ports

CLI options

-t, --targets     Single URL, comma-separated list, or path to a .txt file
-o, --output      Write full JSON results to the given file
--no-proxy        Disable proxy usage
--no-ports        Skip TCP port scanning
--no-fuzz         Skip sensitive-path discovery
--no-vulns        Skip OSV component vulnerability lookup
--gui             Force GUI mode

Project Layout

Xentinel/
├── xentinel.py                 # Entry point (GUI + CLI)
├── requirements.txt
├── README.md
├── xentinel/
│   ├── core/
│   │   ├── engine.py           # Main async scan pipeline
│   │   ├── network.py          # DNS, ports, TLS helpers
│   │   ├── signatures.py       # Rule loading & defaults
│   │   └── vuln_checker.py     # OSV.dev integration
│   ├── modules/
│   │   ├── addon_detector.py
│   │   ├── html_parser.py
│   │   ├── security_headers.py
│   │   └── tech_detector.py
│   ├── gui/
│   │   └── app.py
│   └── utils/
│       └── helpers.py
├── storage/
│   ├── cms_rules.json          # CMS fingerprints & sensitive paths
│   ├── addon_rules.json        # Plugin/theme extraction regexes
│   ├── tech_rules.json         # Broader tech signatures
│   └── proxies.txt.example
└── reports/                    # Default export directory

Configuration

  • Proxies – copy storage/proxies.txt.examplestorage/proxies.txt and add one proxy per line (http://host:port or http://user:pass@host:port).
  • Signatures – all detection logic is data-driven. Extend cms_rules.json, addon_rules.json or tech_rules.json without touching Python code.
  • Scan options – both GUI checkboxes and CLI flags let you disable port scanning, fuzzing or vulnerability lookups for quieter or faster runs.

Output Schema (JSON)

Each successful target produces a document containing:

  • url, ip, server, response_time_ms, status_code
  • cms + confidence score
  • technologies (list)
  • open_ports
  • security_headers (status / severity / recommendation)
  • exposed_files (path + HTTP status)
  • addons (plugins & themes)
  • vulnerabilities (OSV results keyed by component)
  • tls (certificate summary)
  • meta (title, generator, description, canonical…)

Extending Xentinel

  1. New CMS – add an entry to storage/cms_rules.json with html_keywords, optional html_regex, headers and sensitive_paths.
  2. New addon patterns – update addon_rules.json.
  3. New technology – add signatures to tech_rules.json.
  4. Custom post-processing – the engine returns a plain dict; pipe it into your own reporting or SIEM integration.

Design Notes for Practitioners

  • Requests rotate realistic browser User-Agents.
  • Concurrency is bounded (connector limit + semaphore on vuln lookups).
  • HEAD is preferred for path fuzzing to reduce bandwidth and noise.
  • TLS inspection runs in a thread-pool executor so it never blocks the event loop.
  • All external calls (OSV) fail open — a unreachable vulnerability database never aborts a scan.
  • The tool deliberately stays passive/semi-passive; it does not attempt exploitation or aggressive brute-forcing.

Requirements

  • Python 3.10+
  • aiohttp, beautifulsoup4, customtkinter, lxml (see requirements.txt)

License & Responsible Use

This software is provided for legitimate security research, red-team exercises and defensive assessments only. The authors assume no liability for misuse.

Xentinel — understand the attack surface before an adversary does.

About

High-performance async reconnaissance framework. Features CMS fingerprinting, port scanning, path discovery, and vulnerability enrichment (OSV.dev). Includes a modern GUI & scriptable CLI.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages