UAC Bypass
Last updated
Last updated
İstifadəçi Hesabına Nəzarət (UAC) hər hansı yeni prosesi standart olaraq imtiyazsız hesabın təhlükəsizlik kontekstində işləməyə məcbur edən Windows təhlükəsizlik xüsusiyyətidir. Bu siyasət idarəçilərin özləri də daxil olmaqla istənilən istifadəçinin başlatdığı proseslərə şamil edilir. İdeya ondan ibarətdir ki, biz bəzi hərəkətlərə icazə verilməli olub-olmadığını müəyyən etmək üçün yalnız istifadəçinin şəxsiyyətinə etibar edə bilmərik.
Bu, ziddiyyətli görünsə də, BOB istifadəçisinin bilmədən İnternetdən zərərli proqram yükləməsini təsəvvür edin. Əgər BOB Administratorlar qrupunun bir hissəsidirsə, onun işə saldığı hər hansı proqram onun giriş nişanı imtiyazlarını miras alacaq. Beləliklə, BOB zərərli proqramı işə salmaq qərarına gəlsə və UAC deaktiv edilsə, zərərli proqram dərhal administrator imtiyazları qazanacaq. Bunun əvəzinə, UAC aktivləşdirildikdə zərərli proqram qeyri-inzibati giriş nişanı ilə məhdudlaşdırılacaq.
UAC , hər birinə İntegrity Levels (IL) təyin etməklə istifadəçiləri, prosesləri və resursları fərqləndirməyə imkan verən bir mexanizm olan Məcburi Dürüstlüyə Nəzarətdir (MIC). Ümumiyyətlə, daha yüksək IL giriş nişanı olan istifadəçilər və ya proseslər aşağı və ya bərabər IL-ləri olan resurslara daxil ola biləcəklər. MIC adi Windows DACL -lərdən üstündür , ona görə də DACL-ə uyğun olaraq resursa daxil olmaq icazəniz ola bilər, lakin IL-nin kifayət qədər yüksək olmamasının
İntegrity Levels | |
---|---|
Low | Ümumiyyətlə İnternetlə qarşılıqlı əlaqə üçün istifadə olunur (məsələn, Internet Explorer). Çox məhdud icazələrə malikdir. |
Medium | Standart istifadəçilərə və Administratorların filterlənmiş tokenlərinə təyin edilmişdir. |
High | UAC aktiv olduqda Administratorların yüksəldilmiş tokenləri tərəfindən istifadə olunur. UAC deaktiv edilərsə, bütün idarəçilər həmişə yüksək IL işarəsindən istifadə edəcəklər. |
System | Sistem istifadəsi üçün qorunur. |
Adi konsolu açmağa çalışarkən, biz onu ya imtiyazlı olmayan istifadəçi, ya da administrator kimi aça bilərik. Seçimimizdən asılı olaraq, yaranan prosesə Orta və ya Yüksək bütövlük səviyyəli token təyin ediləcək:
Cmd -ə whoami /priv
yazaraq icazələrə baxıb müqaisə edə bilərsiz:
Solda orta IL ilə filterlənmiş token var və demək olar ki, heç bir imtiyaz təyin olunmayıb. Sağda, prosesin yüksək IL ilə işlədiyini və daha çox imtiyazlara malik olduğunu görə bilərsiniz. O qədər də aydın olmayan başqa bir fərq, orta IL prosesinin Administratorlar qrupunun bir hissəsi olmaqla bağlı hər hansı imtiyazların effektiv şəkildə rədd edilməsidir.
İstifadəçi tətbiqi administrator kimi işə salmaq buttonuna basır.
ShellExecute API çağırışı runas dan istifadə edilir .
Sorğu yüksəkliyi idarə etmək üçün Appinfo-ya yönləndirilir.
Tətbiq manifestində AutoElevation-a icazə verilib-verilməməsi yoxlanılır.
Appinfo secure desktopda UAC sorğusunu göstərən consent.exe-ni icra edir . secure desktop sadəcə olaraq, digər proseslərin UAC sorğusuna hər hansı şəkildə müdaxilə etməməsi üçün faktiki istifadəçinin desktop işləyən hər bir prosesdən prosesləri təcrid edən ayrıca iş masasıdır .
İstifadəçi tətbiqi administrator kimi işə salmağa razılıq verərsə, Appinfo xidməti istifadəçinin Yüksək Tokenindən istifadə edərək sorğunu yerinə yetirəcək. Bundan sonra Appinfo yeni prosesin əsas proses identifikatorunu yüksəklik tələb olunan qabığa işarə edəcək.
Bu tip UAC bypass əsasən real dünyda baş vercək senariyə uyğun deyil.Bəzi proseslər bizdən UAC tələb etmədən Yüksək lL ilə runlanır məsələn:msconfig.exe,azman.msc.Əgər biz bu proseslərə shell alamqı məcbur etsək on yüksək lL ilə shell alar.Bunun üçün windows+R düymələrini basıb açılan hissəyə msconfig.exe yazırıq.
Acılan pəncərədə tool hissəsinə gəlib command promp launch basın.
Görəcəksizki cmd Administrator icazələri ilə acılır.
Msconfig-də olduğu kimi, azman.msc istifadəçinin qarşılıqlı əlaqəsini tələb etmədən avtomatik yüksəldəcək. Bu proses içərisindən bir qabıq çıxarmaq üçün bir yol tapa bilsək, UAC- dan yan keçəcəyik . Qeyd edək ki, msconfig-dən fərqli olaraq azman.msc-də qabıq yaratmaq üçün nəzərdə tutulmuş daxili üsul yoxdur. Bir az yaradıcılıqla bunun öhdəsindən asanlıqla gələ bilərik.
Acılan ekranda help hissəsinə help topics tiklayın.
Ardından acılan pəncərədən istənilən yerə sağ klik basıb view source hissəsinə daxil oluruq.
Bu, bir shell əldə etmək üçün istifadə edə biləcəyimiz bir notepad prosesini yaradacaq. Bunu etmək üçün Fayl->open bölməsinə keçin və sağ alt küncdəki birləşmə qutusunda Bütün Faylları seçdiyinizə əmin olun . Getmək C:\Windows\System32
və axtarıncmd.exe
və Aç seçimini etmək üçün sağ klikləyin:
Bu, bir daha UAC- dan yan keçəcək və bizə yüksək bütövlükdə əmr sorğusuna giriş imkanı verəcək.
Yuxarıda göstərilən üsullar UAC bypass məntiqini izah etmək üçün yazılib.Əgər sistemə shell alıb girsək bu usuları istifadə edə biməyəcəyik.
Fodhelper.exe əlavə dillər, defolt olaraq quraşdırılmamış proqramlar və ya digər əməliyyat sistemi xüsusiyyətləri daxil olmaqla, Windows-un isteğe bağlı xüsusiyyətlərini idarə etmək üçün cavabdeh olan Windows-un defolt icraedici proqramlarından biridir. Sistem konfiqurasiyası üçün istifadə edilən əksər proqramlar kimi, fodhelper standart UAC parametrlərindən istifadə edərkən avtomatik yüksəldə bilər ki, standart inzibati tapşırıqları yerinə yetirərkən administratorlardan yüksəltmə tələb olunmasın. Msconfig-dən fərqli olaraq, biz artıq autoElevate icra olunan proqrama nəzər salsaq da, fodhelper GUI-yə giriş olmadan sui-istifadə edilə bilər.
Əgər biz uzaqdan shell almışıqsa birinci whoami /priv
yazıb icazələrimizə baxa bilərik.
Beləliklə biz görürüki bu shell administrator kimi acılmayib bunun üçün biz UAC bypass etməliyik.
Bunu üçün aşağıdaki əmrləri istifadə edirik:
daha sonra öz terminalimizda dinləməni acırıq:
indi fodhelper.exe yazıb runlayırıq və beləliklə shell alırıq və whoami /priv yazıb baxsaq görəriki administratır kimi daxil olmuşuq və beləliklə UAC bypass etmiş oluruq: