Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
sunsetscan — Sicherheitsaudit für lokale Netzwerke mit EOL, CVE, Geräteidentität und HTML-Berichten | Kitploit
Tools/GitHubGitHub/nocoderrandom/sunsetscan
AufklärungSchwachstellenscannerIoT-SicherheitPasswortangriffeKonfigurationsprüfungInformationsbeschaffungNetzwerksicherheit
GitHubnocoderrandom/sunsetscan

sunsetscan

Sicherheitsaudit für lokale Netzwerke mit EOL, CVE, Geräteidentität und HTML-Berichten

Repository anzeigen
37vor 3 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Webseite

SunsetScan

Netzwerk-Sicherheitsaudit für Menschen – unterstützt von nmap, für alle gemacht.

[Version] Python 3.9+ Platform License: MIT Hardware DB License: CC BY-NC 4.0 Requires: nmap CVE data: OSV.dev

Website: sunsetscan.com


SunsetScan ist ein Sicherheits-Audit-Tool für lokale Netzwerke, entwickelt für Heimnetzwerk-Besitzer und IT-Mitarbeiter, die die Tiefe von nmap nutzen möchten, ohne die nmap-Syntax zu lernen. Richten Sie es auf Ihr Netzwerk, und es findet jedes aktive Gerät, identifiziert laufende Software, gleicht sie mit bekannten Schwachstellendatenbanken und End-of-Life-Informationen ab, testet Weboberflächen auf häufige Schwachstellen, führt optional einen sperrensicheren Audit von Werkseinstellungs-Zugangsdaten durch und erstellt einen übersichtlichen HTML-Bericht mit einfachen Erklärungen und nummerierten Schritten zur Behebung jedes Befunds. Es ist vollständig schreibgeschützt und nicht destruktiv – an Ihrem Netzwerk wird nie etwas verändert.


Plattformunterstützung

Warum Linux? SunsetScan nutzt Raw-Sockets (ARP-Scanning, passiven Paketempfang), Linux-spezifische APIs (/proc, ip route) und Privilegienprüfungen (os.geteuid()), die in nativem Windows nicht verfügbar sind. WSL2 bietet einen vollständigen Linux-Kernel und ist der empfohlene Weg für Windows-Benutzer.


Installation

SunsetScan wird mit einem Installationsprogramm geliefert, das sich um Systemwerkzeuge (nmap, masscan, git, python3-venv) kümmert, eine projektlokale Python-Programmumgebung (venv) erstellt und alle Python-Abhängigkeiten darin installiert. Sie werden nie aufgefordert, etwas als Root per pip install zu installieren – das ist wichtig auf modernen Debian/Pi-OS-Systemen, siehe Warum ein venv? unten.

Tier-1-Plattformen (vollständig getestet)

Debian, Ubuntu, Raspberry Pi OS (Bookworm und neuer), Linux Mint, Pop!_OS.

Tier-2-Plattformen (Best Effort, gleiches Skript)

Fedora, RHEL, CentOS, Rocky, Alma, Arch, Manjaro, openSUSE, macOS.

Vier Installationsmöglichkeiten – wählen Sie eine

1. Debian/Ubuntu-Paket

Empfohlen für Debian, Ubuntu, Raspberry Pi OS, Linux Mint und Pop!_OS:```bash curl -LO https://github.com/NoCoderRandom/sunsetscan/releases/download/v2.1.0/sunsetscan_2.1.0-1_all.deb curl -LO https://github.com/NoCoderRandom/sunsetscan/releases/download/v2.1.0/sunsetscan_2.1.0-1_all.deb.sha256 sha256sum -c sunsetscan_2.1.0-1_all.deb.sha256 sudo apt install ./sunsetscan_2.1.0-1_all.deb sunsetscan --version

root@kitploit:~
#### 2. Einzeiler-Bootstrap

Klont das Repository nach `~/sunsetscan` und führt den Installer aus:```bash
curl -fsSL https://raw.githubusercontent.com/NoCoderRandom/sunsetscan/main/bootstrap.sh | bash

Möchtest du es woanders haben? Setze INSTALL_DIR:```bash INSTALL_DIR=/opt/sunsetscan curl -fsSL https://raw.githubusercontent.com/NoCoderRandom/sunsetscan/main/bootstrap.sh | bash

root@kitploit:~
> **Ein Hinweis zu `curl | bash`**: es ist praktisch, aber es bedeutet, ein Skript auszuführen, das man nicht gelesen hat. Wenn du es dir lieber erst ansehen möchtest, verwende Option 3 oder 4.

#### 3. Klonen und installieren```bash
git clone https://github.com/NoCoderRandom/sunsetscan.git
cd sunsetscan
./install.sh

4. Manuelle Installation (volle Kontrolle, vier Befehle)```bash

sudo apt install -y nmap masscan git python3 python3-venv python3-pip libpcap-dev build-essential avahi-utils git clone https://github.com/NoCoderRandom/sunsetscan.git && cd sunsetscan python3 -m venv venv && ./venv/bin/pip install -r requirements.txt ./sunsetscan --version

root@kitploit:~
(Ersetzen Sie den Paketmanager Ihrer Distribution für `apt` — `dnf`, `pacman`, `zypper` oder `brew`. Das avahi-Paket heißt `avahi-tools` auf Fedora/RHEL, `avahi` auf Arch, `avahi-utils` auf openSUSE und wird auf macOS nicht benötigt.)

### Nach der Installation — erster Start```bash
./sunsetscan --setup                 # download EOL/CVE/credential databases (once)
sudo ./sunsetscan --instant          # ARP-only inventory of your local subnet
sudo ./sunsetscan --full-assessment --target 192.168.1.0/24

