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
scada-scanner — Ein leistungsstarker, asynchroner SCADA/ICS-Scanner | Kitploit
Tools/GitHubGitHub/geeknik/scada-scanner
AufklärungSchwachstellenscannerNetzwerkkartierungPort-ScanningSchwachstellenanalyseSCADA/ICS-SicherheitInformationsbeschaffungNetzwerksicherheitPenetrationstests
GitHubgeeknik/scada-scanner

scada-scanner

Ein leistungsstarker, asynchroner SCADA/ICS-Scanner

163vor 8 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 →
Repository anzeigenWebseite
Teilen

SCADA-Scanner und Fingerprinter

Übersicht

Ein leistungsstarker, asynchroner SCADA/ICS-Scanner zur Identifizierung und zum Fingerprinting industrieller Steuerungssysteme in Netzwerken. Erkennt Schwachstellen, identifiziert Hersteller/Produkte und erstellt umfassende Risikoberichte.

WARNUNG: Nur für autorisierte Sicherheitsbewertungen. Nicht autorisierte Scans können gegen Gesetze und Vorschriften verstoßen.

Funktionen

Kernfunktionen

  • Schnelles, asynchrones Scannen von CIDR-Bereichen oder einzelnen Zielen
  • Protokollerkennung für wichtige Industrieprotokolle (Modbus, S7, DNP3, BACnet, EtherNet/IP usw.)
  • Geräte-Fingerprinting mit Identifizierung von Hersteller, Produkt und Version
  • Korrelation von Schwachstellen mit realen CVEs und Exploits
  • Risikobewertung und -analyse

Technische Highlights

  • Multithread-Architektur mit konfigurierbarer Parallelität
  • Token-Bucket-Rate-Limiting zur Einhaltung globaler Anforderungsgrenzen
  • Rate-Limiting und Verbindungssteuerung pro Host
  • Verhaltensbasiertes Fingerprinting durch protokollspezifische Sonden
  • Portbewusste Protokollheuristiken mit Nachweisketten für Erkennungen
  • Detaillierte Protokollierung und umfassende JSON-/CSV-Berichte

Unterstützte Protokolle

  • Modbus TCP
  • Siemens S7
  • DNP3
  • BACnet
  • EtherNet/IP
  • IEC 60870-5-104
  • OPC UA
  • CODESYS
  • Und viele weitere

Installation

Voraussetzungen

  • Python 3.7+
  • Linux/macOS/Windows

Einrichtung

root@kitploit:~
# Clone the repository
git clone https://github.com/geeknik/scada-scanner.git
cd scada-scanner

# Install dependencies
pip install -r requirements.txt

Verwendung

Grundlegende Verwendung

root@kitploit:~
# Single target scan
python scada_scanner.py -t 192.168.1.100 -o results.json

# CIDR range scan
python scada_scanner.py -c 192.168.1.0/24 -o results.json

# Multiple CIDR ranges from file
python scada_scanner.py -f networks.txt -o results.json

# Export CSV instead of JSON
python scada_scanner.py -t 192.168.1.100 --format csv -o results.csv

# Respect an exclude list
python scada_scanner.py -c 10.0.0.0/24 --exclude exclude.txt

# Highlight unexpected protocol/port combos (logged and in findings)
python scada_scanner.py -t 203.0.113.10 -o results.json

# Enable live vuln enrichment via ProjectDiscovery vulnx (requires vulnx + PDCP API key)
vulnx auth
python scada_scanner.py -t 192.168.1.100 --vulnx --vulnx-limit 3

Befehlszeilenoptionen

root@kitploit:~
Required arguments (one of):
  -t, --target            Single target IP address
  -c, --cidr              CIDR range to scan (e.g., 192.168.1.0/24)
  -f, --cidr-file         File containing CIDR ranges (one per line)

Optional arguments:
  -o, --output            Output file (default: scan_results.json)
  -r, --rate              Max requests per second (default: 10.0)
  --timeout               Connection timeout in seconds (default: 5)
  --max-concurrent        Maximum concurrent connections (default: 50)
  --safe-mode             Enable safe mode (non-intrusive scans only)
  --exclude               File containing IPs to exclude from scan
  -v, --verbosity         Verbosity level: 0=quiet, 1=normal, 2=debug
  --format                Output format: json or csv (default: json)

Abgesicherter Modus vs. Standardmodus

Abgesicherter Modus

  • Verwendet ausschließlich nicht-intrusive Sonden
  • Minimiert die Auswirkungen auf Zielsysteme
  • Für Produktionsumgebungen empfohlen
  • Mit --safe-mode-Flag aktivieren

Standardmodus

  • Verwendet aggressivere Sondierungstechniken
  • Kann IDS/IPS-Alarme auslösen
  • Kann potenziell empfindliche Systeme beeinträchtigen
  • In Produktionsumgebungen mit Vorsicht verwenden

