Skip to content

vishalkumar-2006/Vulnerability_Scanner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python-Based Vulnerability Scanner

Overview

This project is a multithreaded Python-based vulnerability scanner designed to perform basic network and web security assessments.

The scanner can:

  • Detect open ports
  • Identify running services
  • Grab service banners
  • Detect insecure configurations
  • Perform version detection using Nmap
  • Match known vulnerabilities and CVEs
  • Perform basic web security checks
  • Generate logs and scan reports

This project was built to gain practical experience in:

  • Network security
  • Socket programming
  • Vulnerability assessment
  • Penetration testing concepts
  • Multithreading
  • Cybersecurity automation

Features

  • Multi-threaded port scanning
  • Common service detection
  • Banner grabbing
  • Vulnerability warning system
  • Severity classification
  • Nmap version detection
  • CVE reference matching
  • Web security header analysis
  • Logging system
  • Automated report generation

Technologies Used

  • Python
  • Socket Programming
  • ThreadPoolExecutor
  • Nmap
  • Requests
  • Colorama

Project Structure

Vulnerability_Scanner/
│
├── scanner.py
├── report.txt
├── scan.log
├── requirements.txt
└── README.md

Installation

Clone Repository

git clone https://github.com/vishalkumar-2006/Vulnerability_Scanner.git
cd Vulnerability_Scanner

Install Python Dependencies

pip install -r requirements.txt

Install Nmap

Download and install Nmap from:

https://nmap.org/download.html

During installation:

  • Enable Add Nmap to PATH

Verify installation:

nmap --version

Requirements

Example requirements.txt:

colorama
requests
python-nmap

Usage

Run the scanner:

python scanner.py

Enter target IP/domain:

Enter IP address: scanme.nmap.org

Choose scan mode:

1. Quick Scan
2. Full Scan
3. Vulnerability Scan
4. Web Security Check

Example Features

Port Scanning

Detects open ports and running services.

Example:

[OPEN] 80 - HTTP
[OPEN] 22 - SSH

Vulnerability Detection

Detects insecure services and vulnerable versions.

Example:

[WARNING] FTP is insecure
[HIGH RISK]
[VULNERABLE] Weak OpenSSH version detected
[CVE] CVE-2016-10012

Web Security Checks

Checks for missing security headers such as:

  • X-Frame-Options
  • Content-Security-Policy
  • Strict-Transport-Security
  • X-Content-Type-Options

Report Generation

The scanner automatically creates:

  • report.txt
  • scan.log

These files contain scan results, detected vulnerabilities, and logs.


Learning Outcomes

This project helped in understanding:

  • TCP socket communication
  • Network ports and protocols
  • Service enumeration
  • Banner grabbing
  • Multi-threading in Python
  • Vulnerability assessment concepts
  • Basic penetration testing workflow

Disclaimer

This project is intended for:

  • Educational purposes
  • Authorized security testing
  • Learning cybersecurity concepts

Do NOT use this tool against systems without permission.

Unauthorized scanning may violate laws and policies.


Future Improvements

Possible future enhancements:

  • GUI interface
  • PDF report generation
  • Network range scanning
  • Real-time CVE database integration
  • OS fingerprinting
  • Export results to JSON/CSV
  • Advanced web vulnerability testing

Author

Vishal Kumar S

Cybersecurity Enthusiast | Python Developer

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages