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

Writable DC, Global Catalog ve RODC: Yetki, veri ve parola önbelleği farkları.

Writable DC, Global Catalog (GC) ve Read-Only Domain Controller (RODC) tek bir rol seçeneğinin üç adı değildir. Writable/read-only, bir DC'nin dizin değişikliğini kabul etme modelidir; GC, forest çapında partial replica ve arama rolüdür; RODC Password Replication Policy (PRP) ise hangi hesap sırlarının o RODC'de önbelleğe alınabileceğini ayrı olarak sınırlar. Bu ders bu üç ekseni ve bağlantı yokken oluşan sonucu ayırır.

1. Core Mechanism / Temel mekanizma

Bir DC'yi seçerken üç soruyu ayrı yanıtla: hangi veriyi arayacak, hangi değişikliği kabul edebilecek ve hangi hesapların parola bilgisi yerelde cache'lenebilecek? GC forest çapındaki aramayı sağlar; bu rol hem writable DC'de hem RODC'de bulunabilir. GC olması RODC'nin tuttuğu naming context'leri yazılabilir hale getirmez. RODC'de parola cache kapsamını ayrıca PRP belirler.

Arabirimler ve belirtimler

  • Writable DC, directory değişikliklerini kabul eden ve AD replikasyonu ile diğer writable DC'lere yayan rolü ifade eder. Bu, GC arama kapsamı veya istemci cache'iyle aynı eksen değildir.
  • Writable bir GC DC, schema/configuration ve kendi domain naming context'lerini full writable replica olarak; diğer domain'leri partial read-only replica olarak tutar. GC rolü taşıyan bir RODC'de ise kendi domain kopyası da read-only kalır. GC arama kapsamı ile write path ayrı özelliklerdir.
  • RODC, AD DS'nin read-only kopyasını barındırır. PRP, hangi kullanıcı ve bilgisayar hesaplarının parola bilgisinin RODC'de cache'lenmesine izin verilebileceğini allow/deny kurallarıyla belirler.
  • RODC'de gerekli sır cache'de değilse doğrulama için writable DC'ye başvurulur. Bu bağımlılık ulaşılamazsa, yalnız RODC'nin varlığı kesintisiz kimlik doğrulama garantisi vermez.

Arama, yazma ve parola cache’i

Writable DC normal dizin değişikliklerini kabul edebilir; RODC'nin domain kopyası read-only'dir. GC ise başka bir soruyu yanıtlar: forest çapında hangi nesne ve attribute'lar aranabilir? Bir DC hem writable hem GC olabilir; bir RODC de GC olabilir.

Writable bir GC'nin kendi domain'i full writable replica'dır; başka domain'ler için partial read-only replica tutar. Aynı GC rolünü RODC'ye eklediğinde kendi domain'i yazılabilir hale gelmez. Örneğin şubedeki RODC+GC bir kullanıcıyı aramada bulabilir, fakat kullanıcının dizin kaydındaki değişiklik writable DC'de yapılır ve RODC'ye replicate edilir. Arama sonucu, write yeteneğinin kanıtı değildir.

PRP izin ile cache gerçeğini ayırır

RODC Password Replication Policy, bir hesabın parolasının o RODC'ye cache'lenmesine izin verilip verilmeyeceğini belirler. Allow list'te olmak, belirli anda sırrın mutlaka cache'de olduğu anlamına gelmez; bu izinle gerçek cache durumu ayrı envanter sorusudur. Deny list, ayrıcalıklı veya riskli hesapların şube cihazında tutulmasını engellemek için önemlidir.

Sır cache'de değilse RODC doğrulama için writable DC'ye başvurur. WAN kesilince bu yol çalışmayabilir. Sırın cache'de olması ise başka bir bağımlılığı ortadan kaldırmaz: çok domain'li forest'ta logon sırasında universal group üyelikleri de belirlenmelidir. Şubede erişilebilir bir GC — RODC üzerindeki GC rolü dahil — veya site'ta etkin, ilgili kullanıcının üyeliklerini daha önce cache'lemiş UGMC gerekir. UGMC'yi etkinleştirmek, o kullanıcının bilgisinin hazır olduğu anlamına gelmez.

Tek domain'li forest'ta authentication için ayrıca GC'ye başvurma koşulu aynı değildir: tüm DC'ler bu amaçla virtual GC gibi davranır; GC portunda arama sunmak yine GC rolünü gerektirir. Çok domain'li şube örneğini her topolojiye aynı şekilde uygulama. DNS/DC discovery, hesap durumu ve kullanılan logon yolu da ayrıca değerlendirilir. İstemcinin cached interactive logon'ı, RODC'nin domain authentication yapmasıyla aynı işlem değildir.