Beispielbericht

root@kitploit:~
{
  "scan_summary": {
    "timestamp": "2025-02-27T14:02:33.456789",
    "total_hosts_scanned": 256,
    "hosts_with_scada": 12,
    "total_vulnerabilities": 37,
    "high_risk_hosts": 5
  },
  "hosts": [
    {
      "ip": "192.168.1.100",
      "ports": [
        {
          "port": 502,
          "protocol": "MODBUS",
          "fingerprint": {
            "vendor": "Schneider",
            "product": "M340",
            "version": "2.6.0",
            "risk_score": 0.75,
            "evidence": [
              "response:00010000000101",
              "port_hint:502"
            ],
            "findings": [
              "Detected MODBUS protocol (confidence: 0.55)",
              "Identified vendor: SCHNEIDER, product: M340",
              "Overall risk assessment: High (score: 0.75)"
            ],
            "unexpected_port": false
          }
        }
      ],
      "vulnerabilities": [
        {
          "cve_id": "CVE-2025-55221",
          "description": "Socomec DIRIS Digiware M-70 DoS via crafted Modbus TCP/RTU over TCP packets",
          "severity": "high",
          "source": "local_db"
        }
      ]
    }
  ]
}

Ethische Überlegungen

Rechtliche Konformität

Dieses Tool ist ausschließlich für autorisierte Sicherheitsbewertungen bestimmt. Nicht autorisierte Scans können gegen folgende Gesetze verstoßen:

  • Computer Fraud and Abuse Act (USA)
  • Computer Misuse Act (UK)
  • Ähnliche Gesetze in anderen Rechtsgebieten

Bewährte Methoden

  • Holen Sie vor dem Scannen immer eine schriftliche Genehmigung ein
  • Verwenden Sie nach Möglichkeit den abgesicherten Modus
  • Scannen Sie nach Möglichkeit in Wartungsfenstern
  • Respektieren Sie Rate-Limits, um DoS-Bedingungen zu vermeiden
  • Berücksichtigen Sie die Fragilität industrieller Systeme

Schwachstellen-Intelligenz

Der Scanner wird mit einer kleinen integrierten Schwachstellendatenbank für Kernprotokolle ausgeliefert (siehe VULNERABILITY_DATABASE). Für aktuellere Informationen können Sie die optionale ProjectDiscovery vulnx-Integration aktivieren:

  1. Installieren Sie vulnx und konfigurieren Sie Ihren PDCP-API-Schlüssel (vulnx auth).
  2. Führen Sie den Scanner mit --vulnx aus (optional können Sie --vulnx-limit und --vulnx-timeout anpassen).
  3. Schwachstellen von vulnx werden mit lokalen Ergebnissen zusammengeführt und mit source: "vulnx" markiert.

Wenn vulnx fehlt oder nicht erreichbar ist, fällt der Scanner stillschweigend auf die lokale Datenbank zurück. Lokale Datenbankeinträge werden regelmäßig aus vulnx-Suchen für Kernprotokolle aktualisiert (im Snapshot dieses Repos erfasst) und mit source: "local_db" gekennzeichnet.

Tests

Führen Sie die Unit-Test-Suite aus:

root@kitploit:~
pytest

Entwicklerdokumentation

Hinzufügen neuer Protokolle

Der Scanner ist modular aufgebaut, sodass die Unterstützung für neue Protokolle einfach hinzugefügt werden kann:

  1. Fügen Sie die Protokolldetails zur SCADA_PORTS-Liste hinzu
  2. Fügen Sie Signaturmuster zum PROTOCOL_SIGNATURES-Wörterbuch hinzu
  3. Erstellen Sie protokollspezifische Sonden- und Analyzer-Funktionen
  4. Fügen Sie Schwachstelleninformationen zur VULNERABILITY_DATABASE hinzu

Mitwirken

Beiträge sind willkommen! Bitte folgen Sie diesen Schritten:

  1. Forken Sie das Repository
  2. Erstellen Sie einen Feature-Branch (git checkout -b feature/amazing-feature)
  3. Committen Sie Ihre Änderungen (git commit -m 'Add amazing feature')
  4. Pushen Sie den Branch (git push origin feature/amazing-feature)
  5. Öffnen Sie einen Pull Request

Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert – siehe die Datei LICENSE für Details.

Haftungsausschluss

DIE SOFTWARE WIRD "WIE BESEHEN" BEREITGESTELLT, OHNE JEGLICHE AUSDRÜCKLICHE ODER STILLSCHWEIGENDE GEWÄHRLEISTUNG. DIE AUTOREN LEHNEN JEGLICHE HAFTUNG FÜR SCHÄDEN ODER VERLUSTE AB, DIE AUS DER NUTZUNG DIESER SOFTWARE ENTSTEHEN.

Tool herunterladen