Der ./sunsetscan-Launcher aktiviert die venv automatisch – du musst source venv/bin/activate nie selbst ausführen. Verwende sudo für Scans, die Raw-Sockets benötigen, führe aber --setup, --download und --update-cache als normaler Benutzer aus, damit die Cache-Dateien aus der TUI heraus beschreibbar bleiben.

Installer-Flags

Das erneute Ausführen von ./install.sh ist sicher und idempotent – es erkennt vorhandene Komponenten und nutzt sie erneut.

Warum eine venv?

Moderne Debian-basierte Distributionen (Debian Bookworm, Raspberry Pi OS Bookworm, Ubuntu 23.04+) verfügen über die PEP 668-Durchsetzung. Dadurch schlägt pip install fehl, wenn es als root gegen das System-Python ausgeführt wird:``` error: externally-managed-environment × This environment is externally managed

root@kitploit:~
Zwei von SunsetScans Abhängigkeiten (insbesondere `pysnmp` v6) benötigen neuere Versionen, als die apt-Repositorien mitliefern, daher ist eine reine apt-Installation nicht möglich. Die Lösung des Installationsprogramms ist die übliche: Systemwerkzeuge (nmap, masscan, libpcap, avahi-utils) per apt installieren und SunsetScans Python-Abhängigkeiten in ein projektlokales `./venv`-Verzeichnis legen. Systemweit wird nichts verändert, also greift PEP 668 nicht, und die Deinstallation von SunsetScan ist einfach `rm -rf ~/sunsetscan`.

### Optional: SunsetScan im Hintergrund laufen lassen

Eine vollständige Untersuchung eines /24-Subnetzes auf einem Raspberry Pi kann 10–30 Minuten dauern. Verwenden Sie `tmux` oder `screen`, damit der Scan einen SSH-Verbindungsabbruch übersteht:```bash
sudo apt install -y tmux
tmux new -s sunsetscan
sudo ./sunsetscan --full-assessment --target 192.168.1.0/24
# Ctrl+B then D to detach. "tmux attach -t sunsetscan" to come back later.

Aktualisieren von SunsetScan```bash

cd ~/sunsetscan git pull ./install.sh # idempotent — picks up any new dependencies

root@kitploit:~
### Deinstallation```bash
rm -rf ~/sunsetscan
sudo rm -f /usr/local/bin/sunsetscan    # only if you used --symlink

WSL2 unter Windows

Windows wird nicht direkt unterstützt (SunsetScan benötigt Raw-Sockets, /proc und os.geteuid), aber WSL2 funktioniert einwandfrei:```powershell wsl --install -d Ubuntu # in PowerShell, as Administrator

root@kitploit:~
Restart, open **Ubuntu** from the Start menu, then follow the standard install above. WSL2 uses a virtual network adapter — pass your real subnet with `--target` if auto-detection picks the wrong one.

---

## Requirements

| Requirement | Minimum | Notes |
|---|---|---|
| **Python** | 3.9+ | 3.12 recommended |
| **nmap** | Any recent | Must be on system PATH |
| **OS** | Linux (native or WSL2) | See [Platform Support](#platform-support) |
| **masscan** | Any | Optional — faster port discovery |
| **avahi-utils** | Any | Optional — provides `avahi-browse`, used for reliable mDNS discovery of Apple / Bonjour / Sleep-Proxy devices. Falls back to python `zeroconf` if absent. |
| **git** | Any | Optional — used for `--setup` and `--update` |
| **Privileges** | Standard user | Root/sudo needed for FULL, STEALTH, SMB profiles, ARP detection, and passive capture |

---

## Quick Start```bash
# Interactive mode (recommended for first-time users)
sudo python3 sunsetscan.py -i

# Full security assessment with HTML report
sudo python3 sunsetscan.py --full-assessment --target 192.168.1.0/24

# Quick scan of your network
python3 sunsetscan.py --target 192.168.1.0/24

# IoT device scan (cameras, routers, smart devices)
python3 sunsetscan.py --target 192.168.1.0/24 --profile IOT

# Quick device inventory (no security checks)
python3 sunsetscan.py --identify --target 192.168.1.0/24

# Download all data modules for extended detection
python3 sunsetscan.py --download all

Funktionen

Netzwerkerkennung

  • Erkennt alle aktiven Hosts per schnellem Ping-Sweep
  • Löst Hostnamen auf und erkennt MAC-Adressen mit Hersteller-/Anbieter-Lookup
  • Flexible Ziel-Eingabe: CIDR, Wildcard, IP-Bereich, kommagetrennt oder Hostname
  • Optionale masscan-Integration für schnellere Port-Erkennung in großen Netzwerken
  • Hybrid-Scanning: passive Hintergrund-Erfassung (mDNS/SSDP/DHCP) kombiniert mit aktivem Scannen

Port- und Dienst-Scanning

  • Sechs Scan-Profile: QUICK, FULL, STEALTH, PING, IOT, SMB
  • Vollständige Bewertungen erkennen zuerst aktive Hosts und scannen dann nur diese erkannten Hosts auf Dienste, anstatt blind jede Adresse im Ziel-CIDR zu scannen
  • Paralleles Banner-Grabbing über alle offenen Ports (50-Thread-Pool)
  • OS-Fingerprinting mit Konfidenz-Prozentsatz
  • NSE-Integration (Nmap Scripting Engine) für verbesserte Geräteerkennung
  • HTTP-Fingerprinting zur Identifizierung von Routern, Kameras, NAS-Geräten, Druckern und IoT
  • Automatischer Root-Rechte-Fallback: FULL/STEALTH-Profile degradieren elegant, wenn sie ohne sudo ausgeführt werden
  • Sicherer Modus für leistungsschwache Hosts, Wi-Fi, WSL/NAT und Validierungsläufe: begrenzt Worker, überspringt breite All-Port-masscan-Sweeps, begrenzt nmap-Portmengen und wendet Scan-Zeitlimits pro Befehl an
  • Parallele Sicherheitsanalyse — alle Pro-Host-Prüfungen (SSL, SSH, FTP, SMB, SNMP, Web) laufen gleichzeitig über Hosts und innerhalb jedes Hosts mithilfe von Thread-Pools
  • Die Sicherheitsanalyse in Phase 7 wird in unter 10 Sekunden abgeschlossen, unabhängig von der Netzwerkgröße
  • Pre-Scan-Bereitschaftsprüfung — warnt, wenn nmap fehlt, CVE-/EOL-Datenbanken leer sind oder Standardmodule nicht installiert sind. Läuft vor jedem Scan und blockiert das Scannen nicht.

