Netz-Weise Logo

Weisheiten - der Netz-Weise Blog

Hier finden Sie Tipps und Tricks für vor, während und nach der Schulung.

Kennwörter sicher verwalten mit Keepass und Yubikey (MFA)

Dass ein Kennwort ein generell unsichere Sache ist, haben inzwischen sogar Unternehmen wie Microsoft verstanden. Das grundsätzliche Problem von Kennwörtern ist, dass sie meist unsicher sind, oder nicht leicht zu merken. Das ist vor allem deshalb problematisch, da heute jede Website gerne eine Benutzerkonto anlegen möchte. Die Wiederverwendung von K...

Weiterlesen
Markiert in:
  32815 Aufrufe

Powershell-Skripte ausführen trotz Applocker und Ausführungsrichtlinien

Die Windows-Powershell ist ein sehr mächtiges Werkzeug, und wie alle mächtigen Werkzeuge kann man Ihre Funktionen für gute wie für schlechte Dinge anwenden. Daher versuchen viele Unternehmen, die Ausführung von Powershell zu verhindern. Das die Ausführungsrichtlinie, die die Skriptausführung einschränken kann, kein echtes Hinternis ist, hat sich inzwischen herumgesprochen. Tatsächlich scheint der Stand der Dinge zu sein, dass man mit Windows Bordmitteln nur mit Applocker (ab Windows 7 Enterprise oder Windows 8.1 / Windows 10 Pro) einen ansatzweise hinreichenden Schutz vor der Ausführung von Powershell erreichen kann. Versuchen Sie aber gar nicht erst, mit Skriptregeln herum zu spielen - Skriptregeln verhindern das Ausführen von Skripten, aber nicht den Start von Powershell. Und da man in Powershell jedes Skript auch von Hand eingeben kann, erreicht man mit dem Verhindern von Skripten gar nichts. Man könnte jetzt noch argumentieren, dass lange Skripte nicht von Hand übertragen werden können, oder dass ein Hacker ohne physikalischen Zugriff auf den Server die Skripte nicht von Hand in die Konsole übertragen kann. Allerdings läßt sich Powershell auch manuell mit dem Parameter "-Command" starten. Und es ist sehr einfach, ein Skript von der Kommandozeile aus einzulesen und einfach über den Standard-Ausgabestrom an die Powershell.exe weiterzuleiten.

get-content c:\temp\meinSchadcode.txt | powershell.exe -command -

Hier fehlt im Übrigen nichts, es handelt sich in der Tat um einen Bindestrich hinter dem -Command. Der Bindestrich bewirkt, dass das auszuführende Kommando aus dem Ausgabestrom gelesen wird. Dadurch muß der Schadcode sich noch nicht einmal in einer .ps1-Datei befinden - Powershell.exe unterbindet die Ausführung von anderen Dateiendungen normalerweise.

  3828 Aufrufe