# Network Vulnerability Scanner Automation This project provides a automated system for discovering network hosts, scanning for open ports, assessing vulnerabilities using OpenVAS (GVM), and displaying results in a web dashboard. It supports manual, Docker-based, and virtual machine deployment. --- ## Project Structure ``` project/ ├── Host_Discovery/ │ ├── networkdiscovery.py │ ├── portscanner.py ├── Vulnerability_Scanner/ │ ├── createTargets.py │ ├── taskmaker.py │ ├── starttask.py │ ├── getreports.py │ ├── generate_reports.py ├── WebApp/ │ ├── webapp.py ├── data/ # Stores active_hosts.csv, scan results, reports ├── scheduler.py # Python task scheduler ├── docker-compose.yml # For OpenVAS container ├── install_docker.sh # Setup script for Docker on Ubuntu ├── setup_manual.sh # Installs system and Python dependencies ``` --- ## Setup (Manual, Ubuntu Linux) ### 1. Run the Setup Script ```bash chmod +x setup_manual.sh sudo ./setup_manual.sh ``` ### 2. Activate the Virtual Environment ```bash source venv/bin/activate ``` --- ## Setup (openvas Docker container) ### 1. Install Docker for ubuntu systems ```bash chmod +x install_docker.sh ./install_docker.sh ``` ### 2. Start OpenVAS Container ```bash cd openvas-docker sudo docker compose up -d ``` ### 3. Check Logs ```bash docker compose logs -f openvas ``` You should see `GVMD is running` and `Healthchecks completed with no issues`. --- ## Automation (Python Scheduler) ### Run the Scheduler ```bash sudo ./venv/bin/python scheduler.py ``` This does the following: - Every hour: - Runs `networkdiscovery.py` - Then `portscanner.py` if hosts were found - Every 11 hours: - Runs OpenVAS scan scripts (`createTargets.py` to `generate_reports.py`) --- ## Web Dashboard After scans, run: ```bash cd WebApp ./venv/bin/python webapp.py ``` Then go to: ``` http://localhost:8050 ``` Tabs include: - Overview (timeline, port stats, IP tracking) - Vulnerability Analysis (interactive treemap) - Port Heatmap (binary heatmap) --- ## Requirements - Ubuntu 22.04+ or 24.04 - Python 3.8+ - Docker Engine & Compose --- ## Author Jose Emmanuel Rodriguez Rios