Hacker Directory — Understand what you hack.Hacker Directory — Understand what you hack.
Öğrenmeye devam et
EN
İçindekiler15 bölüm · 82 ders
DERS 02.04DERİN TEKNİK İNCELEME

Permissions, user rights, privileges ve UAC: Aynı şey olmayan yetki kavramları.

Permission, user-right assignment, privilege, UAC token seçimi ve Mandatory Integrity Control aynı şey değildir. Etkili erişim; etkin token, integrity politikası, istenen erişim, DACL ve varsa operasyona özgü privilege koşullarının birlikte değerlendirilmesiyle oluşur.

1. Core Mechanism / Temel mekanizma

User Rights Assignment aynı politika başlığında iki farklı şeyi belirler: hesabın hangi tür logon yapabileceğini ve hangi privilege’lara sahip olduğunu. Logon right, seçilen giriş türüne izin verir ya da onu engeller; privilege listesi ise başarılı logon sonucunda oluşan token’da yer alır. UAC işlemde kullanılan token’ı etkiler. MIC ve DACL nesne erişimini değerlendirir; bazı belgelenmiş işlemler ayrıca kendilerine özgü bir privilege yolu kullanabilir.

Arabirimler ve belirtimler

  • Permission/access right: belirli securable object üzerindeki istenen işlem; DACL ACE'leriyle değerlendirilir.
  • User Rights Assignment: cihaz politikasındaki logon rights ve privilege atamaları.
  • Privilege: yerel sistem görevi veya kaynağı için özel yetenek; token'da bulunması ve gereken durumda enabled olması gerekir.
  • UAC: Admin Approval Mode altında uygun hesap ve policy koşullarında standart ve administrator token ayrımı ile elevation akışı.
  • Mandatory Integrity Control: token integrity seviyesi ile nesnenin mandatory label'ını DACL'den önce değerlendirir.

Beş ayrı karar katmanını adlandır

Bir dosyada Read izni, o nesneye özgü access right'tır. SeBackupPrivilege ise belirli bir sistem görevine yönelik privilege'dır. 'Log on as a service' bir logon right'tır. UAC hangi token ile işlem başlatılacağını etkiler. Integrity label ise DACL Allow olsa bile belirli yazma davranışını engelleyebilir.

Bu kavramların hepsine 'admin yetkisi' demek hata teşhisini imkânsızlaştırır. Doğru soru, reddin hangi katmanda ve hangi etkin token ile oluştuğudur.

Giriş izni, token seçimi ve erişim yolunu ayır

Yerel veya Group Policy ayarı, hesabın örneğin servis olarak logon yapıp yapamayacağını belirler. Bu logon right, token’daki privilege listesine eklenen bir özellik değildir. Başarılı logon’da hesap ve gruplarına atanmış privilege’lar access token’a alınır. UAC koşullarına göre yönetici hesabının filtrelenmiş standart token’ı ile administrator token’ı ayrılabilir; işlem kullanılan token’ın sınırları içinde çalışır.

Nesneye erişimde önce process veya impersonating thread için etkin token belirlenir. Normal dosya erişiminde MIC, token integrity seviyesi ve nesnenin mandatory label politikasını DACL’den önce değerlendirir; DACL de istenen access mask’i etkin SID’lerle karşılaştırır. Belgelenmiş bir backup işleminin SeBackupPrivilege yolu ise bütün DACL kontrollerinin arkasına eklenen evrensel bir adım değildir. İşlemin semantiği, token’daki privilege ve enabled durumu bu sınırlı yolu belirler. Harita bu yolları ayırır; gerçek Windows erişim sonucunu hesaplamaz.

DACL Allow her katmanın sonucu değildir

Artifact'teki DACL, Authenticated Users'a generic read ve write verir. Buna rağmen SACL bölümündeki Medium mandatory label ve No-Write-Up politikası, low-integrity token'ın yazmasını MIC aşamasında engelleyebilir.

Bu örnek effective access hesabı değildir. Generic mapping, requested mask, inheritance, gerçek token ve nesne türü olmadan kesin sonuç üretilemez. Artifact yalnız DACL ile MIC'nin bağımsız kontroller olduğunu gösterir.

Privilege kapsamını operasyona bağla

SeBackupPrivilege, backup amacıyla dosya ve dizin gibi kalıcı nesnelerde normal ACL'den bağımsız belirli okuma kabiliyeti sağlayabilir. Bu etki Full Control değildir ve diğer erişim isteklerini otomatik olarak vermez.

