Was ist PowerShell und warum ist es so wichtig?
PowerShell ist ein unglaublich leistungsstarkes Werkzeug, das von IT-Administratoren weltweit verwendet wird, um Systeme effizient zu verwalten und administrative Aufgaben zu automatisieren. Dank seiner umfassenden Skripting-Fähigkeiten und der nahtlosen Integration in Windows-Systeme ist PowerShell unverzichtbar für die Verwaltung moderner IT-Umgebungen. Doch genau diese Stärke macht PowerShell auch zu einem bevorzugten Werkzeug für Cyberkriminelle.
In den falschen Händen kann PowerShell dazu genutzt werden, Systeme zu kompromittieren, sensible Daten zu sammeln oder weitere Angriffe durchzuführen. Dies insbesondere, wenn es im Benutzerkontext (Standardbenutzer) verfügbar ist.
Das Risiko, wenn PowerShell ausgenutzt wird
Wenn ein Angreifer Zugriff auf einen Rechner erlangt – sei es durch Phishing, Schwachstellen in der Software oder andere Angriffsvektoren – wird PowerShell häufig als Werkzeug der Wahl genutzt, um das volle Potenzial eines Angriffs auszuschöpfen. Dies kann besonders gefährlich sein, wenn PowerShell im Benutzerkontext ausgeführt werden kann.
Wie Angreifer PowerShell ausnutzen
Foothold und Command & Control (C2)
Nach dem initialen Zugriff nutzen Angreifer PowerShell, um eine Verbindung zu ihrem Command & Control (C2)-Server aufzubauen, weitere Tools nachzuladen oder ein dauerhaftes Backdoor zu erstellen. PowerShell ermöglicht es, diese Aktionen vollständig im Arbeitsspeicher durchzuführen, was die Erkennung durch Sicherheitslösungen erschwert.
Enumeration: Informationen sammeln
Ein Beispiel hierfür ist das Client-Checker.ps1-Skript, das dazu verwendet werden kann, sicherheitskritische Informationen wie Patch-Stand, Benutzerrechte und Sicherheitsrichtlinien zu analysieren. Was als hilfreiches Tool für Administratoren gedacht ist, kann in den Händen eines Angreifers eine Gefahr darstellen.
Nutzung von Skripten für Privilege Escalation
PowerShell kann verwendet werden, um Berechtigungen oder Schwachstellen abzufragen, die für ein Rechteausweitung (Privilege Escalation) genutzt werden können. Angreifer suchen gezielt nach Fehlkonfigurationen oder unzureichend gesicherten Ressourcen, um Administratorrechte zu erlangen.
Nutzung als Backdoor
Angreifer können PowerShell dazu nutzen, Backdoors zu erstellen, die ihnen einen langfristigen Zugriff ermöglichen. Diese Backdoors können versteckt und schwer zu erkennen sein, da sie oft ohne Speicherung auf der Festplatte direkt im Speicher ausgeführt werden.
Ausführung von Hacking-Tools
PowerShell erlaubt es, leistungsstarke Tools wie Mimikatz direkt im Speicher auszuführen, ohne dass Dateien auf die Festplatte geschrieben werden. Dadurch ist es Angreifer auch möglich, Endpoint Detection and Response (EDR)-Software zu umgehen. Solche Tools ermöglichen es, Anmeldeinformationen zu extrahieren, Token zu manipulieren oder Netzwerkzugänge zu kompromittieren.
PowerShell und die Statistik von MITRE ATT&CK
Laut der MITRE ATT&CK-Datenbank basieren mindestens 26 von 711 dokumentierten Hacking-Tools auf PowerShell. Diese Statistik zeigt eindrücklich, wie weit verbreitet und effektiv PowerShell als Angriffsvektor ist.
Lösung: Wie Sie das Risiko minimieren können
Um die Nutzung von PowerShell durch Angreifer einzuschränken, sind präventive Massnahmen unerlässlich:
PowerShell im Constrained Language Mode nutzen
Durch den Constrained Language Mode wird der Zugriff auf viele kritische Funktionen von PowerShell eingeschränkt, sodass Angreifer ihre Skripte nicht mehr wie gewohnt ausführen können.
Execution Policy auf "RemoteSigned" setzen
Diese Einstellung erlaubt nur signierte Skripte, was das Risiko von nicht vertrauenswürdigen und bösartigen Skripten erheblich reduziert.
Blockieren von PowerShell im Benutzerkontext
PowerShell (ebenso wie CMD oder Regedit) sollte im Standardbenutzerkontext blockiert werden. Wenn PowerShell-Skripts dennoch benötigt werden, können die Skripts in ausführbare Datei (EXE) umgewandelt werden, die dann mit einer gültigen Signatur versehen werd. Dadurch wird sichergestellt, dass nur autorisierte PowerShell-Skripts ausgeführt werden.
Überwachung und Protokollierung
Aktivieren Sie detaillierte Protokollierung für PowerShell, um ungewöhnliche Aktivitäten zu erkennen. Tools wie Microsoft Defender oder spezialisierte EDR-Lösungen können dabei helfen, verdächtige PowerShell-Befehle zu identifizieren.
Fazit
PowerShell ist ein unverzichtbares Werkzeug für IT-Administratoren – und leider auch für Cyberkriminelle. Wenn PowerShell im Benutzerkontext verfügbar ist, eröffnet dies Angreifern eine Vielzahl von Möglichkeiten, Systeme zu kompromittieren und sensible Informationen zu stehlen.
Mit Massnahmen wie dem Constrained Language Mode, der richtigen Execution Policy und der Blockierung von PowerShell im Standardbenutzerkontext können Unternehmen das Risiko erheblich reduzieren.
Nutzen Sie PowerShell bewusst – und schützen Sie Ihr Unternehmen vor den Gefahren, die es mit sich bringen kann.