Gibt es eine einzelne UAC-Binärdatei?

27

Befindet sich im System32-Ordner eine Binärdatei (.exe), die für die Windows-UAC-Funktionen verantwortlich ist? (zB uac.exe). Was würde passieren, wenn diese Datei gewaltsam gelöscht würde? Würde Windows brechen oder nicht booten?

Hier gibt es kein XY-Problem. Ich bin nur gespannt, was passieren würde, wenn die Benutzerkontensteuerung gewaltsam von einem PC entfernt würde.

Kathy
quelle
1
Sie können die Benutzerkontensteuerung einfach deaktivieren. UAC ist eine Funktion des Kernels. Was Sie wollen, ist nicht möglich
Ramhound
Es gibt eine Datei win32k.sys technize.net/… und anscheinend kann diese Datei in einem vorinstallierten Fenster bearbeitet / geändert werden, um die Benutzerkontensteuerung zu deaktivieren. Alternativ kann die Benutzerkontensteuerung auf normale Weise deaktiviert werden, obwohl es sich nicht um eine EXE-Datei handelt
barlop
Sie können die Benutzerkontensteuerung mit verschiedenen Methoden deaktivieren, z. B. superuser.com/questions/1013702/… . Ich denke, wenn Sie es auf eine andere Art und Weise hacken, erhalten Sie größtenteils den gleichen Effekt, auch wenn die Fehler in den unten stehenden Antworten zu fehlenden Binärdateien vorliegen.
YetAnotherRandomUser
@barlop, win32k.sys ist nur die Kernelseite des Windows-Subsystems. Mit anderen Worten, der von allem verwendete Kerncode. Ich würde nicht empfehlen, es zu ändern. pasotech.altervista.org/windows_internals/Win32KSYS.pdf
Dark Falcon
@ DarkFalcon Es gibt wahrscheinlich mehr als das "Kernel-Seite des Windows-Subsystems". Und ich habe nicht geraten, dass man "es ändert"! Was glaubst du, wird jemand tun? Im Editor öffnen? Ich habe so etwas nie vorgeschlagen! Hex-Editor öffnen? besser, aber das habe ich auch nicht vorgeschlagen! Und niemand würde das tun und irgendetwas ändern, es sei denn, er hätte eine Vorstellung davon, was er ändern wollte, was ein bestimmtes Fähigkeitsniveau voraussetzen würde!
Barlop

Antworten:

56

UAC ist eine Mehrkomponentenarchitektur, die von mehreren Binärdateien implementiert wird

Benutzerkontensteuerung ( User Account Control, UAC) bezieht sich auf mehrere Komponenten, die zusammen die UAC-Architektur bilden . Ich werde einige von ihnen zusammen mit den für ihre Implementierung verantwortlichen Binärdateien kurz untersuchen. Zunächst erhalten Sie jedoch einen Überblick über die UAC-Architektur aus dem Microsoft Docs-Artikel Funktionsweise der Benutzerkontensteuerung :

Bildbeschreibung hier eingeben

Local Security Authority (LSA) / Gefiltertes Token

Konzeptionell wird die "erste" Komponente der Benutzerkontensteuerung vom Subsystem Local Security Authority implementiert, das die Erstellung des Zugriffstokens eines Benutzers während des Anmeldevorgangs verwaltet. Ab Windows Vista wurde der Anmeldevorgang so geändert, dass das LSA-Subsystem beim Anmelden eines Administrators mit aktivierter Benutzerkontensteuerung zwei separate Zugriffstoken für den Benutzer generiert:

  1. Einer mit vollem Administratorzugriff und
  2. Ein zweites "gefiltertes Token" mit Standardbenutzerzugriff

Wie hier gezeigt, unterscheidet sich dieser Prozess von dem einer Standardbenutzeranmeldung:

Bildbeschreibung hier eingeben

Der LSA-Subsystemdienst ist in diesem lsass.exeProzess aktiv.

Virtualisierung

Die in Windows 7 hinzugefügte Datei- und Registrierungsvirtualisierung ist eine Komponente der Benutzerkontensteuerung, die ältere Anwendungen ausblendet , die nicht mit der Benutzerkontensteuerung kompatibel sind, jedoch nur Administratorrechte benötigen, um auf bestimmte geschützte Bereiche des Dateisystems oder der Registrierung zuzugreifen:

Wenn eine nicht UAC-konforme Verwaltungsanwendung versucht, in ein geschütztes Verzeichnis wie z. B. Programme zu schreiben, gibt UAC der Anwendung eine eigene virtualisierte Ansicht der Ressource, die geändert werden soll. Die virtualisierte Kopie wird im Benutzerprofil gespeichert.

Quelle

Durch die Umleitung dieser Zugriffsversuche in Bereiche, für die keine Administratorrechte erforderlich sind, funktionieren diese Anwendungen weiterhin, obwohl die Benutzerkontensteuerung auf dem System aktiviert ist.

Diese Virtualisierung ist im Kernel implementiert .

Anwendungsinformationsdienst

Der Application Information Service (AIS) liest das Manifest einer Anwendung und ermittelt zusammen mit der UAC-Einwilligungsaufforderung, ob eine Anwendung mit erhöhten Rechten ausgeführt werden darf (dh im Kontext des nicht gefilterten Zugriffstokens auf Administratorebene, das bei der Anmeldung erstellt wurde). . Dieser Blog-Beitrag bietet einen guten Überblick über seine Rolle im UAC-Prozess:

AIS Erleichtert die Ausführung interaktiver Anwendungen mit zusätzlichen Administratorrechten. Wenn dieser Dienst beendet wird, können Benutzer keine Anwendungen mit den zusätzlichen Administratorrechten starten, die sie möglicherweise benötigen. Die Shell prüft dies beim Starten einer Anwendung. AIS liest das Manifest und den XML-Abschnitt 'trustInfo', in dem die Anforderungen für die angeforderte Ausführungsebene festgelegt sind.

Hier ist eine Grafik, die dem obigen Zitat folgt und die Rolle von AIS im UAC Consent Prompt-Prozess detailliert beschreibt:

Bildbeschreibung hier eingeben

Das AIS ist in der DLL implementiert,appinfo.dll die von ausgeführt wird svchost.exe.

Zustimmungsaufforderung

Die Antwort von @ BenN erklärt die Schlüsselrolle des (in) berühmten UAC Consent Prompt. Dies wird in implementiert consent.exeund ist dafür verantwortlich, die Zustimmung des Benutzers oder die Anmeldeinformationen eines Administrators einzuholen, um das Starten einer Anwendung zu ermöglichen, die Administratorrechte erfordert.

Sicherer Desktop

Auf dem sicheren Desktop wird standardmäßig die UAC-Einwilligungsaufforderung angezeigt. Im UACBlog von Microsoft erfahren wir, was an diesem Desktop im Vergleich zum Benutzerdesktop einzigartig ist:

Sie interagieren am häufigsten mit [dem sicheren Desktop], wenn Sie sich bei Windows anmelden, da die Benutzeroberfläche für die Anmeldung auf dem sicheren Desktop ausgeführt wird. Der Hauptunterschied zwischen Secure Desktop und User Desktop besteht darin, dass hier nur vertrauenswürdige Prozesse ausgeführt werden dürfen, die als SYSTEM ausgeführt werden (dh keine, die als Berechtigungsstufe des Benutzers ausgeführt werden), und dass der Pfad zum Secure Desktop vom User Desktop aus ebenfalls als vertrauenswürdig eingestuft werden muss die gesamte Kette.

Die Idee, die dahinter steckt, wenn Sie den Benutzer auffordern, eine Anwendung mit erhöhten Berechtigungen auszuführen, ist, dass Malware den Secure Desktop nur dann nachahmen kann, wenn sie bereits über Administratorrechte verfügt. In diesem Fall ist es umstritten, einen Benutzer zur Gewährung dieser Rechte zu verleiten.


Fazit: UAC ist nicht nur eine Binärdatei. Es ist ein Gewebe aus miteinander verwobenen Subsystemen.

Es gibt noch weitere Aspekte der UAC-Architektur, die hier nicht behandelt werden. Dies sollte jedoch genügend Beweise für die folgenden Tatsachen liefern:

  1. UAC ist nicht in einer einzelnen Binärdatei implementiert.
  2. Wenn diese Option aktiviert ist, ist sie ein wesentlicher Bestandteil der Ausführung von Verwaltungsaufgaben.

Seit seiner Einführung in Windows Vista ist es tief in wichtige Teile des Betriebssystems integriert, sodass es unmöglich ist, den gesamten für die Benutzerkontensteuerung verantwortlichen Code zu löschen, ohne andere Dinge zu beschädigen (z. B. Ihre Anmeldefähigkeit!).

