Misbruik van Tokens
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die đŹ Discord groep of die telegram groep of volg ons op Twitter đŠ @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
Tokens
As jy nie weet wat Windows Access Tokens is nie, lees hierdie bladsy voordat jy voortgaan:
Miskien kan jy bevoegdhede eskaleer deur die tokens wat jy reeds het te misbruik
SeImpersonatePrivilege
Hierdie privilege, as dit deur ân proses besit word, laat die impersonasie (maar nie die skepping nie) van enige token toe, mits ân handle daarop verkry kan word. ân Bevoorregte token kan van ân Windows-diens (DCOM) verkry word deur dit te dwing om NTLM-authentisering teen ân exploit uit te voer, wat daarna die uitvoering van ân proses met SYSTEM-bevoegdhede moontlik maak. Hierdie kwesbaarheid kan uitgebuit word met verskeie gereedskap, soos juicy-potato, RogueWinRM (wat vereis dat winrm gedeaktiveer is), SweetPotato, en PrintSpoofer.
RoguePotato, PrintSpoofer, SharpEfsPotato, GodPotato
SeAssignPrimaryPrivilege
Dit is baie soortgelyk aan SeImpersonatePrivilege; dit sal die selfde metode gebruik om ân bevoorregte token te kry.
Vervolgens laat hierdie privilege toe om ân primĂȘre token toe te ken aan ân nuwe/opgeskorte proses. Met die bevoorregte impersonation token kan jy ân primĂȘre token aflei (DuplicateTokenEx).
Met die token kan jy ân nuwe proses skep met âCreateProcessAsUserâ of ân proses skep wat opgeskort is en die token toewys (in die algemeen kan jy nie die primĂȘre token van ân lopende proses wysig nie).
SeTcbPrivilege
As jy hierdie privilege geaktiveer het, kan jy KERB_S4U_LOGON gebruik om ân impersonation token vir enige ander gebruiker te kry sonder om die credentials te ken, ân arbitraire groep (admins) by die token voeg, die integriteitsvlak van die token op âmediumâ stel, en hierdie token aan die huidige thread toewys (SetThreadToken).
SeBackupPrivilege
Hierdie privilege veroorsaak dat die stelsel alle lees-toegang tot enige lĂȘer toeken (beperk tot leesbewerkings). Dit word gebruik om die wagwoord-hashes van plaaslike Administrator-rekeninge uit die register te lees, waarna gereedskap soos âpsexecâ of âwmiexecâ met die hash gebruik kan word (Pass-the-Hash-tegniek). Hierdie tegniek faal egter onder twee toestande: wanneer die Local Administrator-rekening gedeaktiveer is, of wanneer ân beleid in plek is wat administratiewe regte van Local Administrators wat op afstand koppel, verwyder.
Jy kan hierdie privilege misbruik met:
- https://github.com/Hackplayers/PsCabesha-tools/blob/master/Privesc/Acl-FullControl.ps1
- https://github.com/giuliano108/SeBackupPrivilege/tree/master/SeBackupPrivilegeCmdLets/bin/Debug
- following IppSec in https://www.youtube.com/watch?v=IfCysW0Od8w&t=2610&ab_channel=IppSec
- Or as explained in the escalating privileges with Backup Operators section of:
SeRestorePrivilege
Hierdie privilege verskaf toestemming vir skryftoegang tot enige stelsel-lĂȘer, ongeag die lĂȘer se Access Control List (ACL). Dit bied verskeie moontlikhede vir eskalasie, insluitend die vermoĂ« om dienste te wysig, DLL Hijacking uit te voer, en debuggers via Image File Execution Options te stel, onder ander tegnieke.
SeCreateTokenPrivilege
SeCreateTokenPrivilege is ân kragtige toestemming, veral nuttig wanneer ân gebruiker die vermoĂ« het om tokens te impersonate, maar ook bruikbaar sonder SeImpersonatePrivilege. Hierdie vermoĂ« berus op die vermoĂ« om ân token te impersonate wat dieselfde gebruiker verteenwoordig en se integriteitsvlak nie hoĂ«r is as diĂ© van die huidige proses nie.
Belangrike punte:
- Impersonation sonder SeImpersonatePrivilege: Dit is moontlik om SeCreateTokenPrivilege te benut vir EoP deur tokens te impersonate onder spesifieke voorwaardes.
- Voorwaardes vir token-impersonasie: Suksesvolle impersonasie vereis dat die teiken-token aan dieselfde gebruiker behoort en ân integriteitsvlak het wat minder of gelyk is aan die integriteitsvlak van die proses wat impersonasie probeer uitvoer.
- Skepping en wysiging van impersonation tokens: Gebruikers kan ân impersonation token skep en dit verbeter deur ân bevoorregte groep se SID (Security Identifier) by te voeg.
SeLoadDriverPrivilege
Hierdie privilege laat toe om device drivers te load en unload deur die skepping van ân registerinskrywing met spesifieke waardes vir ImagePath en Type. Aangesien direkte skryftoegang tot HKLM (HKEY_LOCAL_MACHINE) beperk is, moet HKCU (HKEY_CURRENT_USER) in plaas daarvan gebruik word. Om egter HKCU deur die kernel herkenbaar te maak vir driver-konfigurasie, moet ân spesifieke pad gevolg word.
Hierdie pad is \Registry\User\<RID>\System\CurrentControlSet\Services\DriverName, waar <RID> die Relative Identifier van die huidige gebruiker is. Binne HKCU moet hierdie hele pad geskep word, en twee waardes moet gestel word:
ImagePath, wat die pad is na die binary wat uitgevoer moet wordType, met ân waarde vanSERVICE_KERNEL_DRIVER(0x00000001).
Stappe om te volg:
- Toegang tot
HKCUin plaas vanHKLMweens beperkte skryftoegang. - Skep die pad
\Registry\User\<RID>\System\CurrentControlSet\Services\DriverNamebinneHKCU, waar<RID>die Relative Identifier van die huidige gebruiker is. - Stel die
ImagePathop die uitvoerpad van die binary. - Stel die
TypeopSERVICE_KERNEL_DRIVER(0x00000001).
# Example Python code to set the registry values
import winreg as reg
# Define the path and values
path = r'Software\YourPath\System\CurrentControlSet\Services\DriverName' # Adjust 'YourPath' as needed
key = reg.OpenKey(reg.HKEY_CURRENT_USER, path, 0, reg.KEY_WRITE)
reg.SetValueEx(key, "ImagePath", 0, reg.REG_SZ, "path_to_binary")
reg.SetValueEx(key, "Type", 0, reg.REG_DWORD, 0x00000001)
reg.CloseKey(key)
Meer maniere om hierdie privilege te misbruik in https://www.ired.team/offensive-security-experiments/active-directory-kerberos-abuse/privileged-accounts-and-token-privileges#seloaddriverprivilege
SeTakeOwnershipPrivilege
Dit is soortgelyk aan SeRestorePrivilege. Die primĂȘre funksie laat ân proses toe om eienaarskap van ân objek te verkry, en omseil die vereiste vir eksplisiete discretionary access deur die verskaffing van WRITE_OWNER toegangregte. Die proses behels eers om eienaarskap van die beoogde registry key vir skryfdoeleindes te verkry, en daarna die DACL te wysig om skryfoperasies toe te laat.
takeown /f 'C:\some\file.txt' #Now the file is owned by you
icacls 'C:\some\file.txt' /grant <your_username>:F #Now you have full access
# Use this with files that might contain credentials such as
%WINDIR%\repair\sam
%WINDIR%\repair\system
%WINDIR%\repair\software
%WINDIR%\repair\security
%WINDIR%\system32\config\security.sav
%WINDIR%\system32\config\software.sav
%WINDIR%\system32\config\system.sav
%WINDIR%\system32\config\SecEvent.Evt
%WINDIR%\system32\config\default.sav
c:\inetpub\wwwwroot\web.config
SeDebugPrivilege
Hierdie voorreg laat toe om debug ander prosesse, insluitend om in die geheue te lees en te skryf. Verskeie strategieë vir geheue-inspuiting, wat die meeste antivirus- en host intrusion prevention-oplossings kan omseil, kan met hierdie voorreg gebruik word.
Dump geheue
You could use ProcDump from the SysInternals Suite to vang die geheue van ân proses. Specifically, this can apply to the Local Security Authority Subsystem Service (LSASS) process, which is responsible for storing user credentials once a user has successfully logged into a system.
You can then load this dump in mimikatz to obtain passwords:
mimikatz.exe
mimikatz # log
mimikatz # sekurlsa::minidump lsass.dmp
mimikatz # sekurlsa::logonpasswords
RCE
As jy ân NT SYSTEM shell wil kry, kan jy die volgende gebruik:
# Get the PID of a process running as NT SYSTEM
import-module psgetsys.ps1; [MyProcess]::CreateProcessFromParent(<system_pid>,<command_to_execute>)
SeManageVolumePrivilege
Hierdie reg (Perform volume maintenance tasks) maak dit moontlik om rou volume-toestelhandvatsels (bv. \.\C:) oop te maak vir direkte skyf I/O wat NTFS ACLs omseil. Daarmee kan jy bytes van enige lĂȘer op die volume kopieer deur die onderliggende blokke te lees, wat arbitrĂȘre lĂȘerlesing van sensitiewe materiaal moontlik maak (bv. masjien private sleutels in %ProgramData%\Microsoft\Crypto, registry hives, SAM/NTDS via VSS). Dit is veral impakvol op CA servers waar die eksfiltrasie van die CA private sleutel die vervalsing van ân Golden Certificate moontlik maak om enige prinsipaal te imiteer.
Sien gedetailleerde tegnieke en mitigasies:
Semanagevolume Perform Volume Maintenance Tasks
Kontroleer privilegies
whoami /priv
Die tokens wat as Disabled verskyn kan geaktiveer word; jy kan eintlik beide Enabled en Disabled tokens misbruik.
Aktiveer al die tokens
As jy tokens het wat as Disabled gemerk is, kan jy die script EnableAllTokenPrivs.ps1 gebruik om al die tokens te aktiveer:
.\EnableAllTokenPrivs.ps1
whoami /priv
Of die script geĂŻntegreer in hierdie post.
Tabel
Volledige token privileges cheatsheet by https://github.com/gtworek/Priv2Admin, onderstaande opsomming sal slegs direkte maniere lys om die privilege te benut om ân admin-sessie te verkry of sensitiewe lĂȘers te lees.
| Privilege | Impak | Gereedskap | Uitvoeringspad | Opmerkings |
|---|---|---|---|---|
SeAssignPrimaryToken | Admin | 3rd party tool | âIt would allow a user to impersonate tokens and privesc to nt system using tools such as potato.exe, rottenpotato.exe and juicypotato.exeâ | Dankie AurĂ©lien Chalot vir die opdatering. Ek sal binnekort probeer om dit na iets meer resep-agtig te herformuleer. |
SeBackup | Threat | Built-in commands | Lees sensitiewe lĂȘers met robocopy /b |
- Mag meer interessant wees as jy %WINDIR%\MEMORY.DMP kan lees |
SeCreateToken | Admin | 3rd party tool | Skep arbitrĂȘre token insluitend plaaslike admin-regte met NtCreateToken. | |
SeDebug | Admin | PowerShell | Dupliceer die lsass.exe token. | Script is te vinde by FuzzySecurity |
SeLoadDriver | Admin | 3rd party tool |
1. Laai ân foutiewe kernel driver soos |
1. Die |
SeRestore | Admin | PowerShell |
1. Begin PowerShell/ISE terwyl die SeRestore privilege teenwoordig is. |
Aanval mag deur sekere AV-sagteware opgespoor word. Alternatiewe metode staatmaak op die vervanging van service-binaries wat in âProgram Filesâ gestoor is met dieselfde privilege |
SeTakeOwnership | Admin | Built-in commands |
1. |
Aanval mag deur sekere AV-sagteware opgespoor word. Alternatiewe metode staatmaak op die vervanging van service-binaries wat in âProgram Filesâ gestoor is met dieselfde privilege. |
SeTcb | Admin | 3rd party tool |
Manipuleer tokens sodat plaaslike admin-regte ingesluit is. Mag SeImpersonate vereis. Om te verifieer. |
Verwysing
- Kyk na hierdie tabel wat Windows tokens definieer: https://github.com/gtworek/Priv2Admin
- Kyk na hierdie paper oor privesc met tokens.
- Microsoft â Perform volume maintenance tasks (SeManageVolumePrivilege): https://learn.microsoft.com/previous-versions/windows/it-pro/windows-10/security/threat-protection/security-policy-settings/perform-volume-maintenance-tasks
- 0xdf â HTB: Certificate (SeManageVolumePrivilege â CA key exfil â Golden Certificate): https://0xdf.gitlab.io/2025/10/04/htb-certificate.html
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die đŹ Discord groep of die telegram groep of volg ons op Twitter đŠ @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
HackTricks

