IntegritÀtsstufen
Tip
Lernen & ĂŒben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & ĂŒben Sie GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Lernen & ĂŒben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
UnterstĂŒtzen Sie HackTricks
- ĂberprĂŒfen Sie die AbonnementplĂ€ne!
- Treten Sie der đŹ Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter đŠ @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
IntegritÀtsstufen
In Windows Vista und spĂ€teren Versionen haben alle geschĂŒtzten Elemente ein IntegritĂ€tsstufen-Tag. Diese Konfiguration weist Dateien und RegistrierungsschlĂŒsseln hauptsĂ€chlich eine âmittlereâ IntegritĂ€tsstufe zu, mit Ausnahme bestimmter Ordner und Dateien, auf die Internet Explorer 7 mit einer niedrigen IntegritĂ€tsstufe schreiben kann. Das Standardverhalten ist, dass Prozesse, die von Standardbenutzern initiiert werden, eine mittlere IntegritĂ€tsstufe haben, wĂ€hrend Dienste typischerweise auf einer SystemintegritĂ€tsstufe arbeiten. Ein HochintegritĂ€tslabel schĂŒtzt das Wurzelverzeichnis.
Eine wichtige Regel ist, dass Objekte nicht von Prozessen mit einer niedrigeren IntegritÀtsstufe als der des Objekts modifiziert werden können. Die IntegritÀtsstufen sind:
- Untrusted: Diese Stufe ist fĂŒr Prozesse mit anonymen Anmeldungen. %%%Beispiel: Chrome%%%
- Low: HauptsĂ€chlich fĂŒr Internetinteraktionen, insbesondere im geschĂŒtzten Modus von Internet Explorer, der betroffene Dateien und Prozesse sowie bestimmte Ordner wie den TemporĂ€ren Internetordner beeinflusst. Prozesse mit niedriger IntegritĂ€t unterliegen erheblichen EinschrĂ€nkungen, einschlieĂlich des fehlenden Zugriffs auf die Registrierung und eingeschrĂ€nktem Zugriff auf das Benutzerprofil.
- Medium: Die Standardstufe fĂŒr die meisten AktivitĂ€ten, die Standardbenutzern und Objekten ohne spezifische IntegritĂ€tsstufen zugewiesen wird. Selbst Mitglieder der Administratorgruppe arbeiten standardmĂ€Ăig auf dieser Stufe.
- High: Vorbehalten fĂŒr Administratoren, die es ihnen ermöglichen, Objekte mit niedrigeren IntegritĂ€tsstufen zu modifizieren, einschlieĂlich solcher auf der hohen Stufe selbst.
- System: Die höchste Betriebsstufe fĂŒr den Windows-Kernel und die Kernservices, die selbst fĂŒr Administratoren unerreichbar ist und den Schutz wichtiger Systemfunktionen gewĂ€hrleistet.
- Installer: Eine einzigartige Stufe, die ĂŒber allen anderen steht und es Objekten auf dieser Stufe ermöglicht, jedes andere Objekt zu deinstallieren.
Sie können die IntegritĂ€tsstufe eines Prozesses mit Process Explorer von Sysinternals abrufen, indem Sie die Eigenschaften des Prozesses aufrufen und die Registerkarte âSicherheitâ anzeigen:
.png)
Sie können auch Ihre aktuelle IntegritÀtsstufe mit whoami /groups abrufen.
.png)
IntegritÀtsstufen im Dateisystem
Ein Objekt im Dateisystem kann eine Mindestanforderung an die IntegritÀtsstufe benötigen, und wenn ein Prozess diese IntegritÀtsstufe nicht hat, kann er nicht mit ihm interagieren.
Zum Beispiel, lassen Sie uns eine regulĂ€re Datei von einer regulĂ€ren Benutzerkonsole erstellen und die Berechtigungen ĂŒberprĂŒfen:
echo asd >asd.txt
icacls asd.txt
asd.txt BUILTIN\Administrators:(I)(F)
DESKTOP-IDJHTKP\user:(I)(F)
NT AUTHORITY\SYSTEM:(I)(F)
NT AUTHORITY\INTERACTIVE:(I)(M,DC)
NT AUTHORITY\SERVICE:(I)(M,DC)
NT AUTHORITY\BATCH:(I)(M,DC)
Jetzt weisen wir der Datei ein minimales IntegritĂ€tslevel von Hoch zu. Dies muss von einer Konsole ausgefĂŒhrt werden, die als Administrator lĂ€uft, da eine regulĂ€re Konsole im IntegritĂ€tslevel Mittel lĂ€uft und nicht berechtigt ist, einem Objekt ein hohes IntegritĂ€tslevel zuzuweisen:
icacls asd.txt /setintegritylevel(oi)(ci) High
processed file: asd.txt
Successfully processed 1 files; Failed processing 0 files
C:\Users\Public>icacls asd.txt
asd.txt BUILTIN\Administrators:(I)(F)
DESKTOP-IDJHTKP\user:(I)(F)
NT AUTHORITY\SYSTEM:(I)(F)
NT AUTHORITY\INTERACTIVE:(I)(M,DC)
NT AUTHORITY\SERVICE:(I)(M,DC)
NT AUTHORITY\BATCH:(I)(M,DC)
Mandatory Label\High Mandatory Level:(NW)
Hier wird es interessant. Sie können sehen, dass der Benutzer DESKTOP-IDJHTKP\user VOLLSTĂNDIGE Berechtigungen ĂŒber die Datei hat (tatsĂ€chlich war dies der Benutzer, der die Datei erstellt hat), jedoch wird er aufgrund des implementierten minimalen IntegritĂ€tsniveaus die Datei nicht mehr Ă€ndern können, es sei denn, er lĂ€uft innerhalb eines hohen IntegritĂ€tsniveaus (beachten Sie, dass er sie lesen kann):
echo 1234 > asd.txt
Access is denied.
del asd.txt
C:\Users\Public\asd.txt
Access is denied.
Note
Daher mĂŒssen Sie, wenn eine Datei ein minimales IntegritĂ€tsniveau hat, mindestens auf diesem IntegritĂ€tsniveau arbeiten, um sie zu Ă€ndern.
IntegritÀtsniveaus in Binaries
Ich habe eine Kopie von cmd.exe in C:\Windows\System32\cmd-low.exe erstellt und ihr ein IntegritÀtsniveau von niedrig aus einer Administrator-Konsole zugewiesen:
icacls C:\Windows\System32\cmd-low.exe
C:\Windows\System32\cmd-low.exe NT AUTHORITY\SYSTEM:(I)(F)
BUILTIN\Administrators:(I)(F)
BUILTIN\Users:(I)(RX)
APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES:(I)(RX)
APPLICATION PACKAGE AUTHORITY\ALL RESTRICTED APP PACKAGES:(I)(RX)
Mandatory Label\Low Mandatory Level:(NW)
Jetzt, wenn ich cmd-low.exe ausfĂŒhre, wird es unter einem niedrigen IntegritĂ€tslevel anstelle eines mittleren ausgefĂŒhrt:
.png)
FĂŒr Neugierige, wenn Sie einem BinĂ€rprogramm ein hohes IntegritĂ€tslevel zuweisen (icacls C:\Windows\System32\cmd-high.exe /setintegritylevel high), wird es nicht automatisch mit hohem IntegritĂ€tslevel ausgefĂŒhrt (wenn Sie es von einem mittleren IntegritĂ€tslevel aus aufrufen â standardmĂ€Ăig â wird es unter einem mittleren IntegritĂ€tslevel ausgefĂŒhrt).
IntegritÀtslevel in Prozessen
Nicht alle Dateien und Ordner haben ein minimales IntegritÀtslevel, aber alle Prozesse laufen unter einem IntegritÀtslevel. Und Àhnlich wie beim Dateisystem, wenn ein Prozess in einen anderen Prozess schreiben möchte, muss er mindestens das gleiche IntegritÀtslevel haben. Das bedeutet, dass ein Prozess mit niedrigem IntegritÀtslevel keinen Handle mit vollem Zugriff auf einen Prozess mit mittlerem IntegritÀtslevel öffnen kann.
Aufgrund der in diesem und im vorherigen Abschnitt kommentierten EinschrĂ€nkungen ist es aus sicherheitstechnischer Sicht immer empfohlen, einen Prozess im niedrigsten möglichen IntegritĂ€tslevel auszufĂŒhren.
Tip
Lernen & ĂŒben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & ĂŒben Sie GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Lernen & ĂŒben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
UnterstĂŒtzen Sie HackTricks
- ĂberprĂŒfen Sie die AbonnementplĂ€ne!
- Treten Sie der đŹ Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter đŠ @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.