Sicherheitsprüfungen

SunsetScan führt während einer vollständigen Bewertung 12 Sicherheitsprüfmodule aus:

Schwachstellen-Intelligenz

  • CVE-Korrelation — ordnet erkannte Dienstversionen bekannten CVEs mithilfe von OSV.dev zu
  • Software-EOL-Prüfung — lokal zwischengespeicherte Lebenszyklusdaten für 150+ Softwareprodukte
  • Hardware-Lebenszyklusprüfung — erweiterte SunsetScan-Hardware-EOL-Datenbank mit 64.245 Lebenszyklusdatensätzen, 51.452 Modellzusammenfassungen und 122 vertretenen Herstellern. Sie kennzeichnet Router, Switches, NAS, Kameras, Drucker, Access Points, industrielle/OT-Geräte und Service-Provider-Ausrüstung mit bestätigtem Status „nicht unterstützt" oder Hersteller-Lebenszyklussignalen, die eine Überprüfung benötigen.
  • Intelligente Hardware-EOL-Profile — Privatanwender erhalten das kleinere Standardprofil hardware-eol-home, während Büro-, Enterprise-, Industrie-, Service-Provider- und Vollprofile für umfassendere Scans verfügbar sind.
  • JA3S-TLS-Fingerprinting — identifiziert Serversoftware anhand von TLS-Handshake-Signaturen
  • Vollständig offline während Scans — während des Scannens werden keine externen API-Aufrufe getätigt. Software-EOL-, CVE- und GitHub-Modulquellen werden nur von --setup, --update-cache und --download kontaktiert. Scans funktionieren ohne Internetverbindung, solange die Caches befüllt sind.
  • Wöchentliche CVE-Aktualisierung, monatliche EOL-Aktualisierung — von Ihnen gesteuert

Geräteidentifikation

  • 14 Beweis-Extraktoren führen MAC-OUI, nmap-OS, HTTP-Fingerprinting, TLS-Zertifikate, SSH-Banner, UPnP, SNMP-sysDescr, Wappalyzer, mDNS, JA3S-TLS-Fingerprints, FTP-Banner, Port-Heuristiken und nmap-Dienstfelder zu einer einheitlichen Geräteidentität pro Host zusammen
  • Identifiziert Hersteller, Modell, Firmware-Version und Gerätetyp mit Konfidenzbewertung (Übereinstimmungsboni, wenn mehrere Quellen bestätigen)
  • Unterstützt 130+ Hersteller-Aliase zur Namensnormalisierung
  • Ergebnisse werden in Terminaltabelle und HTML-Bericht-Geräteinventar angezeigt
  • Schneller Asset-Inventarmodus: --identify-Flag überspringt Sicherheitsprüfungen
  • Dauerhafte MAC-zu-Identität-Zuordnung über Scans hinweg

Modulares Datensystem

SunsetScan enthält herunterladbare Datenmodule und Hardware-EOL-Profile, die die Erkennungsfähigkeiten erweitern:

Die Hardware-Lebenszyklusdatenbank ist nun in intelligente herunterladbare Profile aufgeteilt: hardware-eol-home ist die Standardinstallation, während hardware-eol-full vollständige Abdeckung bietet. Der vollständige kanonische Build enthält derzeit 64.245 Datensätze von 122 Herstellern, aber Privatanwender benötigen nur das kleinere Home-Profil.

root@kitploit:~
### Erkennung fremder Geräte
- Speichern Sie einen Schnappschuss Ihres Netzwerks als vertrauenswürdige Baseline
- Zukünftige Scans markieren automatisch unbekannte MAC-Adressen, die nicht in der Baseline enthalten sind
- Erkennt bekannte Geräte auf unerwarteten IP-Adressen

### Risikobewertung
Jedes Gerät erhält eine Risikobewertung (0–100) basierend auf Schweregrad und Anzahl der Befunde:

| Score | Einstufung |
|---|---|
| 0-10 | Minimales Risiko |
| 11-30 | Geringes Risiko |
| 31-60 | Mittleres Risiko |
| 61-80 | Hohes Risiko |
| 81-100 | Kritisches Risiko |

### Berichte
- **Professioneller HTML-Bericht** – Schweregrad-Dashboard, Abschnitte pro Host, Befundkarten mit allgemeinverständlichen Erklärungen, priorisierte Empfehlungen
- **JSON-Export** – maschinenlesbare, strukturierte Ausgabe
- Berichte sind vollständig in sich geschlossen – eine HTML-Datei, keine externen Abhängigkeiten
- Auch schmale Profile wie SMB halten entdeckte Hosts im Bericht sichtbar,
  selbst wenn keine passenden Service-Ports offen sind
- Netzwerkebenen-Prüfungen wie DNS, UPnP und Notizen zur Scan-Laufzeit sind
  von den gerätespezifischen Befunden getrennt; Geräte-Risikobewertungen werden nur für tatsächliche Hosts angezeigt
- Alle Befunde farbcodiert: Kritisch, Hoch, Mittel, Niedrig, Info

