Naming contexts ve Global Catalog: Hangi bilgi nerede bulunur?
Active Directory verisi domain, configuration, schema ve application naming context'lere (NC) ayrılır; bunların replikasyon kapsamları farklıdır. GC'nin mantıksal görünümü domain, configuration ve schema NC'lerindeki nesnelerin PAS üyeliği olan attribute'larını sunar; AD DS uygulama NC'leri GC'ye otomatik katılmaz. GC rolündeki DC ayrıca kendi domain NC'si ile Schema ve Configuration NC'lerinin full, writable kopyalarını; diğer domain NC'lerinin partial, read-only kopyalarını barındırır. GC'de bir attribute'un görünmesi herkese açık olduğu, görünmemesi de nesnede olmadığı anlamına gelmez.
1. Core Mechanism / Temel mekanizma
Bu ders LDAP dizinini fiziksel veritabanı dosyası yerine mantıksal naming context'ler (NC) üzerinden inceler. NC ve root DSE için RFC 4512 §5/§5.1; GC'nin protokoldeki mantıksal görünümü için [MS-ADTS] §3.1.1.1.8; GC rolündeki DC'nin fiziksel olarak barındırdığı full/partial replica'lar için Microsoft Active Directory Replication Concepts kullanılır. Application NC'lerin GC'ye otomatik replike olmadığını Microsoft Application Directory Partition belgeleri açıklar. PAS üyeliği Microsoft GC belgelerine; 389/636 ve 3268/3269 ayrımı Microsoft port tablosuna dayanır. KCC topolojisi ve Ntds.dit iç formatı bu dersin dışındadır.
Arabirimler ve belirtimler
- Domain NC: bir domain'in kullanıcı, bilgisayar ve grup nesnelerini tutan bölüm; yalnız o domain'in DC'leri arasında tam olarak replike olur.
- Configuration NC: site, subnet, servis ve replikasyon topolojisi nesnelerini tutar; tüm forest'ta ortaktır.
- Schema NC: attributeSchema ve classSchema tanımlarını tutar; forest genelinde tek ve ortaktır.
- Application NC: DNS gibi uygulama verileri için seçili DC'lere replike olabilen ayrı bölüm; AD DS'te security principal nesneleri barındıramaz ve GC'ye otomatik replike edilmez.
- Root DSE: NC'lerin listesini (namingContexts) ve şema girişini (subschemaSubentry) yayınlayan, hiçbir NC'ye ait olmayan sunucuya özel giriş.
- GC uç noktası (3268/3269), forest genelinde read-only mantıksal bir görünüm sunar. Fiziksel replica’nın writeability’si GC rolünden değil DC türünden gelir: writable GC kendi domain/schema/config NC’lerinin full replica’larını tutar; RODC GC’nin replica’ları read-only’dir. RODC filtered attribute set nedeniyle bazı değerler hiç replike edilmez. Application NC, GC’ye otomatik dahil değildir.
- isMemberOfPartialAttributeSet=TRUE, konfigüre edilebilir PAS üyeliğini sağlar. systemFlags içindeki FLAG_ATTR_REQ_PARTIAL_SET_MEMBER üyeliği bu alandan bağımsız zorlar. RODC FAS dışlaması ve okuma izinleri ayrıca sınırlar.
Partition bir depolama detayı değil, sınırdır
Bir naming context, tek bir sunucunun master'lık ettiği bir alt ağacın tümüdür (RFC 4512 §5). AD DS'te domain, configuration, schema ve isteğe bağlı application NC'ler bulunur. Domain NC kendi domain'inin DC'leri arasında replike olur; configuration ve schema NC forest genelinde ortaktır. Application NC'lerin ise seçili DC'lere göre belirlenen ayrı replika kapsamı vardır. Bu farklar hem replikasyon hem yetki sınırlarını tanımlar.
Bu yüzden 'AD'de arama yapmak' tek bir soru değildir. Aradığınız nesne bir domain'in kullanıcı hesabıysa ilgili domain NC'ye; site/subnet tanımıysa configuration NC'ye; attribute tanımının kendisini arıyorsanız schema NC'ye bakmanız gerekir. Yanlış NC'de arama, 'veri yok' gibi görünen ama aslında 'yanlış bölüme baktın' olan sonuçlar üretir.
Root DSE ile bölümleri keşfetmek
Bir sunucunun hangi NC'leri barındırdığını tahmin etmek yerine root DSE'den okuyabilirsiniz. Root DSE, DN'i sıfır RDN olan (boş string) özel bir giriştir ve baseObject scope ile (objectClass=*) filtresiyle sorgulanır (RFC 4512 §5.1). Buradaki namingContexts operational attribute'u sunucunun tuttuğu NC'lerin context prefix'lerini listeler; subschemaSubentry ise şema girişinin DN'ini verir (RFC 4512 §4.4).
Root DSE attribute'ları operational olduğu için, diğer operational attribute'lar gibi, yalnız isimleriyle istenirse döner (RFC 4512 §5.1). Yani 'her şeyi getir' diyen bir sorgu bunları göstermez. Bu, sonraki derste göreceğimiz 'istenen attribute listesi' davranışının ilk somut örneğidir.
Global Catalog: geniş ama sığ bir kopya
GC rolüyle DC’nin türünü ayır. Writable GC, kendi domain NC’si ile Schema/Configuration NC’lerini full/writable tutar; diğer domain NC’lerinde nesneleri PAS attribute alt kümesiyle partial/read-only tutar. RODC üzerindeki GC ise writable replica taşımaz ve filtered attribute set değerlerini barındırmayabilir. İstemcinin GC portundan gördüğü mantıksal read-only görünüm ayrı bir kavramdır; Application NC’ler otomatik bu kapsama girmez.
Bir attribute'un GC görünümünde yer alması, schema NC'deki ilgili attributeSchema nesnesinin isMemberOfPartialAttributeSet değerinin TRUE olmasına bağlıdır (Microsoft, Attributes Included in the Global Catalog). PAS, forest genelinde arama veya nesneyi tanıma için yararlı alanlardan oluşur. GC bu görünümle domain bilinmeden arama yapılmasını sağlar. Normal LDAP uç noktaları 389/636; GC uç noktaları 3268/3269 portlarını kullanır (Microsoft, AD port requirements).
Bulmak ile tam okumak farklı adımlardır
GC görünümünde bulunan PAS attribute'ları GC üzerinden okunabilir; erişim yine ACL ve varsa confidential-attribute extended access check'e tabidir. PAS dışı bir attribute gerektiğinde tipik akış, GC'den nesnenin distinguished name'ini almak ve bu DN ile nesnenin tam replica'sını tutan domain DC'sine (389/636) bağlanıp okumaktır (Microsoft, Attributes Included in the Global Catalog).
GC'de bir attribute'un görünmemesi tek başına nedenini açıklamaz: o attribute PAS dışında olabilir, nesnede değer atanmamış olabilir veya ACL/confidential access check yüzünden bu bind context'e dönmemiş olabilir. Tam replica'dan sorgulamak, yalnız okuma yetkiniz varsa değeri doğrular. Tersine, GC'de görünmesi de herkese açık olduğu anlamına gelmez; erişim kontrolleri uygulanır. RODC GC’de ayrıca değerin FAS nedeniyle hiç replike edilmemiş olması mümkündür. Nesnenin domain’ine ait full replica’ya gitmek, requester’ın okuma hakkını veya değerin bulunduğunu garanti etmez.
Durum ve veri akışı
- İstemci bir nesnenin bir attribute'unu arar ama nesnenin DN'ini veya hangi domain'de olduğunu bilmez.
- İstemci forest genelinde arama için GC portuna (3268) wholeSubtree bir LDAP search gönderir.
- GC, GC görünümüne dahil NC'lerde eşleşen nesnelerin DN'ini ve istenen, PAS üyesi attribute'ları erişim kontrollerinin izin verdiği ölçüde döndürür.
- İstenen attribute PAS dışında veya requester için erişim kontrolünden geçmiyorsa, yalnız GC sonucu bu değeri doğrulayamaz.
- İstemci DN'i kullanarak nesnenin tam replica'sını tutan domain'in DC'sine (389/636) bağlanır.
- İstemci eksik attribute'ları tam replica'dan, erişim kontrolleri izin verdiği ölçüde okur.
2. Exploitation / İstismar
Broken trust assumption
Kırılan varsayım şudur: Global Catalog forest genelinde okuma sağladığı için, GC'de görülen veri hem tam yetkili hem de sınırsız erişilebilir bir keşif yüzeyidir.
Technical prerequisites
- GC rolündeki bir DC'ye ağ erişimi ve 3268/3269 portuna ulaşabilme.
- Dizini okuyabilen bir bind bağlamı; çoğu ortamda Authenticated Users birçok attribute'u okuyabilir, anonim erişim genelde kapalıdır.
- İstenen alanın GC görünümünde kullanılabilmesi için PAS'a dahil olması; PAS dışı alanlar GC search response'ta yer almaz.
- Confidential attribute için READ_PROPERTY yanında CONTROL_ACCESS hakkı gerekir; sonuç requester'ın ACL ve extended-access-check bağlamına bağlıdır.
- wholeSubtree scope ve uygun filtre; aksi halde forest genelinde tarama yapılamaz.
Exploitation mechanism / İstismar mekanizması
Tek bir GC sorgusu (port 3268, wholeSubtree) forest'ın domain NC'lerindeki ve GC görünümüne dahil configuration/schema NC'lerindeki nesneleri, DN'leri ve PAS attribute'larını tek noktadan aratabilir. Bu, domain'leri tek tek bulup sorgulamadan keşif haritası çıkarmayı sağlar. Application NC verisi GC'ye otomatik katılmaz. GC görünümü yalnız PAS alanlarını sunar; PAS dışı alanlar ek sorguda da belirmez ve ACL/confidential extended access checks okumayı sınırlar. 'GC'de yok' ile 'nesnede yok' aynı şey değildir.
Genişlik keşif verir, yetki vermez
GC ile forest genelinde nesne sıralamak, saldırgana harita çıkarır: hangi domain'ler, hangi ayrıcalıklı grup adları, hangi servis hesapları var. Bu bir okuma (recon) avantajıdır. Ama okunabilir olmak, o nesne üzerinde yazma veya kontrol hakkı anlamına gelmez; bunu bir sonraki derste 'okunabilir dizin verisi ile yazılabilir kontrol hakkı' ayrımıyla derinleştiriyoruz.
Değerlendirme, 'GC'de X gördüm' ifadesini tek başına sonuç saymamalıdır. Hangi NC ve GC görünümündeki hangi PAS alanının görüldüğü, requester'ın bind context'i ve ilgili ACL/extended access check kapsamı ayrı kaydedilmelidir.
Kısmi veriyi tam veri sanmak
GC görünümünde aranan bir attribute yoksa bunun nedeni PAS dışında kalması, nesnede değer atanmamış olması veya yetki kontrolü olabilir. Confidential işaretli bir attribute için ek CONTROL_ACCESS hakkı gerekir; erişimi olmayan requester'a değer dönmeyebilir. Bu yüzden eksik alanı 'hesap zararsız' diye yorumlamak hatalıdır.
Bu yüzden GC tabanlı bir çıkarım, tam replica'dan doğrulanmadan kesin kabul edilmemelidir. Saldırı modelinde bu, yanlış hedef seçimi; savunma modelinde ise eksik risk değerlendirmesi olarak sonuç verir.
3. Defense & Detection / Savunma ve tespit
Telemetry scope
- Rutin LDAP/GC okumaları varsayılan olarak Security log'da denetlenmez; okuma denetimi için nesnenin SACL'i ve Audit Directory Service Access alt kategorisi gerekir (4662).
- 4662 yalnız ilgili nesnede uygun SACL varsa ve yapılan işlem bu SACL ile eşleşiyorsa üretilir; her işlem türü için ayrı 4662 çıkar.
- 4662 bir güvenlik denetim olayıdır ancak okumayı hangi replica'nın (GC 3268 mi, tam replica 389 mı) yanıtladığını göstermez; bu ayrım ağ/port düzeyinde gözlemlenir.
- GC'nin kapsamı forest geneli olduğundan, GC üzerindeki geniş SACL'ler yüksek hacimli olay üretir; okuma denetimi seçici uygulanmalıdır.
Events and relevant fields
- 4662 için Provider Microsoft-Windows-Security-Auditing, kanal Security ve Version 0'dır (Microsoft, 4662 belgesi).
- EventData; SubjectUserSid, SubjectUserName, SubjectDomainName, ObjectServer (DS), ObjectType (object class), ObjectName (erişilen nesnenin distinguished name'i), OperationType, AccessMask ve Properties alanlarını yayımlar. ObjectType ve Properties içindeki GUID'ler class/property bilgilerini gösterebilir.
- ObjectType ve Properties GUID'leri hangi class/attribute'a erişildiğini gösterir; bu yüzden 4662, attribute düzeyinde SACL ile daraltılabilir.
- 4662, LDAP sorgusunun base/scope/filter şeklini kaydetmez; yalnız nesne üzerinde gerçekleşen erişimi kaydeder.
Gözlem noktası: olay değil, çoğu zaman ağ
AD okuma trafiğinin büyük kısmı varsayılan denetimde görünmez. 4662 güçlüdür ama yalnız SACL kapsamındaki nesnelerde ve işin doğası gereği yüksek hacimle çalışır. Bu yüzden 'GC üzerinden geniş bir keşif oldu mu?' sorusunun cevabı çoğu zaman güvenlik olayında değil, ağ düzeyinde 3268/3269 trafiğinde aranır.
Pratik savunma, kritik nesnelere hedefli SACL koymak ile GC/LDAP erişimini ağda sınırlamayı birlikte kullanır. Tek bir olay türüne bel bağlamak, denetlenmeyen attribute'lar üzerinden yapılan keşfi görünmez bırakır.
Detection logic · XPath
*[System[(EventID=4662)]] and *[EventData[Data[@Name='ObjectServer']='DS']]Query assumptions
- Bu filtre yalnız EventID=4662 ve ObjectServer=DS seçer. Read/write/başka directory access ayrımı yapmaz. İstenen operasyonu kanıtlamak için uygun SACL kapsamı ve AccessMask/Properties gibi gerçek event alanları ayrıca doğrulanır.
- SACL yoksa okuma hiç 4662 üretmez; olay yokluğu okuma olmadığını kanıtlamaz.
- Sorgu GC ile tam replica okumasını ayırt etmez; bu ayrım için ağ portu (3268/3269 ile 389/636) gerekir.
- Sorgu gerçek Windows sistemi veya SIEM üzerinde çalıştırılmadı; veri kümesi, hacim eşiği ve baseline yoktur.
False positives
- Meşru dizin uygulamaları, yönetim araçları ve replikasyon süreçleri düzenli olarak nesne okur ve denetlenen nesnelerde 4662 üretir.
- Geniş SACL'ler normal iş yükünde büyük hacim üretir; tek 4662 kötüye kullanım kanıtı değildir.
- ObjectType/Properties GUID'leri okunabilir isimlere çözülmeden bağlam yanıltıcı olabilir.
- GC üzerinden yapılan geniş bir keşif, denetlenmeyen attribute'lara dokunuyorsa hiç iz bırakmayabilir.
Hardening
- Şema ve platform koşulları izin verdiğinde hassas, desteklenen attribute'lar için confidential arama bayrağını değerlendir; bu, READ_PROPERTY yanında CONTROL_ACCESS gerektirir. Base-schema attribute'larına uygulanabileceğini varsayma; etkisini lab/pilot ortamında doğrula.
- PAS'a eklenen attribute'ları envanterle: PAS değişikliği GC sunucularına replike olur ve attribute'u GC'nin forest-wide mantıksal görünümüne ekler. Dönüş hâlâ ACL ve confidential access check'lerine tabidir.
- Anonim LDAP erişimini ve gereksiz geniş okuma haklarını gözden geçir; dsHeuristics ve varsayılan izinleri kurumsal politikayla hizala.
- Okuma denetimini SACL ile yalnız yüksek değerli nesnelere ve ilgili attribute'lara uygula; forest geneli geniş SACL yerine hedefli denetim kullan.
- GC rolünün hangi DC'lerde olduğunu ve 3268/3269 erişimini ağ segmentasyonuyla sınırlayarak keşif yüzeyini daralt.
Örnekler üzerinde oku / Read the examples
ÖRNEĞİ BİRLİKTE OKUYALIM
EĞİTİM İÇİN HAZIRLANDIBu LDAP yanıtı hangi entry’yi ve hangi alanları taşıyor?
LDAP SearchResultEntry · GC partial kaydı (sentetik DER)
2messageID=2 bu yanıtı ilgili aramaya bağlar. Sonraki APPLICATION [4], bir entry yanıtıdır; aramanın bitiş kaydı değildir.
CN=Kayra,OU=Kullanicilar,DC=outreason,DC=exampleOCTET STRING burada LDAPDN metnini taşır. DN, dönen entry’yi adlandırır; bütün attribute’ların okunabildiğini göstermez.
sAMAccountName = kayra · displayName = KayraHer attribute adı kendi SET içindeki değerleriyle eşleşir. sAMAccountName ve displayName iki ayrı alandır; aynı metni taşımaları onları aynı attribute yapmaz.
userPrincipalName = kayra@outreason.exampleUPN, bu entry’nin dönen değeridir. Diğer alanın dönmemesi, directory’de hiç bulunmadığını kanıtlamaz; projection, PAS ve izinler ayrı incelenir.
Bu tek SearchResultEntry’dir; SearchResultDone yok. Görünen üç attribute, GC’nin tüm PAS listesini veya aramanın tamamlandığını kanıtlamaz.
Alan adları yalnız bu değişmemiş eğitim örneğinin bytes’ıyla eşleştiğinde gösterilir. Ham TLV görünümü korunur; düzenlersen genel yapısal okumaya dönülür. Protokol şeması, erişim kararı ve kriptografi çalıştırılmaz.
Bu örneğin kapsamı
RFC 4511 §4.5.2 SearchResultEntry biçiminde sentetik bir GC yanıtı. Beklenti: tek kök SEQUENCE (LDAPMessage), toplam 160 bayt ve artık bayt yok. İçerik messageID=2 (INTEGER) ve protocolOp olarak [APPLICATION 4] (0x64) SearchResultEntry taşır. objectName sentetik DN 'CN=Kayra,OU=Kullanicilar,DC=outreason,DC=example'; attributes altında GC partial set'i temsil eden üç PartialAttribute vardır: sAMAccountName=kayra, displayName=Kayra, userPrincipalName=kayra@outreason.example. Parser yalnız DER TLV yapısını okur; LDAP şemasını, PAS üyeliğini veya erişim kararını doğrulamaz. Değerler outreason.example üzerinde sentetiktir.
Ham kaydı aç · ASN1-HEX
30 81 9d 02 01 02 64 81 97 04 30 43 4e 3d 4b 61
79 72 61 2c 4f 55 3d 4b 75 6c 6c 61 6e 69 63 69
6c 61 72 2c 44 43 3d 6f 75 74 72 65 61 73 6f 6e
2c 44 43 3d 65 78 61 6d 70 6c 65 30 63 30 19 04
0e 73 41 4d 41 63 63 6f 75 6e 74 4e 61 6d 65 31
07 04 05 6b 61 79 72 61 30 16 04 0b 64 69 73 70
6c 61 79 4e 61 6d 65 31 07 04 05 4b 61 79 72 61
30 2e 04 11 75 73 65 72 50 72 69 6e 63 69 70 61
6c 4e 61 6d 65 31 19 04 17 6b 61 79 72 61 40 6f
75 74 72 65 61 73 6f 6e 2e 65 78 61 6d 70 6c 65İki yanlış kanı / Two reality checks
- Sanılan: Global Catalog forest'taki her şeyi tuttuğu için bir nesneyle ilgili tüm bilgiyi GC'den okuyabilirim.
- Gerçekte: GC görünümü domain, configuration ve schema NC'lerindeki tüm nesneleri yalnız PAS üyeliği olan attribute'larla sunar. Application NC otomatik olarak GC'ye katılmaz. PAS dışı alan için GC'den DN alınır, ardından full replica'yı tutan domain DC'sinden ve erişim hakları izin veriyorsa okunur.
- Sanılan: Bir attribute GC'de görünmüyorsa o nesnede o attribute yoktur.
- Gerçekte: GC'de görünmeme PAS dışı olma, nesnede değer bulunmaması ya da ACL/confidential extended access check nedeniyle requester'a dönmeme gibi farklı nedenlerden kaynaklanabilir. Tam replica'dan okuma denemesi de yalnız ilgili izinler varsa sonuç verir.
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
Site/subnet tanımı arıyorsun. User hesaplarını tutan domain NC yerine hangi bölüme bakılır?
Bir ipucu
Forest-wide configuration bilgisini düşün.
Cevabın gerekçesini oku
Configuration naming context.
Site/subnet tanımı configuration verisidir; yanlış NC’de yokluk yanlış soru olabilir.
2 / 3 · KANITI OKU
Bu kartta GC’nin alanı döndürmemesinin hangi açıklaması destekleniyor?
- GC01 replica scope / Kopya kapsamı
- IYELABS: partial replica; GC01 belongs to another domain in the same forest
- Requested attribute / İstenen alan
- X — pedagojik attribute etiketi / pedagogical attribute label
- PAS membership / Üyelik
- Outside PAS
- GC01 result / Sonuç
- DN returned; attribute absent
- DC01 full replica / Değer
- Present; caller read permission not yet checked
Bir ipucu
GC01 bu domain için partial replica tutuyor. PAS dışı olmayı “nesnede yok” ile eşitleme.
Cevabın gerekçesini oku
IYELABS için partial replica bu alanı taşımıyor; DC01 full replica’sında izinli okuma ayrı.
Bu kart başka domain’in partial kopyası içindir. GC rolündeki DC kendi domain’inin full replica’sını da tutabilir. Full replica ve caller read hakkı ayrı koşullardır.
3 / 3 · KENDİN ANLAT
GC’de bir alanın görünmesi neden herkese public olduğu anlamına gelmez?
Bir ipucu
Kopya kapsamı ile bind context’in okuma hakkı farklı.
Cevabın gerekçesini oku
GC scope’u alanın görünümde bulunup bulunabileceğini belirler; ACL ve gerekirse confidential-attribute kontrolleri belirli requester’a dönüp dönmeyeceğini sınırlar. Bir kullanıcının sonucu, bütün kullanıcıların hakkını göstermez.
- PAS/replika kapsamıyla ACL/confidential kontrolünü ayırdım.
- Sonucun belirli requester context’ine bağlı olduğunu belirttim.
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.
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
- RFC 4512 · LDAP: Directory Information Models
§5 naming context/context prefix tanımı; §5.1 root DSE ve namingContexts operational attribute; §4.4 subschemaSubentry. - [MS-ADTS] · GC
§3.1.1.1.8: GC logical view includes domain/config/schema NCs, all included objects, PAS attributes only, read-only. - Microsoft · Active Directory replication concepts
Global catalog server: full writable Schema/Configuration and hosted Domain replicas; partial read-only replicas of other domains. - Microsoft · Including Attributes in the Global Catalog (Win32 AD)
isMemberOfPartialAttributeSet=TRUE ile GC'ye replikasyon; PAS dışı attribute'lar için DN alıp tam replica'ya bind edip okuma adımı. - Microsoft · About Application Directory Partitions
Application NC excludes security principals in AD DS; is not replicated to GC; a GC DC can separately hold a full application NC replica. - Microsoft · Configure firewall for AD domains and trusts
Port tablosu: 389 LDAP, 636 LDAP SSL, 3268 LDAP GC, 3269 LDAP GC SSL. - Microsoft · 4662(S, F) An operation was performed on an object
Audit Directory Service Access; SACL koşulu, Event XML, ObjectServer/ObjectType/Properties alanları, Version 0. - [MS-ADTS] · Search Flags
§2.2.9: CF (fCONFIDENTIAL, 0x80) and required extended access check. - [MS-ADTS] · Extended Access Checks
§3.1.1.4.4: confidential attributes require RIGHT_DS_READ_PROPERTY and RIGHT_DS_CONTROL_ACCESS; unauthorized values are treated as absent in returned attributes/filter. - ADTS attribute availability and PAS membership
PAS TRUE or required-partial-set systemFlags; RODC attribute restrictions - Read-only DCs and the AD schema
Filtered attributes not replicated to RODCs; DC type differs from GC role