Privilege’ın hesaba atanması, etkin token’da bulunması ve enabled olması farklı koşullardır. Backup semantiğiyle tanımlanmış yerel işlem, desteklenen okuma kapsamını kullanabilir; sıradan her dosya isteği bu yolu kullanmaz. Bu ayrım başka hosttaki privilege atamasını, directory group membership’i veya dosyanın DACL’ini değiştirmez.

Durum ve veri akışı

  1. Yerel veya GPO policy, seçilen logon türünün izin/ret koşullarını ve privilege atamalarını ayrı belirler.
  2. Başarılı logon sonucunda hesap/grup SID’leri ve atanmış privilege’lar token’a alınır; logon right bir token privilege değildir.
  3. UAC policy ve hesap türüne göre filtrelenmiş standart token ile administrator token ayrılabilir.
  4. İşlem veya impersonating thread için etkin token seçilir.
  5. Normal nesne erişiminde MIC, etkin token integrity seviyesi ve hedef nesnenin mandatory label politikasını DACL’den önce değerlendirir.
  6. Normal DACL yolunda istenen işlem için access mask, etkin token’daki SID’lere uygulanabilen ACE’lerle karşılaştırılır.
  7. Ayrı bir belgelenmiş privilege yolu varsa, o işlemin semantiği ve yerel token’daki privilege’ın mevcut/enabled durumu değerlendirilir; her istekte çalışmaz.

2. Exploitation / İstismar

Broken trust assumption

Kırılan varsayım şudur: DACL okumayı reddediyorsa hiçbir yerel hak dosyayı okuyamaz.

Technical prerequisites

  • Hedef hostta token'a SeBackupPrivilege atanmış olması.
  • Privilege'ın işlem sırasında enabled olması.
  • Çağrının backup semantiğiyle privilege'ı talep etmesi.
  • Bu token bağlamında kod çalıştırabilme.
  • Hedefin aynı hostun privilege modeline tabi olması.

Exploitation mechanism / İstismar mekanizması

SeBackupPrivilege, backup amacıyla dosya, dizin ve benzeri kalıcı nesnelerde normal ACL'den bağımsız belgelenmiş okuma kapsamı sağlayabilir. Bu GENERIC_ALL değildir: başka erişim istekleri ACL ve diğer kontrollerle değerlendirilir. Privilege ataması directory üyeliğini veya başka hosttaki hakları değiştirmez.

Sınırlı istisnayı genel bypass'a dönüştürme

Privilege yalnız belgelenmiş operasyon ve kapsamda etkilidir. Token'da adının görünmesi, her API çağrısının onu kullandığı anlamına gelmez.

Bu nedenle test, kullanılan çağrı semantiğini, etkin privilege state'ini ve hedef hostu ayrı ayrı kaydetmelidir.

3. Defense & Detection / Savunma ve tespit

Telemetry scope

  • Audit Sensitive Privilege Use, Success ve Failure ayarları 4673/4674 olay ailesiyle ilişkilidir.
  • Backup/Restore privilege kullanımı için ayrıca Audit the use of Backup and Restore privilege ayarı gerekir.
  • Privilege-use olayları için nesne SACL'i temel gereksinim değildir.
  • Microsoft bu audit alt kategorisini yüksek hacimli olarak tanımlar; önce pilot kapsam gerekir.

Events and relevant fields

  • 4673: SubjectUserSid, SubjectUserName, SubjectDomainName, SubjectLogonId, ObjectServer, Service, PrivilegeList, ProcessId ve ProcessName.
  • 4674: subject alanlarına ek olarak ObjectType, ObjectName, HandleId ve AccessMask.
  • AccessMask, 4674'te decimal ve object server/type bağımlıdır; evrensel hak adına çevrilmemelidir.
  • 4673/4674 bir operation attempt sınıfını gösterir; tek başına DACL bypass edildiğini veya verinin okunduğunu kanıtlamaz.

Olayı sonuç değil deneme kanıtı olarak oku

4673/4674 kayıtları privilege kullanan operation attempt bağlamını sunabilir; ancak tek kayıttan DACL'in bypass edildiği veya hedef verinin elde edildiği sonucu çıkarılmaz.

SubjectLogonId ile session, ProcessName ile yürütücü ve hedefe özgü ek telemetri birlikte değerlendirilmelidir.

Detection logic · XPath

*[System[(EventID=4673 or EventID=4674)]]