### Scan-Verlauf und Diffing
- Jeder Scan wird automatisch als gzip-komprimierter JSON-Schnappschuss gespeichert
- Frühere Scans mit `--history` anzeigen
- Beliebige zwei Scans mit `--diff` vergleichen, um neue Hosts, geschlossene Ports und neue/behobene Befunde zu sehen
- Mit `--diff --since N` mit einem Scan von vor N Tagen vergleichen
- Verlauf wird standardmäßig 90 Tage aufbewahrt

### Benutzeroberfläche
- Geführter **interaktiver Modus** (`-i`) – mehrstufige Menüs für Scannen, Analyse, Export, Module
- **Menü im alten Stil** – startet, wenn ohne Argumente ausgeführt wird
- Direkter CLI-Modus – skriptbar und automatisierungsfreundlich
- Umfangreiche farbige Terminalausgabe mit Fortschrittsbalken, Spinnern und Zusammenfassungsfeldern

---

## Alle CLI-Flags

| Flag | Beschreibung | Root |
|---|---|---|
| `--target TARGET` | IP, CIDR-Bereich, Hostname oder Bereich zum Scannen | Nein |
| `--profile PROFILE` | Scan-Profil: QUICK, FULL, STEALTH, PING, IOT, SMB (Standard: QUICK) | Variiert |
| `-i`, `--interactive` | Geführten interaktiven Modus starten | Nein |
| `--full-assessment` | Vollständige Bewertung + automatischer HTML-Export; Credential-Audit bleibt Opt-in | Nein |
| `--identify` | Nur Geräteidentifizierung ausführen (Sicherheitsprüfungen überspringen) | Nein |
| `--nse` | Nmap Scripting Engine für erweiterte Erkennung aktivieren | Nein |
| `--check-defaults` | Opt-in zu einem sperrsicheren Audit der Werksstandard-Anmeldedaten (nur eigene Geräte) | Nein |
| `--save-baseline` | Scan als vertrauenswürdige Geräte-Baseline für die Erkennung fremder Geräte speichern | Nein |
| `--setup` | Erstmaliger Setup-Assistent (Abhängigkeiten + Cache-Download) | Nein |
| `--update-cache` | CVE- und EOL-Datencaches manuell aktualisieren | Nein |
| `--cache-status` | Cache-Alter und Anzahl der Einträge anzeigen, dann beenden | Nein |
| `--modules` | Status aller herunterladbaren Datenmodule anzeigen | Nein |
| `--download MODULE` | Ein Datenmodul herunterladen (oder „all“) | Nein |
| `--db SIZE` | EOL-Datenbankgröße für `--setup`: mini, normal, large (Standard: normal) | Nein |
| `--history` | Tabelle des Scan-Verlaufs anzeigen und beenden | Nein |
| `--diff` | Die letzten beiden gespeicherten Scans diffen und beenden | Nein |
| `--since DAYS` | Mit `--diff`: mit einem mindestens N Tage alten Scan vergleichen | Nein |
| `--check-version` | Nach einer neueren SunsetScan-Version auf GitHub suchen | Nein |
| `--update` | Neuesten Code von GitHub ziehen und Anforderungen neu installieren | Nein |
| `--verbose` | Debug-Logging aktivieren | Nein |
| `--no-color` | Farbausgabe deaktivieren (nützlich für Logdateien) | Nein |
| `--quiet` | Fortschrittsbalken unterdrücken (Befunde werden weiterhin angezeigt) | Nein |
| `--safe-mode` | Sanfteres Scannen erzwingen: begrenztes nmap, geringere masscan-Nutzung, weniger Worker, schwere Sonden überspringen | Nein |
| `--no-safe-mode` | Automatischen Safe Mode deaktivieren | Nein |
| `--version` | Versionsnummer anzeigen und beenden | Nein |

---

## Scan-Profile

| Profil | nmap-Flags | Geschwindigkeit | Root | Am besten geeignet für |
|---|---|---|---|---|
| **PING** | `-sn` | ~30s | Nein | Aktive Geräte schnell finden |
| **QUICK** | `-T4 -F -sV --version-intensity 2` | 1-3 min | Nein | Erster Blick auf ein Netzwerk (mit leichter Versionserkennung) |
| **FULL** | `-T4 -A -sV -O --osscan-guess` | 5-15 min | Ja | Tiefgehende Analyse bestimmter Hosts |
| **STEALTH** | `-sS -T2 -sV` | 10-30 min | Ja | Rauscharmes Scannen |
| **IOT** | `-T4 -sV -p 23,80,443,8080,8443,554,1900,5000,5001,7547,49152 --open` | 1-3 min | Nein | Kameras, Router, Smart Devices |
| **SMB** | `-T4 -sV -p 135,139,445,137,138 --script smb-security-mode,smb2-security-mode,smb-vuln-ms17-010 --open` | 1-3 min | Ja | Windows-Freigaben, EternalBlue-Prüfung |

> **Tipp:** FULL und STEALTH wechseln automatisch auf Nicht-Root-Flags, wenn sie ohne sudo ausgeführt werden. Die Betriebssystemerkennung ist dann nicht verfügbar, aber Portscanning und Diensterkennung funktionieren weiterhin.

### Sicherheit beim Standardpasswort-Audit

Das Testen von Standardpasswörtern wird niemals automatisch aktiviert. Im CLI-Modus
fügen Sie `--check-defaults` hinzu; im geführten `-i`-Modus wählen Sie das
Standardpasswort-Audit, wenn Sie dazu aufgefordert werden. SunsetScan wendet
dann eine konservative Richtlinie an:

- kein generisches Username/Passwort-Spraying standardmäßig
- testet nur Anmeldedaten, die zum erkannten Hersteller und Modell/Familie passen
- überspringt Geräte mit einzigartigen Label-/PIN-Standardwerten, wie viele HP-Drucker
- begrenzt Versuche standardmäßig auf 2 pro Host und 1 pro Dienst
- wartet 2 Sekunden zwischen Versuchen mit Anmeldedaten
- bricht sofort ab, wenn ein Gerät Sperr- oder Rate-Limit-Signale zurückgibt

