OT-Sicherheit-Playbook - OT-Sicherheit aus Sicht eines Pentesters
Automatisiert unnötige Dienste auf Windowssystemen in der OT abschalten
Die Vielzahl von nicht notwendigen Standardanwendungen auf Windowssystemen sollten in der OT abgeschaltet werden, um Angriffsvektoren zu minimieren. Mit einem einfachen Powershell-Skript kann das schnell über alle in der OT befindlichen Systeme erfolgen.
Zu unserer Serie: OT-Sicherheit geht auch einfach. Zusammen mit Pentester Patrick Latus von ITrocks beleuchten wir ganz praxisorientiert die wichtigsten Schritte, um OT-Netze sicherer zu machen. Basierend auf dem gemeinsamen eBook “Playbook für OT-Sicherheit - nach Art eines Pentesters” zeigen wir in den Blogposts und Videos Schritt für Schritt, wie OT-Verantwortliche die im eBook empfohlenen Maßnahmen umsetzen können.
Welche Windowsanwendungen werden nicht benötigt?
Viele Steuerungssystem-Hersteller wie Siemens, DeltaV und ABB geben aktiv Empfehlungen heraus, welche standardmäßig ausgelieferten Windowsdienste nach der Installation deaktiviert werden sollten.
Klassischerweise gehören dazu:
- Bluetooth-Dienste
- Diagnose-Dienste
- Dienste für Funkverwaltung, Telefon, Sofortverbindung und mobile Hotspots
- Geolocation-Dienste
- Mediaplayer
- Wallet-Dienste und Zahlungsmanager
- Windows-Farbsystem
- X-Box-Anwendungen
Wie kann ein Windowssystem auf laufende Dienste geprüft werden?
1. Öffnen Sie im Windowssystem das Ausführen/Run-Fenster per Tastenkombination Windows+R.
2. Geben Sie “services.msc” ein und bestätigen Sie mit Enter.
3. Es öffnet sich das Dienste-Fenster, in dem alle Windowsdienste gelistet werden. Sortieren Sie die Einträge nach Starttyp, um zu sehen, welche Dienste automatisch laufen.
Wie können unnötige Windowsdienste deaktiviert werden?
Es gibt wieder verschiedene mehr oder weniger aufwendige Wege, um unnötige Windowsdienste zu deaktivieren.
WICHTIG: Bevor Sie die Konfiguration der Dienste durchführen, erstellen Sie IMMER ein Backup des Systems!
Unnötige Windowsdienste einzeln im Dienste-Fenster deaktivieren
1. Erstellen Sie ein Backup des Systems.
2. Öffnen Sie das Dienste-Fenster über Ausführen (Windows+R) und “services.msc”.
3. Doppelklicken Sie auf den zu deaktivierenden Dienst.
4. Öffnen Sie auf der Karteikarte “Allgemein” das Dropdown-Menü “Starttyp”.
5. Wählen Sie “Deaktiviert”.
6. Bestätigen Sie mit “Übernehmen” und “OK”.
Da dies für jeden Dienst und auf jedem Windowssystem händisch erfolgen muss, kann dies mitunter zeitlich sehr aufwendig sein.
Unnötige Windowsdienste automatisch per Powershell-Skript deaktivieren
Da in der OT in der Regel mehrere Windowssysteme laufen, auf denen häufig auch dieselben unnötigen Dienste starten, ist eine Automatisierung über ein Powershell-Skript sinnvoll.
Dafür legen Sie ein generelles Powershell-Skript an, in dem alle zu deaktivierenden Dienste aufgelistet werden. Dies kann durch Kopieren der Dienstnamen aus dem Dienste-Fenster erfolgen. Das einmalig anzulegende Powershell-Skript kann dann auf allen Windowssystemen über das Kommandozeilen-Werkzeug automatisiert ausgeführt werden.
1. Erstellen Sie ein Backup des Systems.
2. Erstellen das Powershell-Skript nach dem Format:
$services = @(
“Dienst 01”
“Dienst 02”
…
)
foreach ($service in $services) {
echo “Trying to disable $service”
Get-Service -Name $service | Set-Service -StartupType Disabled
echo “$service disabled”
}

3. Öffnen Sie ein Powershell als Administrator.
4. Stellen Sie sicher, dass die Execution Policy für das Windowssystem den Aufruf des Powershell-Skriptes erlaubt. Falls das Powershell-Skript nicht digital signiert ist, muss die Execution Policy für den kurzen Zeitraum des Skript-Einsatzes auf “unrestricted” gesetzt werden.
In der Powershell kann dies über folgende Eingabe erfolgen:
Set-ExecutionPolicy Unrestricted
5. Navigieren Sie in der Powershell zum Powershell-Skript.
6. Starten Sie das Skript.
7. Falls Dienstnamen auf einem Windowssystem nicht gefunden werden, kann dies daran liegen, dass der Dienst entweder anders benannt ist oder auf dem jeweiligen System nicht installiert ist. Das können Sie wiederum im Dienste-Fenster prüfen.
8. Überprüfen Sie die das Ergebnis des Skriptes im aktualisierten Dienste-Fenster.
9. Ergänzen Sie bei Bedarf nicht erfasste und noch immer auf “automatisch” gestellte Dienste im Powershell-Skript und starten Sie das Skript erneut.
10. Setzen Sie die ExecutionPolicy auf die sichere Einstellung zurück.
11. Starten Sie das Windowssystem neu.
Folgen Sie unserem Pentester Schritt für Schritt beim Deaktivieren unnötiger Dienste auf Windows-Maschinen:





