Code ausführen am Anmeldebildschirm von Windows
Die folgende Anleitung zeigt auf, wie man mit einem einfachen Kunstgriff erreichen kann, an der Anmeldemaske schon vor der Anmeldung oder trotz Sperrung beliebigen Code auszuführen.
Ich habe mein Konzept zum Kennwortselbstreset für Windowsdomänen überarbeitet und mich dabei mit den Möglichkeiten, die einem der Anmeldebildschirm auch ohne Anmeldung bietet, befasst. Als Nebenprodukt fiel diese Idee ab.
Am Anmeldebildschirm steht einem neben den Anmeldezeilen der Button zum Herunterfahren zur Verfügung, sowie der Knopf "erleichterte Bedienung", auch bekannt als utility manager. Dann gibt es noch die Sprachauswahl, sowie wenige andere Executables, wie z.B. Magnify.exe, welche über Tastaturkürzel angesprochen werden können.
Alle mir bislang bekannten Ansätze arbeiten damit, diese Executables auszutauschen. Das ist kein guter Ansatz, denn Erstens verliert man die originale Funktionalität und zweitens unterbindet auch der Virenscanner ggf. den Austausch bzw. die Verwendung dieser ausgetauschten Dateien.
Mein Ansatz:
Ich ändere die Überwachungseinstellungen ("SACL") der Datei (z.B. des genannten Utility Managers) und überwache erfolgreiches Ausführen der Datei durch das Konto "System", welches am Anmeldebildschirm aktiv ist. Klickt man nun auf den utility manager, so wird der Zugriff ins Sicherheitseventlog protokolliert.
angepasste SACL der utilman.exe aus c:\windows\system32
Eingeschaltete Überwachung von Dateizugriffen
Eintrag im Sicherheitseventlog, nachdem man amAnmeldebildschirm auf den Utility manager geklickt hat
Mit diesem Event bestücke ich dann im Aufgabenplaner einen dazu passenden Tasktrigger wie folgt:
Als Executor legt man z.B. "System" fest.
Man muss dazu einen "custom trigger" anlegen, mit folgendem xml-code:
Als Testaktion lasse ich mir ein Popup "Hurra" senden.
Achtung1: achtet darauf, dass auf dem Reiter "Conditions"/(dt.) "Bedingungen" der Haken bei "Aufgabe nur starten, falls Computer im Netzbetrieb" entfernt wird.
Achtung2: es sollte klar sein, dass, wenn man einem unangemeldeten Nutzer die Möglichkeit gibt, Code mit hohen Rechten auszuführen, dieser Code/Skript nur von Admins veränderbar sein darf (es sei denn, ihr wollt das)!
Fertig! Auch wenn niemand angemeldet ist, oder wenn der Bildschirm gesperrt ist kann ich mit Klick auf den Utility Manager beliebigen Code ausführen!
Nachwort: diese Änderungen (Taskplaner, SACL) sind nur mit Adminrechten möglich. Ist es jedoch eingerichtet, kann es danach natürlich auch jedem Nichtadmin dienen. Meine Tests ergaben zudem, dass das Konto "System" ausführend nie auf diese Datei zugreift, so dass ich keine einzige ungewollte Ausführung verzeichnen konnte. Wenn Ihr das anders erlebt, bitte ich um Feedback.
Edit 11.4.24: Trigger präzisiert, so dass er wirklich nur auf das Systemkonto reagiert, selbst dann, wenn man auch Execute-Zugriffe aller Benutzer überwachen möchte
Ich habe mein Konzept zum Kennwortselbstreset für Windowsdomänen überarbeitet und mich dabei mit den Möglichkeiten, die einem der Anmeldebildschirm auch ohne Anmeldung bietet, befasst. Als Nebenprodukt fiel diese Idee ab.
Am Anmeldebildschirm steht einem neben den Anmeldezeilen der Button zum Herunterfahren zur Verfügung, sowie der Knopf "erleichterte Bedienung", auch bekannt als utility manager. Dann gibt es noch die Sprachauswahl, sowie wenige andere Executables, wie z.B. Magnify.exe, welche über Tastaturkürzel angesprochen werden können.
Alle mir bislang bekannten Ansätze arbeiten damit, diese Executables auszutauschen. Das ist kein guter Ansatz, denn Erstens verliert man die originale Funktionalität und zweitens unterbindet auch der Virenscanner ggf. den Austausch bzw. die Verwendung dieser ausgetauschten Dateien.
Mein Ansatz:
Ich ändere die Überwachungseinstellungen ("SACL") der Datei (z.B. des genannten Utility Managers) und überwache erfolgreiches Ausführen der Datei durch das Konto "System", welches am Anmeldebildschirm aktiv ist. Klickt man nun auf den utility manager, so wird der Zugriff ins Sicherheitseventlog protokolliert.
angepasste SACL der utilman.exe aus c:\windows\system32
Eingeschaltete Überwachung von Dateizugriffen
Eintrag im Sicherheitseventlog, nachdem man amAnmeldebildschirm auf den Utility manager geklickt hat
Mit diesem Event bestücke ich dann im Aufgabenplaner einen dazu passenden Tasktrigger wie folgt:
Als Executor legt man z.B. "System" fest.
Man muss dazu einen "custom trigger" anlegen, mit folgendem xml-code:
<QueryList>
<Query Id="0" Path="Security">
<Select Path="Security">
*[System[Provider[@Name='Microsoft-Windows-Security-Auditing'] and (EventID=4663)]]
and
*[EventData[Data[@Name='ObjectName'] and (Data='C:\Windows\System32\Utilman.exe')]]
and
*[EventData[Data[@Name='SubjectUserSid'] and (Data='S-1-5-18')]]
</Select>
</Query>
</QueryList>
Als Testaktion lasse ich mir ein Popup "Hurra" senden.
Achtung1: achtet darauf, dass auf dem Reiter "Conditions"/(dt.) "Bedingungen" der Haken bei "Aufgabe nur starten, falls Computer im Netzbetrieb" entfernt wird.
Achtung2: es sollte klar sein, dass, wenn man einem unangemeldeten Nutzer die Möglichkeit gibt, Code mit hohen Rechten auszuführen, dieser Code/Skript nur von Admins veränderbar sein darf (es sei denn, ihr wollt das)!
Fertig! Auch wenn niemand angemeldet ist, oder wenn der Bildschirm gesperrt ist kann ich mit Klick auf den Utility Manager beliebigen Code ausführen!
Nachwort: diese Änderungen (Taskplaner, SACL) sind nur mit Adminrechten möglich. Ist es jedoch eingerichtet, kann es danach natürlich auch jedem Nichtadmin dienen. Meine Tests ergaben zudem, dass das Konto "System" ausführend nie auf diese Datei zugreift, so dass ich keine einzige ungewollte Ausführung verzeichnen konnte. Wenn Ihr das anders erlebt, bitte ich um Feedback.
Edit 11.4.24: Trigger präzisiert, so dass er wirklich nur auf das Systemkonto reagiert, selbst dann, wenn man auch Execute-Zugriffe aller Benutzer überwachen möchte
Please also mark the comments that contributed to the solution of the article
Content-ID: 81830088682
Url: https://administrator.de/contentid/81830088682
Printed on: October 10, 2024 at 04:10 o'clock
4 Comments
Latest comment