Query assumptions

  • PrivilegeList alt filtresi, hedef backend'in alan temsilimi doğrulandıktan sonra eklenmelidir.
  • AccessMask nesne sunucusu ve türü bilinmeden evrensel bir hak adına çevrilmez.
  • Sorgu gerçek Windows hostunda çalıştırılmadı; veri kümesi ve eşik yoktur.

False positives

  • Backup yazılımı, güvenlik ürünü ve LSASS olağan hassas privilege kullanımı üretebilir.
  • Bu audit alt kategorisi yüksek hacimli olabilir.
  • Negatif sınır: audit kapalıysa olay yokluğu privilege kullanılmadığını göstermez.
  • 4673/4674 tek başına operasyonun başarıyla veri okuduğunu göstermez.

Hardening

  • SeBackupPrivilege, SeRestorePrivilege, SeDebugPrivilege ve SeImpersonatePrivilege atamalarını rol bazında sınırla.
  • Servis hesabı ile interaktif yönetici kullanımını ayır.
  • Success/Failure auditing'i önce pilot hostlarda aç; olay hacmini ve beklenen process listesini ölç.
  • Backup/Restore ek denetiminin hacim etkisini değerlendir; değişiklik sonrası uygulama işlevini doğrula ve kesinti halinde önceki assignment/audit politikasına dön.

Örnekler üzerinde oku / Read the examples

ÖRNEĞİ BİRLİKTE OKUYALIM

EĞİTİM İÇİN HAZIRLANDI

Hangi kayıt erişim, hangisi audit veya integrity kuralı?

DACL Allow ile Medium integrity No-Write-Up etiketi

01
Authenticated UsersA · Generic Read, Generic Write

İzin veren kayıt. Maske trustee’ye yönelik allow/deny kaydının kapsamıdır. İstek, token, sıra ve nesne türü incelenmeden effective access sonucu çıkarılmaz.

02
Medium Mandatory Level (ME)ML · No-Write-Up (NW)

Mandatory label kaydı. SACL’deki mandatory label, bir hesap/gruba izin veren DACL kaydı değildir. NW, daha düşük integrity context’inden yukarıya yazma kısıtını belirtir; burada MIC veya effective access hesaplanmaz.

03
Nesnenin sahibiLocal System

Bu bölüm security descriptor’ın bir parçasıdır. Owner, primary group, DACL ve SACL farklı bilgi taşır.

04
Primary groupLocal System

Bu bölüm security descriptor’ın bir parçasıdır. Owner, primary group, DACL ve SACL farklı bilgi taşır.

Buradan çıkaracağın fikir

Bir kuralı okumak ile “bu kişi kesin erişebilir” demek farklıdır. Erişim isteği, token, ACE sırası ve nesne türüyle birlikte değerlendirme gerekir.

Bu görünüm SDDL’deki kuralları açıklar; Windows’un erişim kararını çalıştırmaz. SACL audit ve mandatory label kurallarını taşır; izin veren DACL’in yerine geçmez.

Bu örneğin kapsamı

Sentetik ve parser tarafından ayrıştırılabilir SDDL'dir. O:SY ve G:SY owner/group olarak Local System'ı; D:(A;;GRGW;;;AU) Authenticated Users için generic read/write Allow ACE'sini; S:(ML;;NW;;;ME) Medium integrity mandatory label ve No-Write-Up politikasını gösterir. Low-integrity token DACL'de write görünse bile MIC nedeniyle yazamayabilir. Generic mapping, requested mask, inheritance ve gerçek token olmadan effective access hesaplanamaz; artifact UAC elevation veya user-right assignment kanıtı değildir.

Ham kaydı aç · SDDL
O:SYG:SYD:(A;;GRGW;;;AU)S:(ML;;NW;;;ME)

İki yanlış kanı / Two reality checks

Sanılan: DACL'de Allow varsa erişim kesin verilir.
Gerçekte: Mandatory Integrity Control DACL'den önce değerlendirilir. Low-integrity token, DACL yazmaya izin verse bile Medium mandatory label ve No-Write-Up politikası nedeniyle yazamayabilir.
Sanılan: Bir privilege sahibi olmak nesnede Full Control sahibi olmak demektir.
Gerçekte: Her privilege belirli operasyon ve kapsam içindir. Örneğin SeBackupPrivilege'ın belgelenmiş okuma etkisi diğer erişim isteklerini, başka hostları veya directory üyeliğini otomatik olarak kapsamaz.