Veri kapsamı ile güven sınırını karıştırma

GC'nin partial attribute set'i, tüm forest nesnelerini bulma işini kolaylaştırır; bir nesnenin tam attribute kümesine sahip olduğu anlamına gelmez. Bu nedenle bir arama sonucu, yönetim veya erişim kararının tam kanıtı sayılmamalıdır. Eksik attribute için full replica tutan DC'ye bağlı okuma gerekir.

RODC kullanımı fiziksel güvenlik riskini azaltmaya yönelik bir tasarım aracıdır, bütün kimlik riskini ortadan kaldıran bir sınır değildir. PRP, delegated local administration ve writable DC bağımlılığı birlikte tasarlanmalıdır. Bir rol adı yerine hangi hesabın nerede cache'lenebileceği ve hangi işlem için writable DC gerektiği belgelenmelidir.

Durum ve veri akışı

  1. Bir uygulama forest çapında kullanıcı aradığında GC partial replica üzerinden nesneyi bulabilir; istenen attribute GC'de değilse object DN ile full replica tutan DC'ye ek okuma gerekir.
  2. Bir şube istemcisi RODC'ye kimlik doğrulama isteği gönderir. Hesabın sırrı bu RODC'de cache'de değilse RODC writable DC'ye yönelir; bağlantı varsa doğrulama devam edebilir.
  3. PRP izin veriyor ve sır daha önce cache'lenmişse RODC bu sırla yerelde doğrulama yapabilir. Ancak bu, domain logon'ın bütün koşullarının hazır olduğunu göstermez. Çok domain'li bir forest'ta universal group üyelikleri için erişilebilir GC veya site'ta ilgili kullanıcı için önceden doldurulmuş UGMC de gerekir; allow list tek başına cache kanıtı değildir.
  4. Bir dizin değişikliği gerektiğinde write path writable DC'ye gider. GC arama rolü veya RODC'nin yerel cache'i, yazılabilirlik kanıtı değildir.

2. Exploitation / İstismar

Broken trust assumption

Şubedeki RODC'nin varlığının tüm kullanıcılar için bağlantısız kimlik doğrulama sağladığı ve GC rolünün yazılabilirlik ya da parola cache davranışını belirlediği varsayımı.

Technical prerequisites

  • İlgili hesap için PRP'nin sonucu, hesabın türü ve o RODC'deki gerçek cache durumu bilinmiyordur.
  • Şube ile writable DC arasındaki bağlantı kesilebilir veya gecikebilir.
  • Tasarım belgesi GC, writable DC ve RODC etiketlerini aynı kapasite tablosunda birbirinin alternatifi gibi kullanır.

Exploitation mechanism / İstismar mekanizması

Bu varsayım, bağlantı kesildiğinde beklenmeyen authentication failure üretir veya uygun olmayan sırların şube RODC'sinde cache'lenmesine yol açar. Ayrıca GC arama sonucunu tam attribute ya da write-path kanıtı saymak yanlış yetki/müdahale kararlarına neden olur. Risk, rol adından değil rolün hangi veri, write path ve cache kararını gerçekten kapsadığından değerlendirilir.

Şube dayanıklılığı bir cache envanteri gerektirir

RODC'yi şubeye koymak, her domain hesabının bağlantısız çalışacağı anlamına gelmez. PRP tarafından izin verilmeyen veya henüz cache'e düşmemiş bir hesap, writable DC erişimine bağımlı kalır. Bu durum özellikle ayrıcalıklı hesaplar için çoğu zaman kasıtlıdır; kolaylık adına cache kapsamını genişletmek güvenlik sınırını değiştirir.

Bu ders kimlik materyali çıkarmayı veya cache'i zorlamayı öğretmez. Savunma açısından doğru soru, hangi hesapların hangi şube RODC'sinde cache'lenmesine izin verildiği, hangilerinin gerçekten cache olduğu ve bağlantı kesintisinde hangi iş akışının kabul edilebileceğidir.

Arama sonucu karar sonucu değildir

GC bir nesneyi bulabilir ama partial attribute set, tam nesne veya yetki kararının bütün girdilerini içermez. GC sonucu üzerinden tam attribute ya da yazılabilir DC varsaymak, eksik veriyle yönetim kararı vermektir.

Benzer biçimde, bir DC'nin GC rolünü taşıması onu RODC yerine writable veya writable yerine RODC yapmaz. Tasarım incelemesinde her sunucu için GC durumu, writable/read-only durumu, PRP kapsamı ve writable DC bağımlılığı ayrı satırlarda tutulmalıdır.

