Skip to content

crimsonvortex69/vulnerability-scanner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vulnerability Scanner

A comprehensive Python-based vulnerability scanner for detecting common security issues in web applications and networks.

Features

Port Scanning - Detect open ports and running services ✅ Weak Configuration Detection - Identify misconfigured services ✅ Outdated Software Detection - Check for known vulnerable versions ✅ Vulnerability Report Generation - JSON, HTML, and text reports ✅ CVE Database Integration - Check against known vulnerabilities ✅ Service Fingerprinting - Identify services and versions

Installation

git clone https://github.com/crimsonvortex69/vulnerability-scanner.git
cd vulnerability-scanner
pip install -r requirements.txt

Quick Start

# Scan a single host
python scanner.py -t 192.168.1.1

# Scan with specific port range
python scanner.py -t 192.168.1.1 -p 80-443

# Generate HTML report
python scanner.py -t 192.168.1.1 --report html

# Verbose output
python scanner.py -t 192.168.1.1 -v

Usage

Usage: python scanner.py [OPTIONS]

Options:
  -t, --target TEXT           Target IP address or hostname [required]
  -p, --ports TEXT            Port range (e.g., 1-1000) [default: 1-65535]
  --timeout INT               Socket timeout in seconds [default: 2]
  --report TEXT               Report format (json, html, text) [default: text]
  -o, --output TEXT           Output file path [default: report]
  -v, --verbose               Enable verbose output
  --check-cve                 Check against CVE database
  --help                      Show this message and exit

Project Structure

vulnerability-scanner/
├── scanner.py              # Main entry point
├── modules/
│   ├── __init__.py
│   ├── port_scanner.py     # Port scanning functionality
│   ├── version_detector.py # Software version detection
│   ├── config_analyzer.py  # Configuration analysis
│   └── cve_checker.py      # CVE database lookup
├── reports/
│   ├── __init__.py
│   ├── json_reporter.py    # JSON report generation
│   ├── html_reporter.py    # HTML report generation
│   └── text_reporter.py    # Text report generation
├── utils/
│   ├── __init__.py
│   └── logger.py           # Logging utilities
├── requirements.txt        # Project dependencies
└── README.md              # This file

Dependencies

  • socket - Network communication (built-in)
  • nmap / python-nmap - Advanced port scanning
  • requests - HTTP requests for service detection
  • click - CLI interface
  • colorama - Colored terminal output
  • jinja2 - HTML report templating

Report Formats

Text Report

Human-readable format with color-coded severity levels:

  • 🔴 CRITICAL
  • 🟠 HIGH
  • 🟡 MEDIUM
  • 🟢 LOW

JSON Report

Structured data format for automation and integration:

{
  "target": "192.168.1.1",
  "scan_date": "2026-05-26T10:30:00Z",
  "vulnerabilities": [
    {
      "port": 22,
      "service": "SSH",
      "version": "OpenSSH 5.1",
      "severity": "HIGH",
      "cve": ["CVE-2020-14145"]
    }
  ]
}

HTML Report

Interactive web-based report with charts and severity filters.

Examples

Scan Local Network

python scanner.py -t 192.168.1.0/24 --report html -o network_scan

Check Specific Ports with CVE Lookup

python scanner.py -t example.com -p 80,443,8080,3306 --check-cve --report json

Continuous Monitoring

while true; do
  python scanner.py -t 192.168.1.1 --report json -o scans/$(date +%s).json
  sleep 3600
done

Security Considerations

⚠️ Legal Notice: Only use this tool on systems you own or have explicit permission to test.

  • Unauthorized scanning may violate laws and regulations
  • Always get written permission before testing systems
  • Use responsibly and ethically
  • Document all scanning activities

Limitations

  • UDP scanning requires elevated privileges
  • Some firewalls may block or interfere with scanning
  • False positives are possible; manual verification recommended
  • Network latency may affect accuracy

Contributing

Contributions welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Submit a pull request

Disclaimer

This tool is for educational and authorized testing purposes only. Unauthorized access to networks is illegal.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages