# 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**](https://github.com/sponsors/carlospolop)! * Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee * Pata [**swag rasmi wa PEASS & HackTricks**](https://peass.creator-spring.com) * **Jiunge na** [**💬**](https://emojipedia.org/speech-balloon/) [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **fuata** kwenye **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa** [**repo ya hacktricks**](https://github.com/carlospolop/hacktricks) **na** [**repo ya hacktricks-cloud**](https://github.com/carlospolop/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](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](https://github.com/ohpe/juicy-potato), [RogueWinRM](https://github.com/antonioCoco/RogueWinRM) (ambayo inahitaji winrm iwe imelemazwa), [SweetPotato](https://github.com/CCob/SweetPotato), na [PrintSpoofer](https://github.com/itm4n/PrintSpoofer). {% content-ref url="roguepotato-and-printspoofer.md" %} [roguepotato-and-printspoofer.md](roguepotato-and-printspoofer.md) {% endcontent-ref %} {% content-ref url="juicypotato.md" %} [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/Hackplayers/PsCabesha-tools/blob/master/Privesc/Acl-FullControl.ps1) * [https://github.com/giuliano108/SeBackupPrivilege/tree/master/SeBackupPrivilegeCmdLets/bin/Debug](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](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](../active-directory-methodology/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\\System\CurrentControlSet\Services\DriverName`, ambapo `` 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 binary * `Aina`, na thamani ya `SERVICE_KERNEL_DRIVER` (`0x00000001`). **Hatua za Kufuata:** 1. Fikia `HKCU` badala ya `HKLM` kutokana na upatikanaji mdogo wa kuandika. 2. Unda njia `\Registry\User\\System\CurrentControlSet\Services\DriverName` ndani ya `HKCU`, ambapo `` inawakilisha Kitambulisho cha Kihusishi cha mtumiaji wa sasa. 3. Weka `ImagePath` kwa njia ya utekelezaji wa binary. 4. Weka `Aina` kama `SERVICE_KERNEL_DRIVER` (`0x00000001`). ```python # 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](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. ```bash takeown /f 'C:\some\file.txt' #Now the file is owned by you icacls 'C:\some\file.txt' /grant :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](https://docs.microsoft.com/en-us/sysinternals/downloads/procdump) kutoka [Pakiti ya SysInternals](https://docs.microsoft.com/en-us/sysinternals/downloads/sysinternals-suite) kwa **kukamata kumbukumbu ya mchakato**. Hasa, hii inaweza kutumika kwa mchakato wa **Local Security Authority Subsystem Service (**[**LSASS**](https://en.wikipedia.org/wiki/Local\_Security\_Authority\_Subsystem\_Service)**)**, 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: * [**SeDebugPrivilege-Exploit (C++)**](https://github.com/bruno-1337/SeDebugPrivilege-Exploit) * [**SeDebugPrivilegePoC (C#)**](https://github.com/daem0nc0re/PrivFu/tree/main/PrivilegedOperations/SeDebugPrivilegePoC) * [**psgetsys.ps1 (Powershell Script)**](https://raw.githubusercontent.com/decoder-it/psgetsystem/master/psgetsys.ps1) ```powershell # Get the PID of a process running as NT SYSTEM import-module psgetsys.ps1; [MyProcess]::CreateProcessFromParent(,) ``` ## 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**](https://raw.githubusercontent.com/fashionproof/EnableAllTokenPrivs/master/EnableAllTokenPrivs.ps1) kuwezesha vitufe vyote: ```powershell .\EnableAllTokenPrivs.ps1 whoami /priv ``` Au **script** ingiza katika [**chapisho**](https://www.leeholmes.com/adjusting-token-privileges-in-powershell/). ## Jedwali Lebo kamili ya mbinu za kukiuka haki za token zinapatikana kwa [https://github.com/gtworek/Priv2Admin](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](https://twitter.com/Defte\_) 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

- SeBackupPrivilege (na robocopy) haifai wakati wa kufungua faili.

- Robocopy inahitaji SeBackup na SeRestore kufanya kazi na kipengele cha /b.

| | **`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](https://github.com/FuzzySecurity/PowerShell-Suite/blob/master/Conjure-LSASS.ps1) | | **`SeLoadDriver`** | _**Admin**_ | Zana ya tatu |

1. Pakia dereva dhaifu wa kernel kama vile szkg64.sys
2. Tumia udhaifu wa dereva

Kwa upande mwingine, haki hiyo inaweza kutumika kufuta dereva zinazohusiana na usalama kwa kutumia amri ya kujengwa ya ftlMC. yaani: fltMC sysmondrv

|

1. Udhaifu wa szkg64 umetajwa kama CVE-2018-15732
2. Msimbo wa udhaifu wa szkg64 uliumbwa na Parvez Anwar

| | **`SeRestore`** | _**Admin**_ | **PowerShell** |

1. Anzisha PowerShell/ISE na haki ya SeRestore ikiwepo.
2. Wezesha haki hiyo kwa kutumia Enable-SeRestorePrivilege).
3. Badilisha utilman.exe kuwa utilman.old
4. Badilisha cmd.exe kuwa utilman.exe
5. Funga konsoli na bonyeza Win+U

|

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. takeown.exe /f "%windir%\system32"
2. icalcs.exe "%windir%\system32" /grant "%username%":F
3. Badilisha cmd.exe kuwa utilman.exe
4. Funga konsoli na bonyeza Win+U

|

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](https://github.com/gtworek/Priv2Admin) * Tazama [**karatasi hii**](https://github.com/hatRiot/token-priv/blob/master/abusing\_token\_eop\_1.0.txt) kuhusu upelelezi wa haki za token.