19 KiB
Kudhuru Vitambulisho
Jifunze AWS hacking kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)!
- Je, unafanya kazi katika kampuni ya usalama wa mtandao? Unataka kuona kampuni yako ikitangazwa kwenye HackTricks? au unataka kupata upatikanaji wa toleo jipya la PEASS au kupakua HackTricks kwa PDF? Angalia MIPANGO YA USAJILI!
- Gundua Familia ya PEASS, mkusanyiko wetu wa NFTs ya kipekee
- Pata swag rasmi wa PEASS & HackTricks
- Jiunge na 💬 Kikundi cha Discord au kikundi cha telegram au fuata kwenye Twitter 🐦@carlospolopm.
- Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa repo ya hacktricks na repo ya hacktricks-cloud.
Vitambulisho
Ikiwa hujui ni nini Vitambulisho vya Kufikia Windows soma ukurasa huu kabla ya kuendelea:
{% content-ref url="access-tokens.md" %} access-tokens.md {% endcontent-ref %}
Labda unaweza kuwa na uwezo wa kudhuru vitambulisho ulivyonavyo tayari
SeImpersonatePrivilege
Hii ni haki inayoshikiliwa na mchakato wowote inayoruhusu uigaji (lakini sio uumbaji) wa kifungo chochote, ikitoa kwamba kushika kifungo kunaweza kupatikana. Kifungo cha kuheshimiwa kinaweza kupatikana kutoka kwa huduma ya Windows (DCOM) kwa kuiwezesha kufanya uthibitishaji wa NTLM dhidi ya shambulio, kisha kuwezesha utekelezaji wa mchakato na mamlaka ya SYSTEM. Udhaifu huu unaweza kutumiwa kwa kutumia zana mbalimbali, kama vile juicy-potato, RogueWinRM (ambayo inahitaji winrm iwe imelemazwa), SweetPotato, na PrintSpoofer.
{% content-ref url="roguepotato-and-printspoofer.md" %} roguepotato-and-printspoofer.md {% endcontent-ref %}
{% content-ref url="juicypotato.md" %} juicypotato.md {% endcontent-ref %}
SeAssignPrimaryPrivilege
Ni sawa sana na SeImpersonatePrivilege, itatumia njia ile ile kupata kifungo cha mamlaka.
Kisha, haki hii inaruhusu kuweka kifungo cha msingi kwa mchakato mpya/uliosimamishwa. Kwa kifungo cha uigaji kilichopewa mamlaka unaweza kuzalisha kifungo cha msingi (DuplicateTokenEx).
Kwa kifungo, unaweza kuunda mchakato mpya na 'CreateProcessAsUser' au kuunda mchakato uliosimamishwa na kuweka kifungo (kwa ujumla, huwezi kurekebisha kifungo cha msingi cha mchakato unaofanya kazi).
SeTcbPrivilege
Ikiwa umewezesha kifungo hiki unaweza kutumia KERB_S4U_LOGON kupata kifungo cha uigaji kwa mtumiaji mwingine yeyote bila kujua siri, kuongeza kikundi cha aina yoyote (wasimamizi) kwenye kifungo, kuweka kiwango cha usalama cha kifungo kuwa "wa kati", na kuweka kifungo hiki kwa mchakato wa sasa (SetThreadToken).
SeBackupPrivilege
Mfumo unalazimishwa kutoa udhibiti wa kusoma kwa faili yoyote (imepunguzwa kwa shughuli za kusoma) kwa kibali hiki. Inatumika kwa kusoma vibonye vya nywila za akaunti za Wasimamizi wa Mitaa kutoka kwenye usajili, kufuatia hivyo, zana kama "psexec" au "wmicexec" zinaweza kutumika na kibonye hicho (mbinu ya Pass-the-Hash). Walakini, mbinu hii inashindwa chini ya hali mbili: wakati akaunti ya Msimamizi wa Mitaa imelemazwa, au wakati sera inawekwa ambayo inaondoa haki za utawala kutoka kwa Wasimamizi wa Mitaa wanaounganisha kijijini.
Unaweza kudhuru kibali hiki na:
- https://github.com/Hackplayers/PsCabesha-tools/blob/master/Privesc/Acl-FullControl.ps1
- https://github.com/giuliano108/SeBackupPrivilege/tree/master/SeBackupPrivilegeCmdLets/bin/Debug
- kufuata IppSec katika https://www.youtube.com/watch?v=IfCysW0Od8w&t=2610&ab_channel=IppSec
- Au kama ilivyoelezwa katika sehemu ya kudhuru mamlaka na Waendeshaji wa Nakala za Kurejesha ya:
{% content-ref url="../active-directory-methodology/privileged-groups-and-token-privileges.md" %} privileged-groups-and-token-privileges.md {% endcontent-ref %}
SeRestorePrivilege
Ruhusa ya upatikanaji wa kuandika kwa faili yoyote ya mfumo, bila kujali Orodha ya Kudhibiti Upatikanaji (ACL) ya faili hiyo, inatolewa na kibali hiki. Inafungua fursa nyingi za kudhuru, ikiwa ni pamoja na uwezo wa kurekebisha huduma, kutekeleza DLL Hijacking, na kuweka debuggers kupitia Chaguo za Utekelezaji wa Faili ya Picha kati ya mbinu mbalimbali.
SeCreateTokenPrivilege
SeCreateTokenPrivilege ni kibali chenye nguvu, hasa muhimu wakati mtumiaji ana uwezo wa kudanganya vitambulisho, lakini pia bila SeImpersonatePrivilege. Uwezo huu unategemea uwezo wa kudanganya kibali kinachowakilisha mtumiaji huyo huyo na kiwango chake cha usalama kisizidi kiwango cha mchakato wa sasa.
Mambo Muhimu:
- Kudanganya bila SeImpersonatePrivilege: Inawezekana kutumia SeCreateTokenPrivilege kwa EoP kwa kudanganya vitambulisho chini ya hali maalum.
- Hali za Kudanganya Vitambulisho: Kudanganya kwa mafanikio kunahitaji kibali cha lengo kuwa cha mtumiaji huyo huyo na kuwa na kiwango cha usalama ambacho ni kidogo au sawa na kiwango cha usalama wa mchakato unaojaribu kudanganya.
- Uundaji na Urekebishaji wa Vitambulisho vya Kudanganya: Watumiaji wanaweza kuunda kibali cha kudanganya na kukiimarisha kwa kuongeza SID ya kikundi cha mamlaka.
SeLoadDriverPrivilege
Kibali hiki kuruhusu kupakia na kufuta madereva ya kifaa kwa kuunda kuingiza usajili na thamani maalum kwa ImagePath
na Aina
. Kwa kuwa upatikanaji wa kuandika moja kwa moja kwa HKLM
(HKEY_LOCAL_MACHINE) umepunguzwa, HKCU
(HKEY_CURRENT_USER) lazima itumike badala yake. Walakini, ili kufanya HKCU
iweze kutambulika na kernel kwa usanidi wa dereva, njia maalum lazima ifuatwe.
Njia hii ni \Registry\User\<RID>\System\CurrentControlSet\Services\DriverName
, ambapo <RID>
ni Kitambulisho cha Kihusishi cha mtumiaji wa sasa. Ndani ya HKCU
, njia nzima hii lazima iundwe, na thamani mbili zinahitaji kuwekwa:
ImagePath
, ambayo ni njia ya utekelezaji wa binaryAina
, na thamani yaSERVICE_KERNEL_DRIVER
(0x00000001
).
Hatua za Kufuata:
- Fikia
HKCU
badala yaHKLM
kutokana na upatikanaji mdogo wa kuandika. - Unda njia
\Registry\User\<RID>\System\CurrentControlSet\Services\DriverName
ndani yaHKCU
, ambapo<RID>
inawakilisha Kitambulisho cha Kihusishi cha mtumiaji wa sasa. - Weka
ImagePath
kwa njia ya utekelezaji wa binary. - Weka
Aina
kamaSERVICE_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)
Njia zaidi za kutumia haki hii katika https://www.ired.team/offensive-security-experiments/active-directory-kerberos-abuse/privileged-accounts-and-token-privileges#seloaddriverprivilege
SeTakeOwnershipPrivilege
Hii inafanana na SeRestorePrivilege. Kazi yake kuu ni kuruhusu mchakato kuchukua umiliki wa kitu, kuzunguka mahitaji ya ufikiaji wa hiari kupitia utoaji wa haki za ufikiaji wa WRITE_OWNER. Mchakato huanza kwa kwanza kusimika umiliki wa funguo ya usajili inayokusudiwa kwa madhumuni ya kuandika, kisha kubadilisha DACL kuruhusu operesheni za kuandika.
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
Haki hii inaruhusu kudebugi michakato mingine, ikiwa ni pamoja na kusoma na kuandika kwenye kumbukumbu. Mikakati mbalimbali ya kuingiza kumbukumbu, inayoweza kuepuka zaidi ya programu-jalizi ya antivirus na suluhisho za kuzuia uingizaji wa mwenyeji, inaweza kutumika na haki hii.
Pindua kumbukumbu
Unaweza kutumia ProcDump kutoka Pakiti ya SysInternals kwa kukamata kumbukumbu ya mchakato. Hasa, hii inaweza kutumika kwa mchakato wa Local Security Authority Subsystem Service (LSASS), ambao unahusika na kuhifadhi sifa za mtumiaji mara tu mtumiaji anapofanikiwa kuingia kwenye mfumo.
Kisha unaweza kupakia pindu hili kwenye mimikatz ili upate nywila:
mimikatz.exe
mimikatz # log
mimikatz # sekurlsa::minidump lsass.dmp
mimikatz # sekurlsa::logonpasswords
RCE
Ikiwa unataka kupata kifaa cha NT SYSTEM
unaweza kutumia:
# Get the PID of a process running as NT SYSTEM
import-module psgetsys.ps1; [MyProcess]::CreateProcessFromParent(<system_pid>,<command_to_execute>)
Angalia mamlaka
whoami /priv
Vitufe vinavyoonekana kama Vilivyozimwa vinaweza kuwezeshwa, kwa hivyo unaweza kutumia vitufe vilivyo Vilivyowezeshwa na Vilivyozimwa.
Wezesha Vitufe Vyote
Ikiwa una vitufe vilivyozimwa, unaweza kutumia skripti EnableAllTokenPrivs.ps1 kuwezesha vitufe vyote:
.\EnableAllTokenPrivs.ps1
whoami /priv
Au script ingiza katika chapisho.
Jedwali
Lebo kamili ya mbinu za kukiuka haki za token zinapatikana kwa https://github.com/gtworek/Priv2Admin, muhtasari hapa chini utaorodhesha njia za moja kwa moja za kutumia haki hiyo kwa kupata kikao cha msimamizi au kusoma faili nyeti.
Haki ya Token | Athari | Zana | Njia ya utekelezaji | Maelezo |
---|---|---|---|---|
SeAssignPrimaryToken |
Admin | Zana ya tatu | "Ingeiruhusu mtumiaji kujifanya kuwa na tokens na kufanya upelelezi wa mfumo wa nt kwa kutumia zana kama vile potato.exe, rottenpotato.exe na juicypotato.exe" | Asante Aurélien Chalot kwa sasisho. Nitajaribu kubadilisha maneno kuwa kama mapishi hivi karibuni. |
SeBackup |
Tishio | Amri zilizojengwa | Soma faili nyeti kwa kutumia robocopy /b |
- Inaweza kuwa ya kuvutia zaidi ikiwa unaweza kusoma %WINDIR%\MEMORY.DMP |
SeCreateToken |
Admin | Zana ya tatu | Unda token ya kupindukia ikiwa ni pamoja na haki za msimamizi wa ndani kwa kutumia NtCreateToken . |
|
SeDebug |
Admin | PowerShell | Nakili token ya lsass.exe . |
Script inapatikana kwa FuzzySecurity |
SeLoadDriver |
Admin | Zana ya tatu | 1. Pakia dereva dhaifu wa kernel kama vile |
1. Udhaifu wa |
SeRestore |
Admin | PowerShell | 1. Anzisha PowerShell/ISE na haki ya SeRestore ikiwepo. |
Shambulio linaweza kugunduliwa na programu fulani za AV. Njia mbadala inategemea kubadilisha programu za huduma zilizohifadhiwa katika "Program Files" kwa kutumia haki hiyo hiyo |
SeTakeOwnership |
Admin | Amri zilizojengwa | 1. |
Shambulio linaweza kugunduliwa na programu fulani za AV. Njia mbadala inategemea kubadilisha programu za huduma zilizohifadhiwa katika "Program Files" kwa kutumia haki hiyo hiyo. |
SeTcb |
Admin | Zana ya tatu | Tumia tokens kuwa na haki za msimamizi wa ndani pamoja. Inaweza kuhitaji SeImpersonate. Kuthibitishwa. |
Marejeo
- Tazama jedwali hili linaloelezea vidhibiti vya Windows tokens: https://github.com/gtworek/Priv2Admin
- Tazama karatasi hii kuhusu upelelezi wa haki za token.