Bir GPO’yu düzenlemek, linklemek ve uygulamak: Ayrı izinler, ayrı etki alanları.
Bir GPO'nun adı tek olsa da etkisini belirleyen üç ayrı yüzey vardır: Active Directory'deki Group Policy Container (GPC), SYSVOL'deki Group Policy Template (GPT) ve hedef Site/Domain/OU üzerindeki gPLink. Birini düzenleme hakkı, diğerini değiştirme veya o GPO'yu yeni bir OU'ya bağlama hakkı değildir. Bu ders, outreason.example'da bir GPO'nun içeriğini değiştirebilen, SYSVOL yazabilen ve bir OU'ya link ekleyebilen principal'ları ayrı ayrı ele alır; ardından her değişiklik için hangi kanıtın directory'de, hangi kanıtın dosya sisteminde aranacağını gösterir.
1. Core Mechanism / Temel mekanizma
GPO iki eş bileşene ayrılır: Active Directory'deki GPC ve SYSVOL'deki GPT. GPO'nun bir hedefe uygulanma ilişkisi ise GPO üzerinde değil, hedef Site/Domain/OU (SOM) nesnesinin gPLink özniteliğinde yaşar. Bu dersin sınırı, bu üç yerdeki delegation'ın etkisidir: LSDOU/filtering sonucu 09.02'de, client'ın neden uygulamadığı ve version/CSE teşhisi 09.05'te incelenir.
Arabirimler ve belirtimler
- GPC: Active Directory'de CN={GPO-GUID},CN=Policies,CN=System,DC=outreason,DC=example altında bulunan directory nesnesidir; GPO metadata ve extension listeleri burada tutulur.
- GPT: SYSVOL içindeki Policies\{GPO-GUID} dizinidir; policy dosyaları ve GPT.INI bu dosya sistemi yüzeyindedir.
- gPLink: Site, domain veya OU (SOM) nesnesinin özniteliğidir; bir GPO'yu hedefe bağlayan ilişki burada tutulur, GPC üzerinde değildir.
- GPC DACL'i üzerinde yazma hakkı yalnız directory tarafını kapsar; GPT/SYSVOL ACL'i ayrı değerlendirilir.
- Bir OU'nun DACL'i üzerinde gPLink'i yazabilen principal, GPO içeriğini düzenlemese bile mevcut bir GPO'yu o OU'ya bağlayarak kapsamını değiştirebilir.
- Bir ACE'nin varlığı tek başına effective access sonucu değildir; token, inherited ACE'ler, requested right ve diğer ACE'lerle birlikte AccessCheck değerlendirilir.
Tek GPO, üç ayrı kontrol noktası
GPO'yu 'tek dosya' veya 'tek AD nesnesi' gibi düşünmek delegation hatasına yol açar. GPC, Active Directory'deki metadata yüzüdür; GPT ise SYSVOL'de duran dosya yüzüdür. İstemci policy işlediğinde bu iki bileşenin uyumlu bir sürümünü okumaya ihtiyaç duyar.
Üçüncü yüzey linktir. Bir GPO'nun içeriği değişmese bile, finance OU'nun gPLink özniteliğine o GPO eklenirse kapsam değişir. Tersine, GPO editörü GPC/GPT'yi değiştirebilir ama OU'da gPLink yazma hakkı yoksa yeni hedef seçemez.
Bu ayrım hem change-control hem de incident response için pratiktir: 'kim GPO'yu değiştirdi?' sorusu GPC ve SYSVOL'u; 'kim bunu bu OU'ya uygulattı?' sorusu ise OU üzerindeki gPLink'i araştırır.
Edit, link ve apply aynı permission değildir
Edit etkisi iki yüzeyde tamamlanır. GPC üzerinde yazabilen bir principal directory metadata'sını değiştirebilir; ancak GPT/SYSVOL tarafına yazamıyorsa policy dosyasını aynı şekilde yönetemez. Bu yüzden yalnız GPMC'de görünen delegation etiketine bakmak yerine GPC DACL'i ile ilgili GPT dizininin ACL'ini birlikte incelemek gerekir.
Link yetkisi hedef SOM'un DACL'inde aranır. gPLink o OU'nun özniteliği olduğundan, GPO nesnesinde geniş hak bulunması otomatik olarak yeni bir OU'ya link ekleme hakkı vermez. Buna karşılık OU üzerinde gPLink'i değiştirebilen bir principal, düzenleme hakkı olmadığı mevcut bir GPO'nun kapsama alanını değiştirebilir.
Apply farklı bir sorudur: GPO'nun ilgili user/computer'a uygulanması link, inheritance, security filtering, WMI filter ve client-side processing gibi koşullara bağlıdır. Bir GPO'yu linkleyebilmek, belirli bir kullanıcının policy'yi kesin aldığı veya bir CSE'nin başarılı çalıştığı anlamına gelmez.
Artifact: GPC DACL'i bir OU DACL'i değildir
İlk artifact sentetik bir GPC DACL parçasıdır. Gpo-Editors grubuna Generic Write veren ACE, yalnız örnek GPC nesnesindeki directory yazma yüzeyini temsil eder. Parser ACE'i ve right token'ını gösterir; gerçek şema GUID'lerini çözmez, inheritance hesaplamaz ve effective access kararı vermez.
İkinci artifact, ayrı OU nesnesindeki gPLink değişimi için sentetik bir 5136 zarfıdır. ObjectDN'nin OU'yu, AttributeLDAPDisplayName'in gPLink'i göstermesi değişimin link yüzeyinde olduğunu anlatır. 5136 ancak uygun Directory Service Changes auditing/SACL kapsamı olduğunda bir gözlem noktasıdır; SYSVOL dosya değişikliğinin kanıtı değildir.
Durum ve veri akışı
- Üç yüzeyi bul: AD’de GPC, SYSVOL’de GPT ve hedef SOM üzerindeki gPLink. Link nesnesi GPO içeriğinden ayrıdır.
- Örnek rolü seç. Her yüzeydeki hak ayrı tanımlanır; model token’dan AccessCheck sonucu hesaplamaz.
- GPC ve GPT yazma yetkisini karşılaştır. Bir yüzeydeki izin diğerini vermez; burada yazma işlemi çalıştırılmaz.
- OU=Finance üzerindeki link yetkisini ayrıca incele. Yalnız link yetkisi içerik düzenleme hakkı vermez; içerik düzenleme hakkı yeni hedefe link yetkisi vermez.
- Read/Apply, WMI ve CSE sonucunu ayrı client koşulları olarak tut. Rolün yetkisi, uygulama kanıtı değildir.
- Directory attribute, SYSVOL dosyası ve client sonucu gözlemlerini karşılaştır. 5136 directory değişimini anlatır; diğer ikisini kanıtlamaz.
2. Exploitation / İstismar
Broken trust assumption
GPO delegation'ı tek bir 'edit GPO' iznine indirgenebilir ve GPO'yu değiştiren principal, onu hedef OU'ya da bağlayabilir.
Technical prerequisites
- Bir principal'ın ilgili GPC, GPT veya hedef SOM üzerinde yazma sağlayan effective access'e sahip olması gerekir; yalnız grup adından sonuç çıkarılamaz.
- Etkili bir policy değişikliği için GPC/GPT bütünlüğü ve istemcinin normal policy processing koşulları ayrıca sağlanmalıdır.
- Link etkisi için hedef OU'da gPLink değişikliği gerekir; GPO içeriğini değiştirmek tek başına yeni kapsam yaratmaz.
Exploitation mechanism / İstismar mekanizması
Yetki yüzeyi yanlış genişletildiğinde principal, sahip olduğu yüzeye göre farklı bir sonuç üretir: GPC/GPT editörü policy içeriğini; OU'da gPLink yazabilen principal ise mevcut bir GPO'nun hedef kapsamını değiştirir. Bu iki mekanizma birleştirilebilirse etki daha geniş olabilir; bu ders bunun otomatik domain compromise olduğu iddiasını yapmaz.
Etki zincirini yüzeye göre sınırla
GPC veya GPT üzerinde write yetkisi, policy içeriğinin güven sınırını değiştirir; fakat bunun etkisi o GPO'nun nerelere linkli olduğuna, hangi filtreleri geçtiğine ve ilgili CSE'nin hangi ayarı işlediğine bağlıdır. Bu nedenle 'GPO write = tüm domain' kısa devresini kullanmayın.
OU üzerinde gPLink yazma, mevcut bir GPO'yu o OU'ya bağlayabilir ya da bağlantıyı kaldırabilir. GPO'nun içerik ACL'i değişmemiş olsa bile bu, hedef popülasyonu değiştiren ayrı bir change-control olayıdır. Önce GPO GUID'i, sonra o GUID'in GPC/GPT içeriği ve target OU kapsamı birlikte değerlendirilmelidir.
Kırık varsayımı durduracak kontroller
GPO edit delegation'ını GPC ve GPT için en az ayrı gruplar/rollerle verin; link delegation'ını da yalnız doğru OU sahiplerine sınırlayın. Bu, tek bir yardım masası grubunun hem içerik hem hedef seçmesini önler.
Geniş inherited write ACE'lerini ve genel amaçlı yönetim gruplarını doğrudan GPO/SOM yüzeylerinden kaldırmadan önce pilot OU'da effective access ve operasyon ihtiyacını inceleyin. Salt bir SDDL parse sonucu, hangi kullanıcıya izin verildiğinin kanıtı değildir.
3. Defense & Detection / Savunma ve tespit
Telemetry scope
- Directory Service Changes audit alt kategorisi ve ilgili SACL, GPC veya SOM öznitelik değişikliklerini Security 5136 ile gözlemlemek için ayrı önkoşullardır.
- 5136 ObjectDN, ObjectClass, AttributeLDAPDisplayName, AttributeValue, OperationType ve Subject alanlarını taşır; bunlar directory değişikliğini bağlamlar.
- SYSVOL/GPT dosya değişikliği ayrı bir dosya sistemi/replication gözlem yüzeyidir; 5136 onu tek başına kanıtlamaz.
Events and relevant fields
- Security 5136: GPC veya OU gibi directory nesnesinde izlenen attribute değişimi.
- GPC için ObjectDN altında CN={GPO-GUID},CN=Policies,CN=System; link için ObjectDN altında hedef OU ve AttributeLDAPDisplayName=gPLink ayrımı aranır.
- Event 5136'nın yokluğu, auditing/SACL veya collection kapsamı bilinmeden 'değişiklik olmadı' sonucu vermez.
Bir directory olayı neyi, neyi söylemez
5136'nın güçlü yanı, bir directory attribute'un hangi object üzerinde ve hangi subject bağlamında değiştiğini göstermesidir. GPC metadata değişiminde GPO GUID'ini; OU link değişiminde AttributeLDAPDisplayName=gPLink'i arayabilirsiniz.
Ancak GPO'nun dosya yüzeyi SYSVOL'dedir. Bir GPC olayı, GPT içeriğinin de aynı anda değiştiğini kanıtlamaz; bir OU gPLink olayı da client'ın policy'yi uyguladığını göstermez. Olayları bu sınırları koruyarak korele edin.
Önce sınırı, sonra anomaliliği kur
Yüksek sinyal için önce normal GPO editörlerini, normal deployment pencerelerini, hedef OU'ları ve otomasyon hesaplarını envantere alın. Ardından beklenmeyen subject + kritik GPO GUID + geniş OU kapsamı birleşimine bakın.
Tespit kararı change kaydı, GPC/GPT sürüm ve dosya izi, gPLink değişimi ve istemci tarafı sonuçlarıyla desteklenmelidir. Bir ACE veya tek bir 5136 olayı tek başına başarısız/başarılı policy uygulamasını ispatlamaz.
Detection logic · XPath
*[System[Provider[@Name='Microsoft-Windows-Security-Auditing'] and EventID=5136] and EventData[Data[@Name='AttributeLDAPDisplayName']='gPLink']]Query assumptions
- Security kanalı için Windows Event Log’un XPath alt kümesine göre hazırlanmış aday selector. Eşleşen Event öğelerini seçer; tek bir Data düğümünü değil. Tarayıcı parser’ı XML’i okur, bu selector’ı çalıştırmaz. Native Windows sorgusu denenmedi.
- Üretimde yalnız 5136 toplamak yeterli değildir: GPC/SOM SACL kapsamı ve SYSVOL dosya telemetry'si ayrıca doğrulanmalıdır.
- ObjectDN/GPO GUID bağlamı olmadan gPLink değişikliği bir risk etiketi değildir.
False positives
- Onaylı OU reorganizasyonu veya rollout sırasında yapılan meşru link değişiklikleri.
- GPO yönetim otomasyonu tarafından yürütülen, change ticket ile eşleşen değişiklikler.
Hardening
- GPC, GPT ve gPLink delegation envanterini ayrı çıkarın; aynı principal'ın üç yüzeydeki effective access'ini change-control kapsamında gözden geçirin.
- GPC/SOM için hedefli SACL ve SYSVOL için uygun dosya telemetry'si tasarlayın; hacim, retention ve privacy etkisini pilotta ölçün.
- Yüksek etkili GPO ve kritik OU linkleri için iki kişi onayı, dar rol üyeliği ve geri dönüş planı kullanın.
Örnekler üzerinde oku / Read the examples
ÖRNEĞİ BİRLİKTE OKUYALIM
EĞİTİM İÇİN HAZIRLANDIHangi kayıt erişim, hangisi audit veya integrity kuralı?
GPC DACL parçası — Gpo-Editors için Generic Write (synthetic, outreason.example)
A · 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.
Built-in AdministratorsBu bölüm security descriptor’ın bir parçasıdır. Owner, primary group, DACL ve SACL farklı bilgi taşır.
Built-in AdministratorsBu bölüm security descriptor’ın bir parçasıdır. Owner, primary group, DACL ve SACL farklı bilgi taşır.
(A;;GW;;;S-1-5-21-1109110911-2202220222-3303330333-6703)Bu bölüm security descriptor’ın bir parçasıdır. Owner, primary group, DACL ve SACL farklı bilgi taşır.
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 GPC DACL parçası. Tek ACCESS_ALLOWED ACE, sentetik Gpo-Editors grubuna Generic Write (GW) verir. Bu artifact bir GPC nesnesi örneğidir; OU'nun gPLink ACL'i veya GPT/SYSVOL ACL'i değildir. Parser ACE token'larını ayrıştırır; AD şemasını, inheritance'ı ya da effective AccessCheck sonucunu değerlendirmez.
Ham kaydı aç · SDDL
O:BAG:BAD:(A;;GW;;;S-1-5-21-1109110911-2202220222-3303330333-6703)ÖRNEĞİ BİRLİKTE OKUYALIM
EĞİTİM İÇİN HAZIRLANDIOU link’i mi, GPO içeriği mi değişmiş?
OU gPLink directory değişimi — Security 5136 zarfı (synthetic, outreason.example)
OU=Finance,DC=outreason,DC=exampleBu DN, gPLink’i değişen OU’yu gösterir. GPO’nun GPC nesnesi değildir.
organizationalUnitorganizationalUnit, bu örnekte link’in OU üzerinde olduğunu destekler.
gPLinkgPLink bir scope bağlantısıdır; SYSVOL dosya içeriğini göstermez.
%%14674%%14674, 5136 mesajında Value Added karşılığıdır. Tek kayıt, önceki değeri veya bütün değişiklik dizisini göstermez.
[LDAP://cn={4F3A1A9E-8D25-4B1C-9A06-0C0F0E090303},cn=policies,cn=system,DC=outreason,DC=example;0]Link değeri GPO DN’ini içeriyor. GPO dosyalarının değiştiği veya client’ta uygulandığı buradan çıkarılmaz.
gpo-link-operatorBu kaydın subject hesabıdır; ad tek başına gerçek kişiyi veya niyeti belirlemez.
Örnek, OU üzerindeki gPLink için Value Added kaydıdır. GPC/GPT değişikliği ve client uygulama sonucu ayrı kanıt ister. Eksik event, değişiklik olmadığı anlamına gelmez; audit policy, uygun SACL ve collection gerekir.
Burada bir örnek kaydı okuyoruz. Windows’a bağlanmıyoruz; olayın gerçekten yaşandığını veya saldırı olduğunu doğrulamıyoruz.
Bu örneğin kapsamı
Sentetik Security 5136 olayı. ObjectDN hedef OU'yu ve AttributeLDAPDisplayName=gPLink link yüzeyini gösterir; AttributeValue içindeki GUID örnektir, canlı GPO kaydı değildir. 5136 alan adları Microsoft denetim belgesine dayanır. Olay, uygun audit/SACL varsa directory attribute değişimini gösterir; GPT/SYSVOL dosya değişimi veya client uygulama başarısı değildir.
Ham kaydı aç · EVENT-XML
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event"><System><Provider Name="Microsoft-Windows-Security-Auditing"/><EventID>5136</EventID><Version>0</Version><Level>0</Level><Task>14081</Task><Opcode>0</Opcode><Keywords>0x8020000000000000</Keywords><TimeCreated SystemTime="2026-10-01T10:15:00.0000000Z"/><EventRecordID>9031</EventRecordID><Channel>Security</Channel><Computer>dc1.outreason.example</Computer></System><EventData><Data Name="SubjectUserName">gpo-link-operator</Data><Data Name="ObjectDN">OU=Finance,DC=outreason,DC=example</Data><Data Name="ObjectClass">organizationalUnit</Data><Data Name="AttributeLDAPDisplayName">gPLink</Data><Data Name="AttributeValue">[LDAP://cn={4F3A1A9E-8D25-4B1C-9A06-0C0F0E090303},cn=policies,cn=system,DC=outreason,DC=example;0]</Data><Data Name="OperationType">%%14674</Data></EventData></Event>İki yanlış kanı / Two reality checks
- Sanılan: Bir GPO'yu düzenleme izni olan kişi onu istediği OU'ya da bağlayabilir.
- Gerçekte: GPO içeriği GPC/GPT yüzeylerinde, link ilişkisi ise hedef SOM'un gPLink özniteliğinde bulunur. GPO edit delegation'ı ile OU üzerinde gPLink yazma delegation'ı farklı nesnelerde ayrı access check'lerdir; ikisi ancak ayrıca verilmişse birleşir.
- Sanılan: Security 5136 gördüysem GPO değişikliğinin tamamını ve client'lara uygulandığını kanıtladım.
- Gerçekte: 5136, uygun auditing/SACL kapsamında bir directory attribute değişimini gösterir. SYSVOL/GPT dosya tarafı ve client-side extension sonucu ayrı kanıt yüzeyleridir; gPLink değişikliği de tek başına uygulanmış policy sonucu değildir.
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 / 3 · SONUCU TAHMİN ET
GPC üzerinde edit hakkı olan rolün WS01’in OU’sunda yeni gPLink yazabildiği söylenebilir mi?
Bir ipucu
Hak hangi nesne üzerinde?
Cevabın gerekçesini oku
Hayır; hedef OU’daki link hakkı ayrıca değerlendirilir.
Doğru. GPT dosya yazımı ve client Apply koşulları da ayrı yüzeylerdir.
2 / 3 · KANITI OKU
Bu zarf tek başına hangi sonucu desteklemez?
- EventID
- 5136
- Computer
- DC01.iyelabs.example
- ObjectDN
- OU=Workstations,DC=iyelabs,DC=example
- AttributeLDAPDisplayName
- gPLink
Bir ipucu
Directory attribute ile SYSVOL ve client processing’i ayır.
Cevabın gerekçesini oku
WS01’de ayarın uygulandığı sonucunu.
Doğru. 5136 link configuration değişimini gösterebilir; CSE sonucu değildir.
3 / 3 · KENDİN ANLAT
GPC editor, GPT writer ve OU link yöneticisi rollerini tek cümleyle ayır.
Bir ipucu
Metadata, dosya ve hedef bağlantısı.
Cevabın gerekçesini oku
GPC editor AD metadata’sını, GPT writer SYSVOL dosyalarını, OU link yöneticisi hedef OU’nun gPLink’ini ayrı yetkilerle yönetir; bu rollerden hiçbirinin hakkı tek başına WS01’de ayarın uygulandığını göstermez.
- Her yetkiyi kendi nesnesine yerleştirdim.
- Configuration değişimini client sonucu yerine koymadı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.
Yerel task kaydını oku. Ready, çalıştığı anlamına gelmez.
Hazır script’i değiştirmeden çalıştırabilir veya aşağıdaki günlük komutları deneyebilirsin.
Ctrl / ⌘ + Enter: çalıştır · Shift + Enter: yeni satır
PS C:\Users\tunahan>
Uzun çıktı: terminalin içinde kaydırarak devamını oku.
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 oturumdaki son komutlar
Bu pratikler öğrenme amaçlıdır; sertifika sınavının puanını etkilemez.
Kaynaklar / Sources
- Microsoft Open Specifications · [MS-GPOD]: Group Policy: Core Protocol
GPC'nin Active Directory'de, GPT'nin SYSVOL'de bulunması ve GPO linkinin SOM üzerindeki gPLink özniteliğinde tutulması. - Microsoft · 5136(S): A directory service object was modified
Directory Service Changes audit; ObjectDN, ObjectClass, AttributeLDAPDisplayName, AttributeValue, OperationType ve Subject alanları. - Microsoft · Access control
DACL/ACE'lerin object access check bağlamında değerlendirilmesi; sentetik SDDL artifact'i effective access sonucu değildir. - Consuming Events / XPath limitations · Microsoft Learn
Event selectors / XPath1.0 limitations