3. Defense & Detection / Savunma ve tespit

Telemetry scope

  • Her DC için writable/read-only durumu, GC rolü, site, bağlı writable DC yolu ve RODC ise PRP allow/deny ile gerçek cached-account envanteri ayrı kaydedilmelidir.
  • GC sorgu sonucunu full attribute kanıtı sayma. İstenen attribute partial attribute set'te değilse object DN ve full replica okunması gereken ayrı kanıttır.
  • Şube kesinti incelemesinde PRP sonucu ile gerçek password cache'i ayrı doğrula. Cache miss varsa writable DC yolu gerekir. Çok domain'li forest'ta ayrıca GC erişimini veya site UGMC'sinin ilgili kullanıcı için doldurulmuş üyelik bilgisini kontrol et; DNS/DC discovery ve kullanılan logon yolunu kaydet. RODC'nin çalışması bu zincirin tamamlandığını kanıtlamaz.

Events and relevant fields

  • PRP allow/deny ve cached account listesi farklı soruları yanıtlar: ilki politika sonucu, ikincisi o RODC'deki mevcut parola cache gerçeğidir.
  • RODC'nin writable DC'ye yönelmesi, cache'de olmayan bir sır için normal tasarım davranışı olabilir; tek başına kötü niyet veya replikasyon arızası kanıtı değildir.
  • GC'nin partial replica özelliği arama kanıtıdır; bir attribute'un GC'de bulunmaması, nesnenin yok olduğu veya erişimin reddedildiği anlamına gelmez.

Role matrix'i iki sütunla sınırlama

Blue runbook'unda “DC type” tek sütun olursa GC ile writable/read-only farkı kaybolur. En az dört alan gerekir: write capability, GC capability, RODC PRP sonucu ve mevcut cache/bağlantı durumu. Bu matris, bir arama arızasıyla bir şube logon arızasının aynı ekipte yanlış çözümlenmesini önler.

Kritik soru “RODC'de parola var mı?” değil, hangi RODC'de hangi hesap için politika izin veriyor, mevcut cache ne, writable DC erişimi yokken beklenen davranış ne sorusudur. Bu sorular güvenlik tasarımı ile operasyonel sürekliliği aynı kanıt satırında buluşturur.

Korelasyon sınırını açık tut

SIEM veya envanter, bir sunucunun adı ve zamanını bağlamak için yararlı olabilir; ancak PRP kararının authoritative kaynağı değildir. Aynı şekilde GC sorgusu nesne bulmayı destekler, ama tam attribute ve write path kararını desteklemez.

Bu sınırlar kaybolursa operasyon ekibi bir cache miss'i saldırı, bir GC sonucu da tam dizin kaydı sanabilir. Olay incelemesi önce rolü, sonra policy/cache gerçeğini, en son ağ ve kimlik doğrulama belirtilerini ayrılaştırmalıdır.

Detection logic · KQL

DeviceInfo
| where DeviceName in ("RODC-BR01", "DC01")
| project DeviceName, Timestamp, OSPlatform

Query assumptions

  • Bu KQL yalnız envanter korelasyonu için biçim örneğidir; RODC PRP veya GC rolünü DeviceInfo şemasından çıkardığını iddia etmez.
  • Gerçek alan adları ve veri kaynağı SIEM/EDR bağlayıcısına bağlıdır; rol, PRP ve cache envanteri authoritative AD yönetim yüzeyinden ayrıca doğrulanmalıdır.
  • Sorgu hiçbir canlı ortamda çalıştırılmadı ve artifact sentetiktir.

False positives

  • Bir cihazın RODC-BR01 adını taşıması, RODC rolünün veya PRP sonucunun kanıtı değildir; envanter adı yanlış ya da güncel olmayabilir.
  • Writable DC bağlantısına ait bir ağ olayı cache miss'in tek nedeni değildir; ağ, DNS veya servis arızası ayrıca incelenmelidir.
  • Negatif örnek: PRP allow list'te bulunan bir hesap henüz cache edilmemiş olabilir; allow sonucu tek başına kesinti dayanıklılığını kanıtlamaz.