Die integrierte Datenbank ist bewusst klein und quellenbasiert. Heruntergeladene
große Credential-Module werden als Referenzdaten aufbewahrt, aber das sichere
Audit verwendet sie nicht, sofern `Settings.auth_allow_module_credentials`
nicht ausdrücklich von einem Entwickler aktiviert wird.

### Safe Mode und Validierungsläufe

Der Safe Mode wird automatisch für leistungsschwache Hosts, Hosts, die wie
Pi-hole/Gateway-Geräte aussehen, und für Wi-Fi-Egress empfohlen. Er kann auch
erzwungen werden mit:```bash
python3 sunsetscan.py --full-assessment --target 192.168.1.0/24 --safe-mode

Im sicheren Modus von SunsetScan:

  • ermittelt zuerst aktive Hosts und scannt bei vollständigen Bewertungen nur diese Hosts
  • wendet dasselbe sichere Scanner-Verhalten aus CLI, altem Menü und geführtem -i-Modus an
  • entfernt OS-Fingerprinting aus breiten Scans
  • begrenzt breite STEALTH/FULL-Scans durch Fast-/Top-Port-Limits
  • überspringt All-Port-Masscan-Sweeps für breite Profile
  • reduziert die Anzahl der Worker und überspringt schwere TLS-Sonden
  • wendet ein Pro-Nmap-Timeout an, damit ein Profil nicht unbegrenzt hängen bleiben kann

Für root-unterstützte Regressionstests über alle Modi hinweg verwenden Sie den Validierungs-Collector:```bash sudo bash scripts/sudo_network_validation.sh

root@kitploit:~
Standardmäßig testet es `192.168.1.0/24` über PING, QUICK, SMB, STEALTH und
FULL, kopiert generierte HTML-Berichte in das Validierungsverzeichnis
und schreibt ein komprimiertes Archiv unter `reports/`. Berichte, Protokolle,
Pcaps und Archive werden von git ignoriert und sollten nicht eingecheckt werden.

Nützliche Überschreibungen:```bash
sudo SUNSETSCAN_TARGETS="192.168.1.0/24" bash scripts/sudo_network_validation.sh
sudo SUNSETSCAN_PROFILES="PING QUICK FULL" bash scripts/sudo_network_validation.sh
sudo SUNSETSCAN_COMMAND_TIMEOUT=1200 bash scripts/sudo_network_validation.sh

Cache-Verwaltung

SunsetScan ruft während eines Scans niemals externe APIs auf. Alle Daten werden aus lokalen Cache-Dateien in data/cache/ gelesen.

root@kitploit:~
Scans funktionieren normal mit veraltetem oder fehlendem Cache — du hast möglicherweise nur veraltete CVE-Daten.

---

## Erkennung nicht autorisierter Geräte```bash
# Step 1: Save baseline when all known devices are present
sudo python3 sunsetscan.py --target 192.168.1.0/24 --save-baseline

# Step 2: Future scans automatically compare against baseline
sudo python3 sunsetscan.py --target 192.168.1.0/24
BefundSchweregradBedeutung
Unbekanntes Gerät erkanntMittelMAC nicht in der Baseline – neues oder unbefugtes Gerät
Geräte-IP geändertNiedrigBekannte MAC auf einer anderen IP (normalerweise normales DHCP)

Hinweis: Für die MAC-Adresserkennung per nmap sind Root-/Sudo-Rechte erforderlich.


HTML-Bericht

Jeder --full-assessment erzeugt einen eigenständigen HTML-Bericht mit:

  • Schweregrad-Dashboard – Badge-Anzahl (Critical/High/Medium/Low/Info), Farbbalken, zusammenfassende Statistiken
  • Risikowerte – Bewertung pro Gerät von 0-100 mit Risikostufen-Label
  • Tabelle aller Befunde – jeder Befund über alle Hosts, nach Schweregrad sortiert
  • Abschnitte pro Host – aufklappbarer Abschnitt pro Gerät mit Befundkarten, Tabelle offener Ports, EOL-Status
  • Befundkarten – Schweregrad-Badge, Titel, „Was wurde gefunden“, „Was das bedeutet“ (in einfachem Englisch), „Was zu tun ist“ (nummerierte Schritte), Beweise, CVE-IDs
  • Empfehlungen – priorisierte Aktionsliste

Berichte öffnen sich in jedem Browser, ohne dass Internet erforderlich ist.


Geräteidentifikation

SunsetScan identifiziert Netzwerkgeräte automatisch, indem es Erkenntnisse aus 14 verschiedenen Quellen kombiniert. Jede Quelle liefert einen Hersteller, ein Modell, eine Version oder einen Gerätetyp mit einem Konfidenzwert. Der Fusionsalgorithmus summiert übereinstimmende Quellen (mit Boni für Mehrquellen-Übereinstimmung) und bestraft widersprüchliche Erkenntnisse.

Schnelle Asset-Inventur

Um zu sehen, was sich in Ihrem Netzwerk befindet, ohne Sicherheitsprüfungen auszuführen:```bash python3 sunsetscan.py --identify --target 192.168.1.0/24

root@kitploit:~
Dies führt einen Portscan mit Banner-Grabbing durch und gibt eine Tabelle
zur Geräteidentifikation aus. Keine Sicherheitsanalyse, kein Bericht –
nur ein schnelles Inventar.

### Beweisquellen

| Quelle | Was wird gelesen | Konfidenz |
|--------|--------------|------------|
| MAC OUI | IEEE-Vendor-Präfix aus der MAC-Adresse | 0.40-0.45 |
| nmap OS | OS-Fingerprint-Schätzung | variiert |
| HTTP fingerprint | Gerätetyp, Modell, Firmware aus der Weboberfläche | 0.50+ |
| HTTP headers | Server- und X-Powered-By-Antwortheader | 0.20-0.50 |
| TLS certificate | CN-, Aussteller- und Organisationsfelder | 0.35 |
| SSH banner | SSH-Daemon-Identifikationszeichenfolge | 0.10-0.70 |
| UPnP | SSDP-Hersteller, -Modell, -Gerätetyp | 0.75 |
| SNMP sysDescr | Systembeschreibung aus der SNMP-MIB | 0.85 |
| Wappalyzer | CPE-Zeichenfolgen und Technologiekategorien | 0.30-0.45 |
| mDNS/Zeroconf | Dienstetyp-Ankündigungen | 0.55 |
| JA3S | TLS-Handshake-Fingerprint-Datenbank | 0.50 |
| FTP banner | FTP-Server-Softwareidentifizierung | 0.25-0.35 |
| Port heuristics | Muster von offenen Portkombinationen | 0.10-0.70 |
| nmap services | Service-Produkt- und Versionsfelder | 0.45 |

Identifikationsergebnisse erscheinen in:
- Geräteinventartabelle im Terminal (während des Scans und über `--identify`)
- Topologie-Karten des HTML-Berichts und Geräteinventar-Abschnitt
- Abschnitt `device_identities` im JSON-Export
- Menüoption [8] Device Inventory im interaktiven Modus

---

## Schweregrade

| Stufe | Farbe | CVSS-Bereich | Bedeutung | Wann handeln |
|---|---|---|---|---|
| **KRITISCH** | Rot | >= 9.0 | Standard-Zugangsdaten, ausnutzbare CVE, SSL 2.0 | Heute |
| **HOCH** | Orange | 7.0-8.9 | Telnet/FTP offen, abgelaufenes Zertifikat, TLS 1.0, EOL-Software | Diese Woche |
| **MITTEL** | Gelb | 4.0-6.9 | Selbstsigniertes Zertifikat, UPnP-Exposition, nicht autorisiertes Gerät, fehlendes HSTS | Behebung planen |
| **NIEDRIG** | Blau | < 4.0 | EOL steht bevor, fehlendes X-Frame-Options, Geräte-IP geändert | Verfolgen und planen |
| **INFO** | Grau | - | Gerät identifiziert, Zertifikatsdetails, DNS-Check bestanden | Keine Aktion |

---

## Projektstruktur```
sunsetscan/
├── sunsetscan.py                    # Entry point — CLI, scan pipeline, setup wizard
├── requirements.txt               # Python dependencies
├── install.sh                     # Automated installer for Linux/macOS
├── install.bat                    # Automated installer for Windows (basic)
├── README.md                      # This file
│
├── config/
│   └── settings.py                # All constants, timeouts, scan profiles, menu options
│
├── core/
│   ├── scanner.py                 # nmap wrapper (ScanResult, HostInfo, PortInfo)
│   ├── port_scanner.py            # Masscan pipeline + PortScanOrchestrator
│   ├── banner_grabber.py          # Concurrent raw socket banner grabbing
│   ├── http_fingerprinter.py      # HTTP device/firmware fingerprinting
│   ├── nse_scanner.py             # Nmap Scripting Engine integration
│   ├── auth_tester.py             # Default credential testing (HTTP, device-specific)
│   ├── input_parser.py            # Flexible target format parsing
│   ├── network_utils.py           # Subnet detection, IP helpers, WSL detection
│   ├── findings.py                # Finding dataclass, Severity enum, FindingRegistry
│   ├── risk_scorer.py             # Per-device risk scoring (0-100)
│   ├── cache_manager.py           # Unified CVE + EOL cache (data/cache/)
│   ├── cve_checker.py             # CVE lookup + CVECacheBuilder (OSV.dev)
│   ├── ssl_checker.py             # TLS certificate, cipher suite, JA3S fingerprinting
│   ├── ssh_checker.py             # SSH version, algorithms, KEXINIT analysis
│   ├── smb_checker.py             # SMBv1, EternalBlue, shares, NTLM disclosure
│   ├── ftp_checker.py             # Anonymous FTP, STARTTLS
│   ├── snmp_checker.py            # SNMP community strings, sysDescr (pysnmp v4+v7)
│   ├── web_checker.py             # HTTP headers, admin panels, Wappalyzer
│   ├── dns_checker.py             # DNS hijack and rebinding detection
│   ├── upnp_checker.py            # SSDP discovery, UPnP risk assessment
│   ├── mdns_checker.py            # mDNS/Zeroconf device discovery
│   ├── arp_checker.py             # ARP spoofing detection
│   ├── device_identifier.py       # 14-source device identification engine
│   ├── identity_fusion.py         # Multi-source identity fusion and scoring
│   ├── oui_lookup.py              # IEEE OUI MAC vendor resolution
│   ├── device_map.py              # Persistent MAC→identity mapping
│   ├── passive_sniffer.py         # Background mDNS/SSDP/DHCP packet capture
│   ├── packet_parsers.py          # Protocol-specific packet parsing
│   ├── instant_scan.py            # ARP sweep + passive capture quick scan
│   ├── hybrid_scanner.py          # Passive+active scan orchestrator
│   ├── baseline.py                # Rogue device baseline comparison
│   ├── hardware_eol.py            # Downloaded hardware lifecycle database lookup
│   ├── scan_history.py            # Scan snapshot persistence and diffing
│   ├── module_manager.py          # Downloadable data module system
│   └── update_manager.py          # Version check and self-update
│
├── eol/
│   ├── checker.py                 # EOL API queries and version comparison
│   ├── cache.py                   # Per-product JSON cache
│   └── product_map.py             # 150+ software name -> lifecycle cache slug mappings
│
├── ui/
│   ├── menu.py                    # Old-style numbered menu (no-args mode)
│   ├── display.py                 # Rich terminal tables, progress bars, banners
│   ├── export.py                  # JSON and HTML report generation
│   ├── interactive_controller.py  # Interactive mode (-i) with multi-level menus
│   └── templates/
│       └── report.html.j2         # Jinja2 HTML report template
│
└── data/
    ├── default_credentials.json   # Factory-default credentials database
    ├── device_map.json            # Persistent MAC→identity map
    ├── baseline.json              # Saved device baseline (--save-baseline)
    ├── cache/
    │   ├── cve_cache.json         # CVE data keyed by product:version
    │   ├── <product>.json         # EOL data keyed by product slug
    │   ├── hardware_eol/          # Downloaded hardware lifecycle database
    │   └── cache_meta.json        # Cache update timestamps
    ├── history/                   # Gzip scan snapshots (auto-saved)
    └── modules/                   # Downloaded data modules

