Startseite » Security » Achtung: Sicherheitsrisiko durch PowerShell-History!

Achtung: Sicherheitsrisiko durch PowerShell-History!

PSReadLine – nützlich, jedoch auch gefährlich

Liebe Kollegen und IT-Profis,

wir alle nutzen PowerShell für unsere täglichen Aufgaben – sei es für das Scripting, das Automatisieren von Prozessen oder für die Administration unserer Systeme. Dabei vergessen wir oft eine unscheinbare Datei, die potenziell ein erhebliches Sicherheitsrisiko darstellt: die ConsoleHost_history.txt. Diese Datei speichert nämlich alle Kommandos, die wir in der PowerShell ausführen.

Warum ist das problematisch?

Diese Datei befindet sich standardmäßig unter C:\Users\<User>\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine\ und speichert jede Eingabe, die du jemals in der PowerShell gemacht hast. Das klingt erstmal harmlos, kann aber sehr schnell zu einem Problem werden. Stell dir vor, ein unbefugter Dritter erhält Zugriff auf dein System. Was kann er aus dieser Datei entnehmen?

  • User-Credentials: Wenn du Passwörter oder sensible Informationen direkt in die Konsole eingegeben hast, stehen sie dort im Klartext.
  • Befehle zum Systemzugriff: Komplexe und kritische Befehle, die Einblicke in das System oder die Netzwerkinfrastruktur geben, sind ebenfalls protokolliert.
  • Konfigurationsänderungen: Jeder Befehl, der eine Änderung im System vornimmt, ist nachvollziehbar und kann reproduziert werden.

Warum sollte man die Datei regelmäßig löschen?

Ganz einfach: Je weniger Informationen auf deinem System abgelegt sind, desto weniger Angriffsfläche bietest du. Die regelmäßige Löschung dieser Datei minimiert das Risiko, dass sensible Daten in die falschen Hände geraten.

So gehst du vor:

Manuelles Löschen:

Navigiere zu C:\Users\<User>\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine\ und lösche die Datei ConsoleHost_history.txt. Dieser Schritt sollte regelmäßig durchgeführt werden, je nach Nutzung und Sensibilität der eingegebenen Daten.

Automatisches Löschen per PowerShell:

Setze dir ein Skript auf, das die Datei automatisch beim Starten oder Schließen der PowerShell-Session löscht. Beispiel:

# Lösche die PSReadLine History beim Starten der PowerShell
Remove-Item "$env:APPDATA\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt" -ErrorAction SilentlyContinue

PSReadLine History deaktivieren:

Falls du diese History-Funktion gar nicht benötigst, kannst du sie komplett deaktivieren:

Set-PSReadLineOption -HistorySaveStyle SaveNothing

Fazit

In der IT-Sicherheit gibt es kein „zu viel Vorsicht“. Selbst kleine Dinge wie die PSReadLine-History können eine große Auswirkung haben, wenn sie nicht im Blick behalten werden. Also, lasst uns gemeinsam dafür sorgen, dass unsere Systeme sicher bleiben – durch regelmäßiges Löschen dieser Datei und durch ein Bewusstsein für potenzielle Sicherheitslücken.

Bleibt sicher und aufmerksam!

Foto des Autors
Autor

Nils Lappenbusch

Ich bin seit 2012 in der IT tätig. Seit 2020 bin ich Microsoft certified Trainer (MCT). Meine Schwerpunkte momentan liegen im Bereich Microsoft 365, Exchange 2016/2019. Die Begleitung der Einführung und Migration in die Cloud sind für mich spannende Aufgaben.

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.