Hardening

  • RODC PRP allow/deny listesini least privilege ile tasarla; ayrıcalıklı ve recovery hesaplarını açık bir deny stratejisiyle değerlendir.
  • PRP politikasını gerçek cached-account listesiyle periyodik karşılaştır; izin verilen ile fiilen cache'de olanı aynı metrikte birleştirme.
  • WAN kesilince hangi hesapların hangi logon/iş akışını sürdürebilmesi gerektiğini belirle. Password cache kapsamı yanında, çok domain'li forest için branch GC veya kullanıcı üyelikleriyle doldurulmuş site UGMC'sini ve DNS/DC discovery bağımlılıklarını planla. Etkin bir policy'yi hazır bir cache veya doğrulanmış kesinti sonucu sayma.
  • GC sorgularında gerekli attribute'un partial attribute set'te olup olmadığını kontrol et; kritik kararlar için full replica verisini doğrula.
  • DC rollerini envanterde ayrı alanlar olarak yönet: writable/read-only, GC, site ve PRP. Bir rol etiketini diğerinin güvenlik sonucu olarak kullanma.

Ö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ı?

RODC PRP read-property modeli (sentetik SDDL)

01
Authenticated UsersA · Read Property

İ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
Domain AdminsD · Read Property

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

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ı

Bu sentetik SDDL, 10.01'deki policy/cache ayrımını göstermek için sınırlı bir access-check modelidir: Authenticated Users için Read Property allow, Domain Admins için Read Property deny içerir. Gerçek bir RODC Password Replication Policy descriptor'ü değildir ve AD'de uygulanabilir PRP yapılandırması olarak kullanılmamalıdır. Artifact, parser'ın ACE sırası ve principal/rights ayrımını gösterebilmesi için kullanılır; PRP'nin gerçek allow/deny listesi ve cache durumu authoritative AD yönetim verisinden okunmalıdır.

Ham kaydı aç · SDDL
O:SYG:SYD:(A;;RP;;;AU)(D;;RP;;;DA)

İki yanlış kanı / Two reality checks

Sanılan: Global Catalog, writable DC ve RODC birbirinin yerine seçilen üç DC türüdür.
Gerçekte: Writable/read-only, DC'nin değişiklik kabul edip etmediğini; GC, forest çapındaki arama kapsamını anlatır. GC hem writable DC'de hem RODC'de olabilir. RODC+GC kendi domain kopyasını da read-only tutar; GC rolü write path veya parola cache durumunu tek başına belirlemez.
Sanılan: PRP allow list'te olan bir kullanıcı, şube bağlantısı kesildiğinde RODC ile kesin oturum açar.
Gerçekte: PRP allow, sırrın cache'lenmesine izin verir; o anda cache'de olduğunu kanıtlamaz. Cache miss için writable DC gerekir. Sır mevcut olsa bile çok domain'li forest'ta universal group üyelikleri için GC veya kullanıcı bilgisiyle doldurulmuş site UGMC'si gerekir. DNS/DC discovery, hesap durumu ve logon yolu da önemlidir. İstemcinin cached interactive logon'ını RODC üzerinden domain authentication sanma.

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

RODC01’e GC rolü eklendi. Tunahan’ın directory kaydı nerede değiştirilebilir?

Bir cevap seç

Bir ipucu

Arama kapsamıyla yazılabilirliği ayır.

Cevabın gerekçesini oku

Uygun writable DC’de; örnekte DC01.

GC aramayı genişletir; RODC’nin domain kopyasını writable yapmaz.

2 / 3 · KANITI OKU

Bu örnek neden WAN kesilince domain authentication garantisi vermiyor?

Sentetik şube durum kartı; event değildir.
Hesap / Account
IYELABS\tunahan
PRP kararı / PRP decision
Allow
RODC01 gerçek secret cache / Actual secret cache
Absent
DC01 bağlantısı / Connectivity
Unavailable
Bir cevap seç

Bir ipucu

İzin verilmesi, bilginin elde olması demek mi?

Cevabın gerekçesini oku

Sır cache’de yok ve writable DC yolu kullanılamıyor.

Allow cache’lemeye izin verir; cache miss doğrulama bağımlılığını kaldırmaz.

3 / 3 · KENDİN ANLAT

Çok domain’li forest’ta sır cache’de olsa da neden başka bilgi gerekebilir?

Bir ipucu

Parola doğrulaması ile universal group bilgisini ayrı düşün.

Cevabın gerekçesini oku

RODC01’in sırrı cache’lemesi universal group üyeliklerini sağlamaz. Çok domain’li logon için erişilebilir GC veya Tunahan’ın üyeliklerini önceden cache’lemiş UGMC de gerekir; DNS ve hesap durumu ayrıca değerlendirilir.

  • Secret cache ve üyelik bilgisini ayırdım.
  • GC veya ilgili kullanıcı için dolu UGMC gereksinimini belirttim.

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

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

Kaynaklar / Sources