Haben ältere Windows-Systeme in Ihrem Netzwerk? Es gibt beispielsweise die Möglichkeit, auch auf Windows 7 die Ereignisprotokollierungsfunktion von PowerShell 5 einzusetzen. Wir zeigen Ihnen wie. [...]
Man könnte meinen, dass etwas so grundlegendes wie PowerShell, ein Framework zur Aufgabenautomatisierung und Konfigurationsverwaltung von Microsoft, nicht aktualisiert werden muss. Immerhin kommt es mit dem Betriebssystem, richtig? Windows 7 bietet jedoch kaum Möglichkeiten, PowerShell einzusetzen, während die PowerShell-Version von Windows 10 wesentlich stabiler ist.
Was ist aber, wenn Sie nicht bereit sind, Windows 10 netzweit einzuführen? Alles ist dabei nicht verloren. Sie können beispielsweise auf Ihren Windows 7 Systeme ein Update auf PowerShell 5 durchführen. Tatsächlich wird empfohlen, verdächtige Skriptblockprotokolle hinzuzufügen, die nicht in der auf Windows 7 mitgelieferten Version von PowerShell enthalten sind.
Für die Installation von PowerShell 5 auf Windows 7 müssen einige Voraussetzungen erfüllt sein:
- Installieren Sie Windows Management Framework 4.0.
- Installieren Sie .NET 4.5 unter Windows 7.
- Nach den ersten beiden Schritten können Sie Windows Management Framework 5.1 installieren. Sobald dies geschehen ist, können Sie die Funktionen von PowerShell 5 unter Windows 7 verwenden und die erweiterte Protokollierung aktivieren.
Aktivieren Sie als Nächstes die Protokollierung durch Group Policy, indem Sie sie wie folgt konfigurieren:
Wechseln Sie zu ‚Administrative Templates‘, dann zu ‚Windows Components‘ und anschließend zu ‚Windows PowerShell‘. Dort werden Sie nun einige Einstellungen vornehmen.
Als erstes aktivieren Sie die ‚Modulprotokollierung‘; dabei werden Teile von Skripts und entstelltem Code aufgezeichnet, und die Ereignisse unter der Ereignis-ID 4103 im Windows PowerShell-Protokoll aufgezeichnet. Legen Sie fest, welche Module verfolgen möchten. Verwenden Sie zum Abrufen einer Liste von Modulen das Get-Module -ListAvailable PowerShell cmdlet, und fügen Sie dann die zu überwachenden Module hinzu. Alternativ können Sie * eingeben, um alle Module zu protokollieren. Verwenden Sie das Stellvertretersymbol, um die Protokollierung zunächst einzurichten.
Das nächste einzurichtende Protokollierungselement ist ‚Aktivieren der Protokollierung von PowerShell-Skriptblöcken‘. Dies zeichnet auf, wann Codeblöcke ausgeführt wurden, und erfasst somit den von einem Angreifer ausgeführten Code, einschließlich Skripts und Befehle. Es wird nicht empfohlen, das Starten und Stoppen von Skriptblöcken zu aktivieren, da dies zu einer großen Anzahl von Protokollierungsereignissen führt. Durch das Hinzufügen von Skriptblockprotokollen können Sie bereits einiges an Details erfassen.
Wenn Sie sich Sorgen über Angriffe und das Erfassen von Kennwörtern machen, kann die Protokollierung von PowerShell Transcription sehr effektiv bei der Identifizierung von Skripts sein, die von Angreifern dahingehend ausgeführt werden. Dies enthält eine Aufzeichnung der PowerShell-Sitzung sowie Eingabe und Ausgabe, genau so, wie sie in der Sitzung angezeigt wird. Auf diese Weise können auch PowerShell-Befehle für seitliche Bewegungen erfasst werden.
Vergewissern Sie sich schließlich, dass das PowerShell-Ereignisprotokoll auf 1 Gigabyte erhöht wird (oder eben entsprechend Ihrer Umgebungsbeschaffenheit erhöht wird), und erwägen Sie eine Protokollierungslösung, die diese Dateien von den Computern zur späteren Überprüfung entfernt, wenn Sie sich in einer vertraulichen und sicheren Umgebung bewegen.
Nachdem Sie die Protokollierung eingerichtet haben, können Sie im PowerShell-Ereignisprotokoll nach den Ereignissen suchen. Beispielsweise sehen Sie unten sogar das gutartige PowerShell-Skript, in dem lediglich aufgezeigt wird, dass laufende Dienste in den Ereignisprotokollen ausgeführt werden.
Wie Sie unten sehen können, können Sie die Ergebnisse des PowerShell-Skripts im Überwachungsprotokoll anzeigen und anschließend überprüfen.
Sie können jetzt in den PowerShell-Protokollen nachsehen, welche Aktivitäten zuvor auf dem System ausgeführt wurden. Dies kann dazu beitragen, schädliche PowerShell-Aktivitäten schnell zu identifizieren. Wie in einem Fireeye-Blogbeitrag erwähnt, können böswillige PowerShell-Skripts durch die Base64-Kodierung weiter verschleiert werden. Angreifer stellen oft sicher, dass solche Skripts im Hintergrund ausgeführt werden. Auch wenn Sie nicht alle Details des PowerShell-Skripts überprüfen können, können Sie nach diesen Verschleierungstechniken suchen und die erfassten Ereignisse mit den in Ihrem Netzwerk verwendeten Skripts vergleichen. Wenn Sie sicherstellen können, dass die Protokollierung aktiviert ist, bevor ein Ereignis eintritt, können Sie damit im Nachhinein untersuchen, was innerhalb Ihrer Systeme passiert.
*Susan Bradley ist Redakteurin bei CSO.com
Be the first to comment