Integrity Levels
Last updated
Last updated
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Katika Windows Vista na toleo la baadaye, vitu vyote vilivyolindwa vinakuja na lebo ya kiwango cha uaminifu. Mpangilio huu kwa kawaida unatoa kiwango cha "kati" kwa faili na funguo za rejista, isipokuwa kwa folda na faili fulani ambazo Internet Explorer 7 inaweza kuandika kwa kiwango cha chini cha uaminifu. Tabia ya kawaida ni kwamba michakato inayozinduliwa na watumiaji wa kawaida ina kiwango cha kati cha uaminifu, wakati huduma kwa kawaida hufanya kazi kwa kiwango cha uaminifu wa mfumo. Lebo ya uaminifu wa juu inalinda saraka ya mzizi.
Kanuni muhimu ni kwamba vitu haviwezi kubadilishwa na michakato yenye kiwango cha chini cha uaminifu kuliko kiwango cha kitu hicho. Viwango vya uaminifu ni:
Hauaminika: Kiwango hiki ni kwa michakato yenye kuingia kwa siri. %%%Mfano: Chrome%%%
Chini: Kimsingi kwa mwingiliano wa mtandao, hasa katika Modu ya Kulindwa ya Internet Explorer, ikihusisha faili na michakato zinazohusiana, na folda fulani kama Folda ya Mtandao ya Muda. Michakato ya uaminifu wa chini inakabiliwa na vizuizi vikubwa, ikiwa ni pamoja na kukosa ufikiaji wa kuandika rejista na ufikiaji mdogo wa kuandika wasifu wa mtumiaji.
Kati: Kiwango cha kawaida kwa shughuli nyingi, kinachotolewa kwa watumiaji wa kawaida na vitu bila viwango maalum vya uaminifu. Hata wanachama wa kundi la Wasimamizi hufanya kazi kwa kiwango hiki kwa kawaida.
Juu: Imehifadhiwa kwa wasimamizi, ikiwaruhusu kubadilisha vitu kwa viwango vya chini vya uaminifu, ikiwa ni pamoja na vile vya kiwango cha juu mwenyewe.
Mfumo: Kiwango cha juu zaidi cha uendeshaji kwa kernel ya Windows na huduma za msingi, ambacho hakiwezi kufikiwa hata na wasimamizi, kuhakikisha ulinzi wa kazi muhimu za mfumo.
Installer: Kiwango cha kipekee ambacho kiko juu ya vingine vyote, kikiruhusu vitu vilivyo katika kiwango hiki kuondoa kitu kingine chochote.
Unaweza kupata kiwango cha uaminifu cha mchakato kwa kutumia Process Explorer kutoka Sysinternals, ukifika kwenye mali ya mchakato na kuangalia tab ya "Usalama":
Unaweza pia kupata kiwango chako cha uaminifu wa sasa kwa kutumia whoami /groups
Kitu ndani ya mfumo wa faili kinaweza kuhitaji mahitaji ya kiwango cha chini cha uaminifu na ikiwa mchakato huna kiwango hiki cha uaminifu hautaweza kuingiliana nacho. Kwa mfano, hebu tunde faili ya kawaida kutoka kwa konso ya mtumiaji wa kawaida na kuangalia ruhusa:
Sasa, hebu tuweke kiwango cha chini cha uaminifu cha Juu kwa faili. Hii lazima ifanywe kutoka kwenye konso inayotembea kama meneja kwani konso ya kawaida itakuwa ikitembea katika kiwango cha Uaminifu wa Kati na haitaruhusiwa kuweka kiwango cha Juu cha Uaminifu kwa kitu:
Hapa ndipo mambo yanakuwa ya kuvutia. Unaweza kuona kwamba mtumiaji DESKTOP-IDJHTKP\user
ana haki kamili juu ya faili (kweli huyu ndiye mtumiaji aliyeunda faili), hata hivyo, kutokana na kiwango cha chini cha uaminifu kilichotekelezwa hatoweza kubadilisha faili tena isipokuwa anapokuwa akifanya kazi ndani ya Kiwango cha Juu cha Uaminifu (zingatia kwamba ataweza kuisoma):
Hivyo, wakati faili ina kiwango cha chini cha uaminifu, ili kuibadilisha unahitaji kuwa unafanya kazi angalau katika kiwango hicho cha uaminifu.
Nimefanya nakala ya cmd.exe
katika C:\Windows\System32\cmd-low.exe
na kuweka kiwango chake cha uaminifu kuwa wa chini kutoka kwa console ya msimamizi:
Sasa, ninapokimbia cmd-low.exe
itafanya kazi chini ya kiwango cha chini cha uaminifu badala ya kiwango cha kati:
Kwa watu wenye hamu, ikiwa unatoa kiwango cha juu cha uaminifu kwa binary (icacls C:\Windows\System32\cmd-high.exe /setintegritylevel high
) haitafanya kazi kwa kiwango cha juu cha uaminifu moja kwa moja (ikiwa unakiita kutoka kwa kiwango cha kati cha uaminifu --kwa kawaida-- itafanya kazi chini ya kiwango cha kati cha uaminifu).
Sio faili na folda zote zina kiwango cha chini cha uaminifu, lakini mchakato wote unafanya kazi chini ya kiwango cha uaminifu. Na kama ilivyotokea na mfumo wa faili, ikiwa mchakato unataka kuandika ndani ya mchakato mwingine lazima uwe na angalau kiwango sawa cha uaminifu. Hii inamaanisha kwamba mchakato wenye kiwango cha chini cha uaminifu hauwezi kufungua kushughulikia kwa ufikiaji kamili kwa mchakato wenye kiwango cha kati cha uaminifu.
Kwa sababu ya vizuizi vilivyotajwa katika sehemu hii na sehemu iliyopita, kutoka kwa mtazamo wa usalama, kila wakati inapendekezwa kufanya kazi katika kiwango cha chini cha uaminifu iwezekanavyo.