Project Overview
VulneraScan is a comprehensive web-based application developed to address the challenges faced by small and medium-sized enterprises (SMEs) in managing network security and identifying vulnerabilities. It aims to democratize cybersecurity by providing a user-friendly graphical interface for powerful command-line tools like Nmap.
**Key Features:**
* **Automated Network Scanning:** Integrates the Nmap engine via the `python-nmap` library to perform automated network discovery and detailed service auditing on specified target machines, retrieving information on open ports, running services, and host status.
* **Intelligent Risk Scoring:** Implements a logic layer that processes scan results, categorizing detected ports and services into prioritized risk levels (High, Medium, Low) based on service type, port sensitivity, and potential exposure.
* **Real-time Dashboard & Data Visualization:** Features an interactive dashboard built with Bootstrap 5 and Chart.js, providing visual representations of the network's security posture, vulnerability trends, and key metrics in graphical formats.
* **Historical Logging & Auditing:** Utilizes an SQLite database with Flask-SQLAlchemy to store all scan results, enabling structured logging, historical tracking of network changes, and long-term security auditing.
* **User-Friendly Interface:** Offers an intuitive web interface that simplifies the operation of complex scanning tools, making network security assessment accessible to junior IT staff and non-technical administrators.
* **Reporting Capabilities:** Generates structured audit summaries and reports to support documentation, compliance needs, and effective communication of security findings.
**Architecture & Workflow:**
The application follows a layered architecture:
1. **Scanning Layer:** Leverages the Nmap security scanner, integrated through the `python-nmap` library, to perform active network reconnaissance.
2. **Logic and Risk Analysis Layer:** Python scripts parse raw XML/JSON data from Nmap, applying a custom risk-scoring mechanism to evaluate the severity of identified open services and ports.
3. **Data Management Layer:** Scan results and historical data are persistently stored in an SQLite database, managed via Flask-SQLAlchemy.
4. **Visualization and Reporting Layer:** A responsive frontend, built with Bootstrap 5 and Jinja2 templates, uses Chart.js to display security metrics visually. Users interact with this layer to initiate scans, view results, and generate reports.
**Technical Specifications:**
* **Languages & Frameworks:** Python 3.x, Flask, Jinja2 Templates.
* **Libraries:** `python-nmap`, Flask-SQLAlchemy, Pandas.
* **Frontend:** Bootstrap 5, Chart.js, Bootstrap Icons.
* **Database:** SQLite.
* **Scanning Engine:** Nmap Security Scanner.
* **Operating System:** Windows 10/11 or Kali Linux.
* **Hardware Requirements:** Workstation (Laptop/PC) with Intel i5/i7 processor, 8GB RAM, and 500MB storage.
* **Virtualization:** VirtualBox or VMware for simulating target machines.