Ich denke, es ist sicher zu sagen, dass Sie Windows beschädigen würden, wenn Sie die Benutzerkontensteuerung "gewaltsam löschen" würden.

Ich sage Reinstate Monica
quelle
1
FWIW technize.net/... auf diesen Link basiert, so scheint es , die Datei win32k.sys scheint eine Rolle zu spielen , ich merke , dass file.exe identifiziert es als „PE32 + ausführbare Datei (nativ) x86-64, für MS Windows“
barlop
win32k.sys ist im Wesentlichen ein großer Teil des Kernels. Natürlich spielt es eine Rolle in der Benutzerkontensteuerung. Es ist Windows.
Roger Lipscombe
25

Wie Twisty hervorragend erklärte , gibt es viele Komponenten, die bei der Implementierung der Benutzerkontensteuerung helfen. Der Teil der Benutzerkontensteuerung, mit dem die Leute am besten vertraut sind, ist das Dialogfeld "Erhebung / Einwilligung":

Dies wird durch consent.exe"Zustimmungs-Benutzeroberfläche für administrative Anwendungen" bereitgestellt . Ich habe versucht, es in einer VM umzubenennen und zu sehen, was passiert. Wie erwartet werden bei der Verwendung von "Als Administrator ausführen" keine Eingabeaufforderungen angezeigt. Stattdessen wird der Fehler "Datei nicht gefunden" angezeigt, der die Ursache für das Problem ist, das Sie erhöhen möchten:

nicht gefunden

Der Versuch, ein Benutzeroberflächenelement der Systemsteuerung zu verwenden, für das eine Erhöhung erforderlich ist (dh das das Schildsymbol angezeigt wird), schlägt mit ähnlichen Fehlern fehl, auch wenn Sie als Administrator angemeldet sind. Der Versuch, administrative Dinge über das Startmenü zu starten, führt zu einem etwas anderen Fehler:

Keine App zugeordnet

Abhängig von der bei der Umbenennung festgelegten Zugriffssteuerungsliste, die alle Fehler verursacht hat, kann dies möglicherweise nicht im Betriebssystem behoben werden, da für Dateioperationen möglicherweise eine Erhöhung erforderlich ist (auch wenn sie normalerweise nicht das Einwilligungsdialogfeld erzeugen). Normalnutzerähnliche Aktivitäten scheinen jedoch nicht beeinträchtigt zu sein.

Ben N
quelle
3
@muru, ich denke, consent.exe gibt nicht nur true oder false zurück, sondern stattdessen das Token, unter dem ausgeführt werden soll. Dies bedeutet, dass Sie nicht von einem normalen Benutzer zu einem Administrator-Token gelangen können, ohne sich tatsächlich als Administrator zu authentifizieren.
Joey
6
@muru Windows überprüft und ersetzt viele Systemdateien, nicht sicher, ob diese enthalten sind oder nicht. Aus sicherheitstechnischer Sicht ist der Punkt jedoch umstritten: Um consent.exe zu ersetzen, benötigen Sie zunächst Administratorrechte, sodass es nicht zu einer Eskalation von Berechtigungen kommt, selbst wenn es möglich wäre, diese so zu ersetzen, wie Sie es sich vorstellen.
Luaan
3
Nur um es einzuschließen, seit mir der Gedanke gekommen ist. Sie könnten den Computer immer noch in Linux booten oder etwas anderes, um die Datei zu ersetzen. Dies erfordert jedoch physischen Zugriff auf die Maschine, was im Grunde auch administrativer Art ist. Es ist also immer noch kein Sicherheitsrisiko
DeadChex
1
@EricTowers Ja, aber da Administratorrechte geändert werden müssen consent.exe, befindet sich ein Angreifer, der dies tun kann, bereits auf der anderen Seite der luftdichten Luke und hat einfachere Möglichkeiten, schlechte Dinge zu tun.
Ben N
1
@ TwistyImpersonator Interessante Frage! Eine stille Erhöhung scheint auch einen Zustimmungslauf (pro Prozessstartüberwachung ) auszulösen, wenn dies unter einem normalen Administratorkonto durchgeführt wird. Das integrierte Administratorkonto unterliegt nicht der Benutzerkontensteuerung. Daher sind alle Programme bereits aktiviert und die Zustimmung wird nicht berücksichtigt. Sie können dieses Verhalten mithilfe dieser Sicherheitsrichtlinie ändern .
Ben N