GPO’nun iki yarısı: GPC, GPT ve SYSVOL.
GPO, AD’deki GPC metadata’sı ile SYSVOL’daki GPT dosyalarının aynı policy GUID altında birleşmesidir; iki replication yolunu ve client okumasını birlikte düşünmeden “GPO uygulandı” denemez.
1. Core Mechanism / Temel mekanizma
GPO, AD içindeki Group Policy Container (GPC) metadata’sı ile SYSVOL üzerindeki Group Policy Template (GPT) dosyalarının birlikte oluşturduğu tek mantıksal nesnedir. GPO’nun hangi client kapsamına girdiği site/domain/OU üzerindeki link bağlamında belirlenir; bu link GPC’nin parçası değildir. Bir yarının güncellenip diğerinin eski kalması, istemcinin gördüğü politikayı değiştirebilir.
Arabirimler ve belirtimler
- Client, GPC için domain controller üzerindeki directory service ile konuşur.
- Client, GPT için SYSVOL içindeki domain\Policies\{GUID} yolunu okur.
- GPC ve GPT aynı policy GUID ile eşleştirilir; yalnız bir dosya yolu veya yalnız bir LDAP nesnesi GPO değildir.
- Policy ayarları registry, script veya security template gibi alt dosyalara ayrılır; her ayarın yolu ayrı değerlendirilir.
- Replication gecikmesi GPC ve GPT kopyalarının farklı zamanlarda görünmesine neden olabilir.
İki yarı, tek kimlik
GPC dizin tarafındaki container’dır; GPT SYSVOL tarafındaki dosya ağacıdır. Bunları policy GUID bağlar.
Bu ayrım, “GPO dosyadır” veya “GPO yalnızca LDAP nesnesidir” gibi kısa açıklamaları düzeltir.
Version ve eşleşme
Client, GPC metadata ile GPT içeriğinin sürüm ve konum bilgilerini karşılaştırarak hangi içeriği okuyacağını belirler. Bu, anlık bir sihir değil dağıtık okuma akışıdır.
Replication sınırı
AD replication GPC’yi, SYSVOL replikasyon hizmeti ise GPT’yi taşır; ortama göre SYSVOL’da DFSR veya eski FRS kullanılır. İki yolun aynı anda tamamlanmaması geçici uyumsuzluk üretebilir.
Okuma sonucu
GPO’nun etkisini anlamak için directory metadata, link ve GPT dosyalarını birlikte incelemek gerekir; tek bir export çıktısı diğer yarının sağlıklı olduğunu kanıtlamaz.
Durum ve veri akışı
- Başlangıç: aynı policy kimliğinin GPC ve GPT kopyaları DC-A ve DC-B’de bulunur. Bu örnek var olan GPO’daki değişikliği izler.
- Admin değişikliği DC-A’daki GPC metadata’sına yazar; DC-B’nin kopyası henüz aynı değildir.
- Aynı policy’nin GPT dosyası DC-A SYSVOL’da güncellenir. GPC ve GPT ayrı saklanır ve ayrı aktarılır.
- Client, site/domain/OU linklerinden aday GPO’yu bulur. Bu fixture’daki security filter uygulanabilirliği ayrı belirler.
- Client’ın seçtiği DC-B’deki GPC ve GPT kopyaları ayrı ayrı okunur; hangisinin güncel olduğu karşılaştırma koşuluna bağlıdır.
- İki sürüm karşılaştırılır. Eşitlik içerik işleme başarısı değildir; fark da kendiliğinden CSE failure kanıtı değildir.
- Uygulanabilir policy’nin CSE sonucu ve client değeri ayrıca incelenir. Buradaki başarı veya failure yalnız açık fixture gözlemidir.
- GPO’da tanımlanan değer, önceki client değeri ve gözlenen sonuç yan yana okunur. Eksik gözlemin yerine başarı veya failure yazılmaz.
2. Exploitation / İstismar
Broken trust assumption
GPO yayınlamak yalnızca bir setting kaydetmek değildir; directory metadata, SYSVOL içeriği, link ve client’ın okuyabileceği sürüm birlikte gerekir.
Technical prerequisites
- GPC nesnesi AD’de erişilebilir olmalı.
- GPT klasörü SYSVOL’da aynı policy GUID ile erişilebilir olmalı.
- Client ilgili domain/site/OU kapsamına ve gerekli read izinlerine sahip olmalı.
- Replication ve version bilgileri tutarlı olmalı.
Exploitation mechanism / İstismar mekanizması
Red tarafında risk, GPC ile GPT’nin aynı GUID altında farklı revizyonlarda kalması veya GPT okumasının engellenmesidir. Client GPO metadata ve link bağlamını bulsa bile GPT içeriğini okuyamazsa ilgili client-side extension ayarları işleyemeyebilir; başarılı directory write tek başına uygulama kanıtı değildir.
Arızanın sınırı
GPC var ama GPT yoksa client metadata görse de policy dosyalarını okuyamaz. GPT klasörü karşılık gelen GPC veya client kapsamındaki link olmadan da tek başına uygulanmaz.
İstismar düşüncesi
GPO yazma ve SYSVOL yazma yetkileri ayrı attack surface’lerdir. Bir hesabın GPC’yi okuyabilmesi onu değiştirebildiği veya GPT’ye yazabildiği anlamına gelmez.
3. Defense & Detection / Savunma ve tespit
Telemetry scope
- GPC object ve GPT klasörü aynı GUID ile eşleşiyor mu?
- AD ve SYSVOL replication gecikmesi var mı?
- Değişikliği yapan principal, hem directory hem dosya tarafında beklenen yetkiye sahip mi?
Events and relevant fields
- GPO değişiklikleri için directory service değişiklik audit’i ve SYSVOL dosya erişim/replication telemetrisi birlikte incelenir.
- GPC attribute değişikliği ile GPT içindeki dosya değişikliğinin zaman ve GUID korelasyonu aranır.
- Client tarafında policy processing sonucu, uygulanmayan ayarın hata nedeni ile birlikte değerlendirilir.
- Event ID veya alan anlamı, ilgili Windows sürümü ve audit policy ile doğrulanmadan kesinleştirilmez.
- Tek bir başarılı LDAP write, client’ın GPT’yi okuduğunu göstermez.
Blue telemetry
Blue tarafı GPC metadata ile GPT dosya hareketini aynı policy GUID ve zaman bağlamında birleştirir. Yalnız directory veya yalnız filesystem log’u eksik kanıt sağlar.
Savunma sınırı
Hedef “GPO değişti” demek değil; hangi yarının, kim tarafından, hangi client kapsamı için değiştiğini ve client’ın gerçekten ne okuduğunu ayırmaktır.
Detection logic · KQL
// Örnek şema: yalnız GUID ile aday eşleşme; zaman koşulu yok.
DirectoryChange | where AttributeName has "gPC" | join kind=inner (FileChange | where Path has "SYSVOL") on ObjectGuidQuery assumptions
- Dataset yok; query çalıştırılmadı.
- Alan adları örnek şemadır, Windows olay XML’i değildir.
- Join yalnız ObjectGuid ile eşleştirir; farklı zamanlarda yapılmış değişiklikler de eşleşebilir. Zaman yakınlığı arayacaksan önce timestamp alanlarını doğrula ve açık bir zaman sınırı koy. Eşleşme client uygulamasını kanıtlamaz.
False positives
- Meşru Group Policy yönetimi ve replication gecikmesi.
Hardening
- GPO yönetimini ayrı yönetici grupları ve değişiklik onayıyla sınırlandır.
- GPC ve GPT için read/write izinlerini ayrı ayrı gözden geçir.
- SYSVOL replication sağlığını ve policy processing başarısızlıklarını düzenli izle.
- GPO değişiklik audit’ini yeterli retention ile koru.
Örnekler üzerinde oku / Read the examples
ÖRNEĞİ BİRLİKTE OKUYALIM
EĞİTİM İÇİN HAZIRLANDIHangi GPC, hangi SYSVOL yolu ile ilişkilendirilmiş?
Sentetik GPO metadata değişikliği: GPC attribute ile GPT yolu aynı policy GUID’i gösterir
groupPolicyContainergroupPolicyContainer, directory tarafındaki GPC’dir; SYSVOL’daki dosya klasörü veya client setting’i değildir.
{11111111-2222-3333-4444-555555555555}Bu XML kesitinde alan adı ObjectGuid şeklindedir; ham yazımı korunur. GUID directory nesnesini tanımlar, path içindeki policy GUID’i başka bir referanstır.
gPCFileSysPathgPCFileSysPath değişikliğinin adı. Path’in bulunması GPT dosyalarının taşındığını, aynı version’a geldiğini veya client’ın okuduğunu göstermez.
\\outreason.example\SYSVOL\outreason.example\Policies\{11111111-2222-3333-4444-555555555555}Değer SYSVOL policy klasörüne işaret eden sentetik metindir. Object GUID ile path’teki policy GUID’i aynı türden oldukları için otomatik olarak eşitleme.
Bu kısmi 5136 kesiti GPC ve path referansını gösterir. OperationType, actor ve önceki değer yoktur; ekleme/silme yönünü veya GPT/client uygulama sonucunu bu zarftan çıkarmıyoruz.
Rehber bu sentetik örneğin seçilmiş alanlarını açıklar. Ham metni değiştirirsen genel okumaya dönülür; Windows işlemi veya olayın gerçekliği doğrulanmaz.
Bu örneğin kapsamı
Sentetik, elle üretilmiş Event XML’dir. Parser yalnız XML biçimini doğrular; GPC/GPT anlamını veya gerçek Windows davranışını doğrulamaz. UNC yolu ve GUID eğitim verisidir.
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:00:00.000000000Z"/><EventRecordID>91001</EventRecordID><Channel>Security</Channel><Computer>DC01.outreason.example</Computer><Security/></System><EventData><Data Name="ObjectClass">groupPolicyContainer</Data><Data Name="ObjectGuid">{11111111-2222-3333-4444-555555555555}</Data><Data Name="AttributeLDAPDisplayName">gPCFileSysPath</Data><Data Name="AttributeValue">\\outreason.example\SYSVOL\outreason.example\Policies\{11111111-2222-3333-4444-555555555555}</Data></EventData></Event>İki yanlış kanı / Two reality checks
- Sanılan: GPO yalnızca SYSVOL altında duran bir dosya klasörüdür.
- Gerçekte: GPT dosyaları yalnızca bir yarıdır; karşılık gelen GPC ve client’ı kapsayan site/domain/OU link bağlamı olmadan GPT klasörü uygulama kanıtı değildir.
- Sanılan: GPC değişikliği tamamlandıysa client kesinlikle yeni policy’yi okur.
- Gerçekte: GPC ve GPT replication’ı ayrı ilerleyebilir; client’ın iki yarıyı aynı GUID ve uygun sürümle okuyabildiği ayrıca doğrulanmalıdır.
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
GPO dosyaları SYSVOL’da güncellendi. Bu tek başına neyi kanıtlamaz?
Bir ipucu
GUID aynı olsa da GPC, GPT ve client sonucu ayrı.
Cevabın gerekçesini oku
WS01’in bütün GPO’yu başarıyla uyguladığını.
Doğru. GPC/GPT read, kapsam ve CSE sonucu ayrıca gerekir.
2 / 3 · KANITI OKU
Bu read snapshot’larından hangi yorum desteklenir?
- GPO kimliği / GPO identity
- GPO-R1 — teaching label
- Client’ın seçtiği DC / Client-selected DC
- DC02
- GPC user version read
- 7
- GPT user version read
- 6
- CSE sonucu / CSE outcome
- not observed
Bir ipucu
Sürüm farkını CSE failure sonucu yerine koyma.
Cevabın gerekçesini oku
İki read sürümü farklı; CSE sonucu bilinmiyor.
Doğru. Eşleşme de tek başına processing başarısını kanıtlamaz.
3 / 3 · KENDİN ANLAT
Tunahan’a “bir GPO, iki depo, ayrı client sonucu” cümlesini somutlaştır.
Bir ipucu
AD metadata’sı, SYSVOL dosyası ve WS01 CSE.
Cevabın gerekçesini oku
GPC AD’deki metadata’dır, GPT SYSVOL’daki dosyalardır; aynı GPO kimliğiyle ilişkilidirler ama ayrı replication yolları vardır. WS01’in seçtiği DC’den ikisini okuması ve ilgili CSE’nin ayarı işlemesi ayrı kanıt ister.
- GPC’yi AD’de, GPT’yi SYSVOL’da konumlandırdım.
- İki delivery yolu ile client sonucunu ayırdı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 · Group Policy overview
GPO bileşenleri ve kimliği: AD’de GPC + SYSVOL’da GPT; GPC ve GPT replikasyonu ayrı mekanizmalarda (AD replication ve SYSVOL’de FRS/DFSR). Link/scope site/domain/OU bağlamında kurulur. - Microsoft Open Specifications · [MS-ADTS]: Group Policy
GPC, Group Policy container’ının AD’deki directory metadata temsiline örnektir; link/scope site, domain veya OU üzerindeki ayrı link attribute’larıyla kurulur. - Microsoft · Group Policy processing
LSDOU sırası, inheritance, filtering ve loopback işleme modeli. - Microsoft Open Specifications · [MS-GPOL] Cache of GPO Versions
GPO GUID başına ayrı GPO Container Version (AD) ve GPO File System Version (SYSVOL) cache edilir; client bunları sonraki processing sırasında karşılaştırabilir.