Fehlerbehebung

nmap nicht gefunden```bash

Debian/Ubuntu

sudo apt install nmap

Fedora

sudo dnf install nmap

Arch

sudo pacman -S nmap

macOS

brew install nmap

root@kitploit:~
**Zugriff verweigert / OS-Erkennung funktioniert nicht**

FULL-, STEALTH- und SMB-Profile erfordern erhöhte Rechte. Ohne Root fallen diese Profile automatisch auf Non-Root-Flags zurück (OS-Erkennung und SYN-Scan deaktiviert, aber Port-/Versions-Scan funktioniert weiterhin).```bash
# For full capabilities:
sudo python3 sunsetscan.py --target 192.168.1.0/24 --profile FULL

WSL2 schlägt falsches Netzwerk vor (172.x.x.x)

Unter WSL2 erkennt SunsetScan den virtuellen Adapter und fällt auf 192.168.1.0/24 zurück. Wenn Ihr Heimnetzwerk ein anderes Subnetz verwendet, geben Sie es mit --target an:```bash python3 sunsetscan.py --target 192.168.0.0/24

root@kitploit:~
**Cache-Warnungen beim Scanstart**```
WARNING: CVE data is 12 days old — run: python sunsetscan.py --update-cache

Scans funktionieren mit veralteten Daten problemlos. Führen Sie --update-cache aus, um zu aktualisieren.

Zugriff verweigert beim Herunterladen von Modulen

Wenn Modul-Downloads mit Permission denied: .../data/cache/... fehlschlagen, wurde der Cache wahrscheinlich mit sudo erstellt. Korrigieren Sie den Besitz einmalig und führen Sie dann Setup und Modul-Downloads als Ihr normaler Benutzer aus:```bash cd ~/sunsetscan sudo chown -R "$USER:$USER" data/cache ./sunsetscan --download all

root@kitploit:~
**SNMP-Checks funktionieren nicht**

SunsetScan unterstützt sowohl pysnmp v4 (synchron) als auch v7 (asynchron). Wenn du Importfehler siehst, aktualisiere pysnmp:```bash
pip install --upgrade pysnmp

Haftungsausschluss — Nur für autorisierte Nutzung

SunsetScan ist ein Sicherheitsaudit-Tool, das für den Einsatz in Netzwerken und auf Geräten vorgesehen ist, die dir gehören oder für die du eine ausdrückliche schriftliche Genehmigung zum Testen hast.

Das Ausführen von Netzwerkscans gegen Systeme, die dir nicht gehören oder für die du keine Genehmigung zum Testen hast, kann unabhängig von der Absicht illegal sein. Die Autoren übernehmen keine Haftung für Missbrauch.

SunsetScan ist vollständig nicht-destruktiv und schreibgeschützt. Es nutzt keine Schwachstellen aus, liefert keine Payloads aus und ändert keine Konfiguration auf gescannten Geräten. Das Testen von Anmeldedaten über --check-defaults ist opt-in, begrenzt, verzögert, auf exakte Modelle ausgerichtet und stoppt bei Lockout-/Rate-Limit-Signalen; es ist keine Brute-Force-Funktion.


Lizenz

Das SunsetScan-Repository und der Anwendungscode sind unter der MIT-Lizenz lizenziert — Copyright 2024 SunsetScan Contributors.

Nur die SunsetScan-Hardware-EOL-Datenbankartefakte unter data/hardware_eol/ sind separat lizenziert: Diese Datenbank ist unter der Creative Commons Attribution-NonCommercial 4.0 International License (CC BY-NC 4.0) lizenziert. Siehe data/hardware_eol/LICENSE.md.


Danksagungen

  • nmap — Scan-Engine
  • python-nmap — Python-nmap-Schnittstelle
  • OSV.dev — Schwachstellendatenbank
  • Rich — Terminal-Formatierung
  • Jinja2 — HTML-Berichtsvorlagen
  • cryptography — TLS-Zertifikatsprüfung
  • scapy — Rohpaketerfassung und ARP-Scanning
  • danielmiessler/SecLists — Anmeldedaten- und SNMP-Listen
  • ihebski/DefaultCreds-cheat-sheet — Hersteller-Anmeldedaten
  • enthec/webappanalyzer — Erkennung von Web-Technologien
  • salesforce/ja3 — TLS-Fingerprinting
  • many-passwords — Kamera-/DVR-Anmeldedaten
