Installation von scada-scanner auf Securitix

Präzises SCADA‑Scanning für Ihr Sicherheitssystem

Max Muster

Der Securitix Linux‑Distribution, basierend auf Debian, liefert Ihnen mehr als 1.000 vorinstallierte Sicherheitstools. Wenn Sie Ihre Werkzeugsammlung um moderne SCADA‑Scanning-Methoden erweitern wollen, bietet das Open‑Source‑Projekt scada‑scanner genau das: eine hochperformante, Python‑basierte Lösung, die speziell für die Erkennung von SCADA‑Zielen entwickelt wurde.

Voraussetzungen auf Securitix

Vor der Installation sollten Sie das System auf den neuesten Stand bringen und ein paar Grundpakete installieren:

# Aktualisieren Sie die Paketlisten
sudo apt update && sudo apt upgrade -y

Installieren Sie Git, Python3, pip und weitere benötigte Bibliotheken
sudo apt install -y git python3 python3-pip python3-venv

Repository klonen

Jetzt kann das scada‑scanner-Repository aus GitHub gezogen werden. Platzieren Sie es im Home‑Verzeichnis des Securitix‑Users, damit alle Tool‑Konfigurationen problemlos gefunden werden können.

cd ~
git clone https://github.com/geeknik/scada-scanner.git
cd scada-scanner

Python‑Umgebung einrichten

Die Verwendung einer virtuellen Umgebung verhindert Konflikte mit bereits vorhandenen Paketen:

# Erstellen einer virtuellen Umgebung
python3 -m venv venv

Aktivieren
source venv/bin/activate

Installation der Abhängigkeiten
pip install --upgrade pip
pip install -r requirements.txt

Falls die Datei requirements.txt nicht vorhanden ist, können Sie die benötigten Module direkt installieren:

pip install requests pydantic uvloop

scada‑scanner ausführen

Der Hauptanruf erfolgt über die Datei scada_scanner.py. Hier ein Beispiel für einen einfachen Scan eines einzelnen Hosts:

# Scan eines Hosts (z. B. 192.168.1.10)
python scada_scanner.py -t 192.168.1.10 -o result.json

Scan eines Netzwerkbereichs mit CIDR-Notation
python scada_scanner.py -r 192.168.1.0/24 -o network.json

Optional können Sie die folgenden Parameter nutzen, um die Ausgabe und das Verhalten zu steuern:

  • -h, --help: Zeigt die Hilfe an.
  • -o, --output: Gibt den Pfad zur Ausgabedatei an.
  • -v, --verbose: Aktiviert ausführliche Log‑Informationen.
  • -t, --target: Scan eines einzelnen IP‑Adresses.
  • -r, --range: Scan eines IP‑Bereichs (CIDR).

Integration in Securitix‑Tool‑Verzeichnis

Damit scada‑scanner beim Tool‑Setup von Securitix automatisch verfügbar ist, können Sie einen symbolischen Link im /opt/systems/-Verzeichnis anlegen:

sudo ln -s ~/scada-scanner/venv/bin/python3 /opt/systems/scada_scanner
sudo ln -s ~/scada-scanner/scada_scanner.py /opt/systems/scada_scanner.py

Danach kann das Tool von jedem Ort aus mit folgendem Befehl gestartet werden (nachdem Sie das virtuelle Umfeld wieder deaktiviert haben, ist das nicht mehr nötig, es ist jedoch aus Gründen der Reproduzierbarkeit empfehlenswert):

scada_scanner -t 10.0.0.5 -o 10.0.0.5_scan.json

Sicherheits‑ und Test‑Empfehlungen

SCADA‑Netzwerke besitzen empfindliche Infrastrukturen. Führen Sie scada‑scanner daher nur in isolierten Test‑Umgebungen oder auf ausdrücklich genehmigten Netzwerken aus. Nutzen Sie die Optionen -p oder -d um die Ports gezielt einzuschränken, damit die Netzwerklast minimal bleibt.

# Scan nur auf Port 502 (Modbus) und 80 (HTTP)
python scada_scanner.py -t 10.0.0.1 -p 502,80 -o partial.json

Ergebnisse verarbeiten

Die generierte JSON‑Datei kann in weitere Analysen, SIEM‑Feeds oder Dashboards eingebunden werden. Für ein Beispiel, wie man die Ergebnisse mit jq filtert:

# Alle Ziel‑IP‑Adressen, die ein SCADA‑System identifiziert haben
cat result.json | jq '. | map(.ip) | .[]'

Damit haben Sie die vollständige Einrichtung von scada‑scanner auf Ihrem Securitix‑System abgeschlossen. Nutzen Sie das Tool, um Ihre SCADA‑Sicherheitsstrategie zu erweitern, potenzielle Angriffsvektoren frühzeitig zu erkennen und Ihre Schutzmechanismen kontinuierlich zu verbessern.

Weiterführende Ressourcen