Abusing Tokens
Last updated
Last updated
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
As jy nie weet wat Windows Toegangstokens is nie, lees hierdie bladsy voordat jy voortgaan:
Miskien kan jy in staat wees om voorregte te verhoog deur die tokens wat jy reeds het, te misbruik
Dit is 'n voorreg wat deur enige proses gehou word wat die impersonasie (maar nie die skepping) van enige token toelaat, mits 'n handvatsel daarvoor verkry kan word. 'n Voorregte token kan van 'n Windows diens (DCOM) verkry word deur dit te dwing om NTLM-akkreditasie teen 'n exploit uit te voer, wat die uitvoering van 'n proses met SYSTEM voorregte moontlik maak. Hierdie kwesbaarheid kan benut word met verskeie gereedskap, soos juicy-potato, RogueWinRM (wat vereis dat winrm gedeaktiveer moet wees), SweetPotato, en PrintSpoofer.
Dit is baie soortgelyk aan SeImpersonatePrivilege, dit sal die dieselfde metode gebruik om 'n voorregte token te verkry. Dan laat hierdie voorreg toe om 'n primêre token aan 'n nuwe/gesuspendeerde proses toe te ken. Met die voorregte impersonasie token kan jy 'n primêre token aflei (DuplicateTokenEx). Met die token kan jy 'n nuwe proses skep met 'CreateProcessAsUser' of 'n proses gesuspend en die token stel (in die algemeen kan jy nie die primêre token van 'n lopende proses verander nie).
As jy hierdie token geaktiveer het, kan jy KERB_S4U_LOGON gebruik om 'n impersonasie token vir enige ander gebruiker te verkry sonder om die akkreditasies te ken, voeg 'n arbitrêre groep (admins) by die token, stel die integriteitsvlak van die token op "medium", en ken hierdie token toe aan die huidige draad (SetThreadToken).
Die stelsel word gedwing om alle lees toegang beheer aan enige lêer te verleen (beperk tot lees operasies) deur hierdie voorreg. Dit word gebruik vir die lees van die wagwoord hashes van plaaslike Administrateur rekeninge uit die register, waarna gereedskap soos "psexec" of "wmiexec" met die hash (Pass-the-Hash tegniek) gebruik kan word. Hierdie tegniek faal egter onder twee toestande: wanneer die Plaaslike Administrateur rekening gedeaktiveer is, of wanneer 'n beleid in plek is wat administratiewe regte van Plaaslike Administrateurs wat afstand doen, verwyder. Jy kan hierdie voorreg misbruik met:
Of soos verduidelik in die verhoogde voorregte met Backup Operators afdeling van:
Toestemming vir skrywe toegang tot enige stelsellêer, ongeag die lêer se Toegang Beheer Lys (ACL), word deur hierdie voorreg verskaf. Dit bied talle moontlikhede vir verhoging, insluitend die vermoë om dienste te wysig, DLL Hijacking uit te voer, en debuggers in te stel via Beeld Lêer Uitvoering Opsies onder verskeie ander tegnieke.
SeCreateTokenPrivilege is 'n kragtige toestemming, veral nuttig wanneer 'n gebruiker die vermoë het om tokens te impersonate, maar ook in die afwesigheid van SeImpersonatePrivilege. Hierdie vermoë hang af van die vermoë om 'n token te impersonate wat dieselfde gebruiker verteenwoordig en wie se integriteitsvlak nie hoër is as dié van die huidige proses nie.
Belangrike Punten:
Impersonasie sonder SeImpersonatePrivilege: Dit is moontlik om SeCreateTokenPrivilege te benut vir EoP deur tokens onder spesifieke toestande te impersonate.
Toestande vir Token Impersonasie: Succesvolle 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.
Skepping en Wysiging van Impersonasie Tokens: Gebruikers kan 'n impersonasie token skep en dit verbeter deur 'n voorregte groep se SID (Veiligheidsidentifiseerder) by te voeg.
Hierdie voorreg laat toe om toestel bestuurders te laai en te verwyder met die skepping van 'n register inskrywing met spesifieke waardes vir ImagePath
en Type
. Aangesien direkte skrywe toegang tot HKLM
(HKEY_LOCAL_MACHINE) beperk is, moet HKCU
(HKEY_CURRENT_USER) eerder gebruik word. Om HKCU
herkenbaar te maak vir die kern vir bestuurder konfigurasie, moet 'n spesifieke pad gevolg word.
Hierdie pad is \Registry\User\<RID>\System\CurrentControlSet\Services\DriverName
, waar <RID>
die Relatiewe Identifiseerder van die huidige gebruiker is. Binne HKCU
moet hierdie hele pad geskep word, en twee waardes moet gestel word:
ImagePath
, wat die pad na die binaire lêer is wat uitgevoer moet word
Type
, met 'n waarde van SERVICE_KERNEL_DRIVER
(0x00000001
).
Stappe om te Volg:
Toegang tot HKCU
eerder as HKLM
weens beperkte skrywe toegang.
Skep die pad \Registry\User\<RID>\System\CurrentControlSet\Services\DriverName
binne HKCU
, waar <RID>
die huidige gebruiker se Relatiewe Identifiseerder verteenwoordig.
Stel die ImagePath
op die binaire lêer se uitvoeringspad.
Ken die Type
toe as SERVICE_KERNEL_DRIVER
(0x00000001
).
Meer maniere om hierdie voorreg te misbruik in https://www.ired.team/offensive-security-experiments/active-directory-kerberos-abuse/privileged-accounts-and-token-privileges#seloaddriverprivilege
Dit is soortgelyk aan SeRestorePrivilege. Die primêre funksie laat 'n proses toe om eienaarskap van 'n objek aan te neem, wat die vereiste vir eksplisiete diskresionêre toegang omseil deur die verskaffing van WRITE_OWNER toegangregte. Die proses behels eers die verkryging van eienaarskap van die beoogde registriesleutel vir skryfdoeleindes, en dan die verandering van die DACL om skryfoperasies toe te laat.
Hierdie voorreg stel die ontleding van ander prosesse in staat, insluitend om in die geheue te lees en te skryf. Verskeie strategieë vir geheue-inspuiting, wat in staat is om die meeste antivirus- en gasheer-inbraakvoorkomingsoplossings te omseil, kan met hierdie voorreg toegepas word.
Jy kan ProcDump van die SysInternals Suite gebruik om die geheue van 'n proses te vang. Spesifiek kan dit van toepassing wees op die Local Security Authority Subsystem Service (LSASS) proses, wat verantwoordelik is vir die stoor van gebruikersbewyse sodra 'n gebruiker suksesvol in 'n stelsel aangemeld het.
Jy kan dan hierdie dump in mimikatz laai om wagwoorde te verkry:
As jy 'n NT SYSTEM
shell wil kry, kan jy gebruik maak van:
Die tokens wat as Gedeaktiveer verskyn kan geaktiveer word, jy kan eintlik Geaktiveerde en Gedeaktiveerde tokens misbruik.
As jy tokens gedeaktiveer het, kan jy die skrip EnableAllTokenPrivs.ps1 gebruik om al die tokens te aktiveer:
Or the script embed in this post.
Volledige token voorregte cheatsheet by https://github.com/gtworek/Priv2Admin, opsomming hieronder sal slegs direkte maniere lys om die voorreg te benut om 'n admin-sessie te verkry of sensitiewe lêers te lees.
SeAssignPrimaryToken
Admin
3de party gereedskap
"Dit sal 'n gebruiker toelaat om tokens na te boots en privesc na nt stelsel te gebruik met gereedskap soos potato.exe, rottenpotato.exe en juicypotato.exe"
SeBackup
Dreig
Ingeboude opdragte
Lees sensitiewe lêers met robocopy /b
- Mag meer interessant wees as jy %WINDIR%\MEMORY.DMP kan lees
- SeBackupPrivilege
(en robocopy) is nie nuttig wanneer dit kom by oop lêers nie.
- Robocopy vereis beide SeBackup en SeRestore om met /b parameter te werk.
SeCreateToken
Admin
3de party gereedskap
Skep arbitrêre token insluitend plaaslike admin regte met NtCreateToken
.
SeDebug
Admin
PowerShell
Dupliseer die lsass.exe
token.
SeLoadDriver
Admin
3de party gereedskap
1. Laai 'n foutiewe kern bestuurder soos szkg64.sys
2. Benut die bestuurder kwesbaarheid
Alternatiewelik kan die voorreg gebruik word om sekuriteitsverwante bestuurders te ontlaai met ftlMC
ingeboude opdrag. d.w.z.: fltMC sysmondrv
SeRestore
Admin
PowerShell
Die aanval mag deur sommige AV sagteware opgespoor word.
Alternatiewe metode berus op die vervanging van diens binêre lêers wat in "Program Files" gestoor is met dieselfde voorreg
SeTakeOwnership
Admin
Ingeboude opdragte
1. takeown.exe /f "%windir%\system32"
2. icalcs.exe "%windir%\system32" /grant "%username%":F
3. Hernoem cmd.exe na utilman.exe
4. Vergrendel die konsole en druk Win+U
Die aanval mag deur sommige AV sagteware opgespoor word.
Alternatiewe metode berus op die vervanging van diens binêre lêers wat in "Program Files" gestoor is met dieselfde voorreg.
SeTcb
Admin
3de party gereedskap
Manipuleer tokens om plaaslike admin regte ingesluit te hê. Mag SeImpersonate vereis.
Om geverifieer te word.
Neem 'n kyk na hierdie tabel wat Windows tokens definieer: https://github.com/gtworek/Priv2Admin
Neem 'n kyk na hierdie dokument oor privesc met tokens.
Dankie vir die opdatering. Ek sal probeer om dit binnekort in iets meer resep-agtig te herformuleer.
Skrip om te vind by
1. Die szkg64
kwesbaarheid is gelys as
2. Die szkg64
is geskep deur
1. Begin PowerShell/ISE met die SeRestore voorreg teenwoordig. 2. Aktiveer die voorreg met ). 3. Hernoem utilman.exe na utilman.old 4. Hernoem cmd.exe na utilman.exe 5. Vergrendel die konsole en druk Win+U
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)