Professional Python CLI tool to convert Nessus XML scan results into comprehensive Excel reports with advanced analytics, risk scoring, and compliance checking.
- 📊 Professional Excel Reports: Multi-sheet reports with charts, formatting, and color coding
- 🔍 Risk Scoring: Organization-specific risk score calculation based on CVSS, port, protocol, exploit status, and exposure
- 🌐 Exposure Detection: Automatic Internal/External classification using RFC1918 IP detection
- 🔒 PCI-DSS Compliance: Automated PCI-DSS compliance checking with pass/fail status
- 📈 CVE Analysis: Normalized CVE grouping and analysis
- 🎨 Visual Analytics: Charts and graphs for vulnerability distribution, top hosts, and exposure
- ⚡ Performance: Progress bars and optimized processing for large scan files
- Python 3.10+
- Required packages:
pandas,openpyxl,tqdm
Simply download nessus_to_excell.py and install dependencies:
pip install pandas openpyxl tqdmThat's it! The script is standalone and requires no additional configuration files.
# Clone the repository
git clone https://github.com/cumakurt/Nessus_to_Excell.git
cd nessus_to_excell
# Install dependencies
pip install -r requirements.txtpython nessus_to_excell.py scan.nessus -o report.xlsxpython nessus_to_excell.py scan1.nessus scan2.nessus -o combined_report.xlsxpython nessus_to_excell.py scan.nessus -o report.xlsx --include-infopython nessus_to_excell.py scan.nessus -o report.xlsx --verbosepython nessus_to_excell.py scan.nessus -o report.xlsx --log-file scan.logpositional arguments:
input_files One or more .nessus files to process
optional arguments:
-h, --help Show help message and exit
-o OUTPUT, --output OUTPUT
Output Excel file path (default: nessus_report.xlsx)
-v, --verbose Enable verbose logging
--log-file LOG_FILE Path to log file (optional)
--no-progress Disable progress bar
--include-info Include Info (severity 0) vulnerabilities in the report
The generated Excel report contains the following sheets:
- Summary - Overview with statistics, risk scores, and charts
- CVE Summary - Normalized CVE grouping with affected hosts and vulnerabilities
- PCI-DSS Compliance - PCI-DSS compliance status with pass/fail indicators
- Critical - Critical severity vulnerabilities (grouped by plugin)
- High - High severity vulnerabilities (grouped by plugin)
- Medium - Medium severity vulnerabilities (grouped by plugin)
- Low - Low severity vulnerabilities (grouped by plugin)
- All Vulnerabilities - Complete list of all vulnerabilities
The risk score (0-100) is calculated using:
- CVSS Base Score (0-10)
- Port Risk Multiplier (high-risk ports: 21, 22, 23, 25, 53, 80, 110, 143, 443, 445, 1433, 3306, 3389, 5432, 8080)
- Protocol Risk (TCP = 1.1x multiplier)
- Exploit Status (Available = 1.5x, Possibly = 1.2x)
- Exposure (External = 1.3x multiplier)
A vulnerability fails PCI-DSS compliance if:
- Severity is Critical
- High severity with External exposure
- High severity with available exploit
- CVSS >= 7.0 with External exposure
- CVSS >= 9.0
- Risk Score >= 80
- High-risk port with External exposure
IP addresses are automatically classified as:
- Internal: RFC1918 private addresses (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)
- External: All other IP addresses
python nessus_to_excell.py network_scan.nessus -o network_report.xlsxpython nessus_to_excell.py *.nessus -o combined_report.xlsxpython nessus_to_excell.py scan.nessus -o report.xlsx --verbose --log-file scan.logThe Excel report includes:
- ✅ Professional formatting with color coding
- 📊 Charts and graphs for data visualization
- 🎨 Conditional formatting based on severity and risk
- 📋 Grouped vulnerabilities by plugin
- 🔍 Detailed vulnerability information
- 📈 Risk score statistics
- 🔒 PCI-DSS compliance status
This project is licensed under the GNU General Public License v3.0 (GPL-3.0).
See the LICENSE file for details.
Developed by: Cuma KURT
Email: cumakurt@gmail.com
LinkedIn: https://www.linkedin.com/in/cuma-kurt-34414917/
Contributions are welcome! Please feel free to submit a Pull Request.
For issues, questions, or contributions, please open an issue on GitHub.
Nessus XML tarama sonuçlarını gelişmiş analitik, risk skorlama ve uyumluluk kontrolü içeren kapsamlı Excel raporlarına dönüştüren profesyonel Python CLI aracı.
- 📊 Profesyonel Excel Raporları: Grafikler, formatlama ve renk kodlaması içeren çok sayfalı raporlar
- 🔍 Risk Skorlama: CVSS, port, protokol, exploit durumu ve exposure'a dayalı kuruma özel risk skoru hesaplama
- 🌐 Exposure Tespiti: RFC1918 IP tespiti kullanarak otomatik Internal/External sınıflandırma
- 🔒 PCI-DSS Uyumluluğu: Pass/fail durumu ile otomatik PCI-DSS uyumluluk kontrolü
- 📈 CVE Analizi: Normalize edilmiş CVE gruplandırma ve analizi
- 🎨 Görsel Analitik: Güvenlik açığı dağılımı, en çok etkilenen hostlar ve exposure için grafikler
- ⚡ Performans: Büyük tarama dosyaları için progress bar'lar ve optimize edilmiş işleme
- Python 3.10+
- Gerekli paketler:
pandas,openpyxl,tqdm
Sadece nessus_to_excell.py dosyasını indirin ve bağımlılıkları kurun:
pip install pandas openpyxl tqdmBu kadar! Script bağımsızdır ve ek konfigürasyon dosyası gerektirmez.
# Depoyu klonlayın
git clone https://github.com/cumakurt/Nessus_to_Excell.git
cd nessus_to_excell
# Bağımlılıkları kurun
pip install -r requirements.txtpython nessus_to_excell.py scan.nessus -o report.xlsxpython nessus_to_excell.py scan1.nessus scan2.nessus -o combined_report.xlsxpython nessus_to_excell.py scan.nessus -o report.xlsx --include-infopython nessus_to_excell.py scan.nessus -o report.xlsx --verbosepython nessus_to_excell.py scan.nessus -o report.xlsx --log-file scan.logkonum argümanları:
input_files İşlenecek bir veya daha fazla .nessus dosyası
opsiyonel argümanlar:
-h, --help Yardım mesajını göster ve çık
-o OUTPUT, --output OUTPUT
Çıktı Excel dosya yolu (varsayılan: nessus_report.xlsx)
-v, --verbose Detaylı loglama etkinleştir
--log-file LOG_FILE Log dosyası yolu (opsiyonel)
--no-progress Progress bar'ı devre dışı bırak
--include-info Info (severity 0) güvenlik açıklarını rapora dahil et
Oluşturulan Excel raporu aşağıdaki sayfaları içerir:
- Summary - İstatistikler, risk skorları ve grafiklerle genel bakış
- CVE Summary - Etkilenen hostlar ve güvenlik açıklarıyla normalize edilmiş CVE gruplandırma
- PCI-DSS Compliance - Pass/fail göstergeleriyle PCI-DSS uyumluluk durumu
- Critical - Critical severity güvenlik açıkları (plugin'e göre gruplandırılmış)
- High - High severity güvenlik açıkları (plugin'e göre gruplandırılmış)
- Medium - Medium severity güvenlik açıkları (plugin'e göre gruplandırılmış)
- Low - Low severity güvenlik açıkları (plugin'e göre gruplandırılmış)
- All Vulnerabilities - Tüm güvenlik açıklarının tam listesi
Risk skoru (0-100) şu faktörler kullanılarak hesaplanır:
- CVSS Base Score (0-10)
- Port Risk Çarpanı (yüksek riskli portlar: 21, 22, 23, 25, 53, 80, 110, 143, 443, 445, 1433, 3306, 3389, 5432, 8080)
- Protokol Riski (TCP = 1.1x çarpan)
- Exploit Durumu (Mevcut = 1.5x, Muhtemelen = 1.2x)
- Exposure (External = 1.3x çarpan)
Bir güvenlik açığı şu durumlarda PCI-DSS uyumluluğunu başarısız kılar:
- Severity Critical ise
- High severity + External exposure
- High severity + mevcut exploit
- CVSS >= 7.0 + External exposure
- CVSS >= 9.0
- Risk Skoru >= 80
- Yüksek riskli port + External exposure
IP adresleri otomatik olarak şu şekilde sınıflandırılır:
- Internal: RFC1918 özel adresler (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)
- External: Diğer tüm IP adresleri
python nessus_to_excell.py network_scan.nessus -o network_report.xlsxpython nessus_to_excell.py *.nessus -o combined_report.xlsxpython nessus_to_excell.py scan.nessus -o report.xlsx --verbose --log-file scan.logExcel raporu şunları içerir:
- ✅ Renk kodlaması ile profesyonel formatlama
- 📊 Veri görselleştirme için grafikler ve çizelgeler
- 🎨 Severity ve risk'e dayalı koşullu formatlama
- 📋 Plugin'e göre gruplandırılmış güvenlik açıkları
- 🔍 Detaylı güvenlik açığı bilgileri
- 📈 Risk skoru istatistikleri
- 🔒 PCI-DSS uyumluluk durumu
Bu proje GNU General Public License v3.0 (GPL-3.0) altında lisanslanmıştır.
Detaylar için LICENSE dosyasına bakın.
Geliştiren: Cuma KURT
E-posta: cumakurt@gmail.com
LinkedIn: https://www.linkedin.com/in/cuma-kurt-34414917/
Katkılarınız memnuniyetle karşılanır! Lütfen bir Pull Request göndermekten çekinmeyin.
Sorunlar, sorular veya katkılar için lütfen GitHub'da bir issue açın.
nessus_to_excell/
├── nessus_to_excell.py # Bağımsız script (hepsi bir arada)
├── requirements.txt # Python bağımlılıkları
├── README.md # Bu dosya
├── LICENSE # GPL-3.0 Lisansı
Not: Script tamamen bağımsızdır. Tüm konfigürasyon ve logging kodu nessus_to_excell.py içine gömülüdür. Script'i çalıştırmak için ek dosya gerekmez.