SIRA SENDE

Bu hikâyeyi sen çöz.

Bilgiyi hatırlamaktan bir adım ileri: koşulu değiştir, kanıtı oku, kararın nedenini anlat.

1 / 5 · SONUCU TAHMİN ET

Tunahan Administrators üyesi; işlem filtered standard token kullanıyor. Hangisi doğru?

Bir cevap seç

Bir ipucu

Üyelik etiketiyle etkin token’ı birleştirme.

Cevabın gerekçesini oku

İşlem kullanılan token’ın kapsamıyla değerlendirilir; üyelik tek başına elevation sonucu değildir.

UAC token seçimi ayrı bağlamdır; etkin token incelenir.

2 / 5 · KANITI OKU

Bu yerel WRITE denemesinde DACL Allow neden tek başına yetmez?

Sentetik MIC/DACL karşılaştırması; Windows effective-access sonucu değildir.
Effective token integrity / Etkin token
Low
Object mandatory label / Nesne
Medium
Mandatory policy / Policy
No-Write-Up
DACL / İzin
Allow WRITE for relevant SID
Bir cevap seç

Bir ipucu

Integrity policy normal DACL yolundan önce değerlendirilir.

Cevabın gerekçesini oku

MIC No-Write-Up yazmayı engelleyebilir; DACL Allow bunu kaldırmaz.

Kontroller ayrı katmanlardır; DACL yalnız kendi requested-access değerlendirmesini yapar.

3 / 5 · OLAYLARI SIRALA

Normal yerel nesne erişiminde bu üç soruyu dependency sırasıyla diz.

  1. İstenen access mask uygulanabilir DACL ACE’leriyle karşılanıyor mu?
  2. Token integrity ile object mandatory policy uygun mu?
  3. İşlem/process/thread için hangi token etkin?

Bir ipucu

Bu sıralama privilege’a özgü ayrı operation yolunu anlatmıyor.

Cevabın gerekçesini oku
  1. İşlem/process/thread için hangi token etkin?
  2. Token integrity ile object mandatory policy uygun mu?
  3. İstenen access mask uygulanabilir DACL ACE’leriyle karşılanıyor mu?

Önce etkin context bilinir; normal yolda MIC ardından DACL değerlendirilir. Bu genel kontrol yolu her privilege için evrensel sıra iddiası değildir.

4 / 5 · SONUCU TAHMİN ET

Token’da SeBackupPrivilege bulunması nasıl yorumlanmalı?

Bir cevap seç

Bir ipucu

Atama, enabled state ve operasyon kapsamı üç ayrı koşuldur.

Cevabın gerekçesini oku

Belirli backup işlemleri için bounded kabiliyettir; kullanım koşulları ayrıca gerekir.

Bu privilege Full Control veya her nesnede her hakkı vermez.

5 / 5 · KENDİN ANLAT

“Log on as a service”, bir dosya READ izni ve token privilege’ı neden aynı hak değildir?

Bir ipucu

Giriş türü, hedef nesne ve özel görev kapsamını adlandır.

Cevabın gerekçesini oku

Logon right servis türü girişe izin/ret verir; dosya READ hedef nesnenin access right’ıdır; privilege belirli görev için token’da bulunan ve gerekirse enabled gereken kabiliyettir. Birinin verilmesi diğerlerini otomatik vermez.

  • Logon right’ı giriş türü policy’si olarak ayırdım.
  • Resource permission ve operation-specific privilege’ı ayrı kapsamlarla anlattım.

Açıklaman otomatik puanlanmaz. Kontrol noktalarını kendi cevabınla karşılaştır.

Vaka terminalini aç · PowerShell / CMD

Eğitim simülasyonu · Komutlar ve çıktılar bu vakaya aittir.

Bu oturumdaki hesabın adını ve SID’sini oku.

Hazır script’i değiştirmeden çalıştırabilir veya aşağıdaki günlük komutları deneyebilirsin.

WS01 · Windows PowerShell 5.1ÖRNEK OTURUM
IYELABS\tunahanstudent0204 · ders çalışma alanı

Ctrl / ⌘ + Enter: çalıştır · Shift + Enter: yeni satır

Merak edersen: günlük komutları dene

Bir komuta dokun, sonra Çalıştır’a bas. Kullanıcı ve ağ bilgileri seçili örnek bilgisayara göre değişir.

Bu pratikler öğrenme amaçlıdır; sertifika sınavının puanını etkilemez.

Kaynaklar / Sources