Skip to content

JefferyCyber/Vulnerability-Scanner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

🔍 VulnScanner — Automated Vulnerability Scanner

Python License Platform Status

A fast, multithreaded Python-based vulnerability scanner that performs host discovery, port scanning, service/banner detection, CVE matching, and web service analysis — all in one tool. Results are saved as both a human-readable text report and a machine-readable JSON file.

⚠️ For authorised testing only. Only scan systems you own or have explicit written permission to test.


🚀 Features

  • Host Discovery — ICMP ping check before scanning
  • Multithreaded Port Scanner — scans 100+ ports concurrently for speed
  • Banner Grabbing — connects to open ports and extracts service banners
  • CVE Vulnerability Matching — matches banners against a local vulnerability database
  • Web Service Detection — fingerprints HTTP/HTTPS services (status, server, page title)
  • Dual Report Output — saves .txt and .json reports automatically
  • Colour-coded Terminal Output — critical findings highlighted in red

📋 Requirements

  • Python 3.8+
  • pip

⚙️ Installation

# Clone the repository
git clone https://github.com/JefferyCyber/vulnerability-scanner.git
cd vulnerability-scanner

# Install dependencies
pip install -r requirements.txt

🖥️ Usage

# Scan default common ports
python src/scanner.py <target>

# Scan a specific port range
python src/scanner.py <target> <start-end>

# Examples
python src/scanner.py 192.168.56.103
python src/scanner.py 192.168.56.103 1-1024
python src/scanner.py scanme.nmap.org

📊 Example Output

[*] Target  : 192.168.56.103
[*] Ports   : 22 common ports

[*] Checking if host is alive...
[+] Host 192.168.56.103 is UP

[*] Scanning 22 ports on 192.168.56.103...
[+] Port    21/tcp  OPEN  FTP
[+] Port    22/tcp  OPEN  SSH
[+] Port    80/tcp  OPEN  HTTP
[+] Port  3306/tcp  OPEN  MySQL

[*] Grabbing service banners...
[+] 21/tcp (FTP): 220 (vsFTPd 2.3.4)
[+] 22/tcp (SSH): SSH-2.0-OpenSSH_4.7p1 Debian

[*] Checking for known vulnerabilities...
[!] VULNERABILITY FOUND on port 21
    CVE      : CVE-2011-2523
    Severity : CRITICAL
    Details  : Backdoor command execution

==================================================
SCAN SUMMARY
==================================================
  Target         : 192.168.56.103
  Open Ports     : 4
  Vulnerabilities: 1
  Web Services   : 1
==================================================

[+] Text report saved : reports/scan_192_168_56_103_20260514.txt
[+] JSON report saved : reports/scan_192_168_56_103_20260514.json

📁 Project Structure

vulnerability-scanner/
├── src/
│   └── scanner.py          # Main scanner
├── reports/                # Auto-generated scan reports
├── screenshots/            # Demo screenshots
├── requirements.txt        # Python dependencies
├── LICENSE
└── README.md

🛡️ Vulnerability Database

The scanner includes a local CVE database covering:

Service CVE Severity
vsftpd 2.3.4 CVE-2011-2523 CRITICAL
Samba 3.0.20 CVE-2007-2447 CRITICAL
Redis CVE-2022-0543 CRITICAL
OpenSSH 4.7 CVE-2008-0166 HIGH
MySQL 5.0 CVE-2008-0226 HIGH
ProFTPD 1.3.3 CVE-2010-4221 CRITICAL
Apache 2.2.8 CVE-2009-1195 MEDIUM
Telnet (any) N/A HIGH

🗺️ Roadmap

  • OS fingerprinting
  • Nmap integration for deeper scanning
  • HTML report generation
  • Expand CVE database via NVD API
  • Subdomain enumeration
  • Slack/email alert integration

👤 Author

Jeffery Ayando


⚖️ Legal Disclaimer

This tool is intended for authorised security testing and educational purposes only. Unauthorised scanning of systems you do not own is illegal. The author accepts no liability for misuse of this tool.


📄 License

MIT License — see LICENSE for details.

About

Automated Vulnerability Scanner - port scanning, banner grabbing, CVE detection

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages