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

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ışı

  1. 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.
  2. Admin değişikliği DC-A’daki GPC metadata’sına yazar; DC-B’nin kopyası henüz aynı değildir.
  3. Aynı policy’nin GPT dosyası DC-A SYSVOL’da güncellenir. GPC ve GPT ayrı saklanır ve ayrı aktarılır.
  4. Client, site/domain/OU linklerinden aday GPO’yu bulur. Bu fixture’daki security filter uygulanabilirliği ayrı belirler.
  5. 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.
  6. İ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.
  7. Uygulanabilir policy’nin CSE sonucu ve client değeri ayrıca incelenir. Buradaki başarı veya failure yalnız açık fixture gözlemidir.
  8. 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 ObjectGuid

Query 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 HAZIRLANDI

Hangi 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

01
Directory nesnesinin türügroupPolicyContainer

groupPolicyContainer, directory tarafındaki GPC’dir; SYSVOL’daki dosya klasörü veya client setting’i değildir.

02
Directory nesnesinin GUID’i{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.

03
GPC’nin GPT yol referansıgPCFileSysPath

gPCFileSysPath 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.

04
Kaydedilen path metni\\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.

Buradan çıkaracağın fikir

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 cevap seç

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?

Yeni sentetik pratik örneği; ders artifact’inden bağımsızdır.
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 cevap seç

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.

WS01 · Windows PowerShell 5.1ÖRNEK OTURUM
IYELABS\tunahanstudent0901 · 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