
Ausnutzungspfade, die es Ihnen erlauben, Windows-Berechtigungen zu (miss)brauchen, um Ihre Rechte innerhalb des Betriebssystems zu erhöhen.
Die Idee ist, Windows-OS-Privilegien in einen Pfad zu "übersetzen", der zu Folgendem führt:
Privilegien sind aufgeführt und erklärt unter: https://learn.microsoft.com/en-us/windows/win32/secauthz/privilege-constants
Wenn das Ziel auf mehrere Arten erreicht werden kann, ist die Priorität:
Sie können Ihre eigenen Privilegien mit whoami /priv überprüfen. Deaktivierte Privilegien sind genauso gut wie aktivierte. Das Einzige, was zählt, ist, ob Sie das Privileg auf der Liste haben oder nicht.
Hinweis 1: Wenn der Angriffspfad mit der Erstellung eines Tokens endet, können Sie davon ausgehen, dass der nächste Schritt darin besteht, mit diesem Token einen neuen Prozess zu erstellen und dann die Kontrolle über das Betriebssystem zu übernehmen.
Hinweis 2:
a. Für den direkten Aufruf von NtQuerySystemInformation()/ZwQuerySystemInformation() finden Sie die erforderlichen Privilegien hier.
b. Für NtSetSystemInformation()/ZwSetSystemInformation() sind die erforderlichen Privilegien hier aufgeführt.
Hinweis 3: Ich konzentriere mich nur auf das Betriebssystem. Wenn ein Privileg in AD funktioniert, aber nicht im Betriebssystem selbst, beschreibe ich es als nicht im Betriebssystem verwendet. Es wäre schön, wenn jemand tiefer in AD-orientierte Szenarien eintaucht.
Zögern Sie nicht, beizutragen und/oder vorgestellte Ideen zu diskutieren.
| Privileg | Auswirkung | Tool | Ausführungspfad | Anmerkungen |
|---|---|---|---|---|
SeAssignPrimaryToken | Admin | Drittanbieter-Tool | "Es würde einem Benutzer erlauben, Tokens zu imitieren und zu NT-System zu eskalieren, indem Tools wie potato.exe, rottenpotato.exe und juicypotato.exe verwendet werden." | Danke Aurélien Chalot für das Update. Ich werde versuchen, es bald rezeptartiger zu formulieren. |
SeAudit | Bedrohung | Drittanbieter-Tool | Ereignisse in das Sicherheits-Ereignisprotokoll schreiben, um die Überwachung zu täuschen oder alte Ereignisse zu überschreiben. | Das Schreiben eigener Ereignisse ist mit der Authz Report Security Event-API möglich.- siehe PoC von @daem0nc0re |
SeBackup | Admin | Drittanbieter-Tool | 1. Sichern Sie die Registrierungsstrukturen HKLM\SAM und HKLM\SYSTEM2. Extrahieren Sie die Hashes der lokalen Konten aus der SAM-Datenbank3. Pass-the-Hash als Mitglied der lokalen Administratoren-GruppeAlternativ können Sie damit sensible Dateien lesen. | Weitere Informationen finden Sie in der Datei SeBackupPrivilege.- siehe PoC von @daem0nc0re |
SeChangeNotify | Keine | - | - | Privileg, das jeder hat. Das Entziehen kann das Betriebssystem (Windows Server 2019) nicht mehr bootfähig machen. |
SeCreateGlobal | ? | ? | ? | |
SeCreatePagefile | Keine | Integrierte Befehle | Erstellen Sie hiberfil.sys, lesen Sie es offline und suchen Sie nach sensiblen Daten. | Erfordert Offline-Zugriff, was ohnehin zu Administratorrechten führt. - siehe PoC von @daem0nc0re |
SeCreatePermanent | ? | ? | ? | |
SeCreateSymbolicLink | ? | ? | ? | |
SeCreateToken | Admin | Drittanbieter-Tool | Erstellen Sie beliebige Token, einschließlich lokaler Administratorrechte mit NtCreateToken.- siehe PoC von @daem0nc0re | |
SeDebug | Admin | PowerShell | Duplizieren Sie das lsass.exe-Token. | Skript zu finden auf FuzzySecurity. - siehe PoC von @daem0nc0re |
SeDelegateSession-UserImpersonate | ? | ? | ? | Privilegienname umgebrochen, um die Spalte schmal zu halten. |
SeEnableDelegation | Keine | - | - | Das Privileg wird im Windows-Betriebssystem nicht verwendet. |
SeImpersonate | Admin | Drittanbieter-Tool | Tools aus der Potato-Familie (potato.exe, RottenPotato, RottenPotatoNG, Juicy Potato, SweetPotato, RemotePotato0), RogueWinRM, PrintSpoofer, etc. | Ähnlich wie SeAssignPrimaryToken erlaubt es von Haus aus, einen Prozess im Sicherheitskontext eines anderen Benutzers zu erstellen (unter Verwendung eines Handles auf ein Token dieses Benutzers). Mehrere Tools und Techniken können verwendet werden, um das erforderliche Token zu erhalten. |
SeIncreaseBasePriority | Verfügbarkeit | Integrierte Befehle | start /realtime SomeCpuIntensiveApp.exe | Kann auf Servern interessanter sein. |
SeIncreaseQuota | Verfügbarkeit | Drittanbieter-Tool | Ändern Sie CPU-, Speicher- und Cache-Limits auf Werte, die das Betriebssystem nicht mehr bootfähig machen. | - Kontingente werden im abgesicherten Modus nicht überprüft, was die Reparatur relativ einfach macht. - Das gleiche Privileg wird für die Verwaltung von Registrierungskontingenten verwendet. |
SeIncreaseWorkingSet | Keine | - | - | Privileg, das jeder hat. Wird beim Aufruf von Speicherverwaltungsfunktionen zur Feinabstimmung überprüft. |
SeLoadDriver | Admin | Drittanbieter-Tool | 1. Laden Sie einen fehlerhaften Kernel-Treiber wie szkg64.sys2. Nutzen Sie die Treiber-Schwachstelle aus Alternativ kann das Privileg verwendet werden, um sicherheitsrelevante Treiber mit dem integrierten Befehl fltMC zu entladen, z.B.: fltMC sysmondrv | 1. Die szkg64-Schwachstelle ist als CVE-2018-15732 gelistet2. Der Exploit-Code für szkg64 wurde von Parvez Anwar erstellt |
SeLockMemory | Verfügbarkeit | Drittanbieter-Tool | Hungern Sie die System-Speicherpartition aus, indem Sie Seiten verschieben. | PoC veröffentlicht von Walied Assar (@waleedassar) |
SeMachineAccount | Keine | - | - | Das Privileg wird im Windows-Betriebssystem nicht verwendet. |
SeManageVolume | Admin | Drittanbieter-Tool | 1. Aktivieren Sie das Privileg im Token 2. Erstellen Sie einen Handle auf \.\C: mit SYNCHRONIZE | FILE_TRAVERSE3. Senden Sie den FSCTL_SD_GLOBAL_CHANGE-Befehl, um S-1-5-32-544 durch S-1-5-32-545 zu ersetzen4. Überschreiben Sie utilman.exe usw. | FSCTL_SD_GLOBAL_CHANGE kann mit diesem Code-Stück durchgeführt werden. |
SeProfileSingleProcess | Keine | - | - | Das Privileg wird vor dem Ändern (und in einem sehr begrenzten Befehlssatz vor dem Abfragen) von Parametern von Prefetch, SuperFetch und ReadyBoost überprüft. Die Auswirkung kann angepasst werden, da die tatsächliche Wirkung nicht bekannt ist. |