Tool herunterladen
PlattformUnterstützungsgradHinweise
Linux (Debian, Ubuntu, Fedora, Arch usw.)Volle UnterstützungBeste Erfahrung – alle Funktionen arbeiten nativ
WSL2 (Windows-Subsystem für Linux)Volle UnterstützungEmpfohlener Weg für die Ausführung auf Windows-Rechnern
macOSTeilweiseKern-Scanning funktioniert; einige Funktionen (ARP, passives Erfassen) erfordern möglicherweise zusätzliche Einrichtung
Windows (natives CMD/PowerShell)Nicht unterstütztFehlende Raw-Sockets, os.geteuid(), /proc, ip route und termios – nutzen Sie stattdessen WSL2
FlagEffekt
(keine Flags)Standardinstallation: Systempakete + venv + Python-Abhängigkeiten + Selbsttest
--forcevenv löschen und von Grund auf neu aufbauen (nach einem Python-Upgrade verwenden)
--symlinkInstalliert zusätzlich /usr/local/bin/sunsetscan, sodass du sunsetscan von überall aus ausführen kannst
--no-systemÜberspringt den apt/dnf/etc-Schritt (verwenden, wenn deine Systemwerkzeuge bereits installiert sind)
--helpAlle Optionen anzeigen
PrüferWas er findet
SSL/TLSAbgelaufene/selbstsignierte Zertifikate, schwache Cipher, TLS 1.0/1.1, SSL 2.0/3.0, kleine RSA-Schlüssel
SSHSchwacher Schlüsselaustausch, schwache Cipher/MACs, SSHv1, kleine Host-Schlüssel, rohe KEXINIT-Analyse
SMBSMBv1, EternalBlue (MS17-010), anonyme Freigaben, SMB-Signierung deaktiviert, NTLM-Offenlegung
FTPAnonymer Login, Klartext-Zugangsdaten, fehlendes STARTTLS
SNMPStandard-Community-Strings (public/private), SNMPv1, sysDescr-Extraktion
WebFehlende Sicherheitsheader, Login-Formulare über HTTP, Directory Listing, exponierte Admin-Panels
DNSDNS-Hijacking-Erkennung (Vergleich mit Cloudflare 1.1.1.1)
UPnPSSDP-Erkennung, exponierte WAN-Portweiterleitungen auf Routern
mDNSZeroconf-/Bonjour-Geräteerkennung, findet Hosts, die Port-Scans ausweichen
ARPARP-Spoofing-Erkennung, Verfolgung von MAC-Adressänderungen (erfordert Root)
Standard-ZugangsdatenOpt-in-Werksstandard-Audit mit exakten Geräte-/Modellübereinstimmungen, begrenzten Versuchen und Verzögerungen
Unsichere ProtokolleTelnet, FTP, TFTP, rsh, rlogin, rexec nach Schweregrad gekennzeichnet
ModulQuelleWas es hinzufügt
credentials-minidanielmiessler/SecListsTop 50 Standard-Zugangsdaten (herunterladbare Referenzdaten; werden vom sicheren Audit nicht verwendet, sofern nicht explizit in den Einstellungen aktiviert)
credentials-fullihebski/DefaultCreds-cheat-sheet2860+ herstellerspezifische Zugangsdaten (herunterladbare Referenzdaten; werden vom sicheren Audit nicht verwendet, sofern nicht explizit in den Einstellungen aktiviert)
wappalyzer-minienthec/webappanalyzerTop 500 Web-Technologien (Standard)
wappalyzer-fullenthec/webappanalyzerAlle 7515 Web-Technologien
ja3-signaturessalesforce/ja3TLS-Fingerprint-Datenbank
snmp-communitydanielmiessler/SecListsErweiterte SNMP-Community-Strings
camera-credentialsmany-passwords/many-passwordsIP-Kamera-/DVR-/NVR-Standardwerte (herunterladbare Referenzdaten; werden vom sicheren Audit nicht verwendet, sofern nicht explizit in den Einstellungen aktiviert)
mac-ouiIEEE Standards AssociationMAC-Präfix-Herstellerdatenbank (Standard)
hardware-eol-homeNoCoderRandom/sunsetscanHome-/SOHO-Hardware-Lebenszyklus-/EOL-Profil (Standard; Datenbanklizenz: CC BY-NC 4.0)
hardware-eol-officeNoCoderRandom/sunsetscanHome plus Small-Office-Hardware-Lebenszyklus-/EOL-Profil
hardware-eol-enterpriseNoCoderRandom/sunsetscanHome-, Office- und Enterprise-/Campus-/Rechenzentrums-Hardware-Lebenszyklus-/EOL-Profil
hardware-eol-industrialNoCoderRandom/sunsetscanHome-, Office- und Industrie-/OT-Hardware-Lebenszyklus-/EOL-Profil
hardware-eol-service-providerNoCoderRandom/sunsetscanHome-, Office-, Enterprise- und Service-Provider-Hardware-Lebenszyklus-/EOL-Profil
hardware-eol-fullNoCoderRandom/sunsetscanVollständiges Smart-Pack-Hardware-Lebenszyklus-/EOL-Profil
hardware-eolNoCoderRandom/sunsetscanLegacy-Vollsplit-Hardware-Lebenszyklus-/EOL-Kompatibilitätsmodul
sunsetscan --modules # Show module status
sunsetscan --download all # Download all modules, using the full hardware EOL smart profile
sunsetscan --download ja3-signatures # Download one data module
sunsetscan --download hardware-eol-home # Download a smaller hardware EOL profile
sunsetscan --download hardware-eol-full # Download every hardware EOL smart pack
DateiInhaltAktualisierungsintervall
data/cache/cve_cache.jsonCVE-Daten, sortiert nach Produkt:VersionAlle 7 Tage
data/cache/*.jsonEOL-Daten für 150+ Produkte, pro Produkt gespeichertAlle 30 Tage
data/cache/hardware_eol/sunsetscan_hardware_eol_index.json sowie records/*.jsonHardware-Lebenszyklus-/EOL-DatenbankAlle 30 Tage
data/cache/hardware_eol/manifest.json, indexes/*.json und records/<pack>/*.jsonSmart-Pack-Hardware-Lebenszyklus-/EOL-ProfileAlle 30 Tage
data/cache/cache_meta.jsonZeitstempel der letzten AktualisierungenAutomatisch
sunsetscan --cache-status # See current cache state
sunsetscan --update-cache # Refresh stale caches
Zuvor gesehenes Gerät offlineInfoBaseline-Gerät antwortet nicht