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

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

  1. Üç yüzeyi bul: AD’de GPC, SYSVOL’de GPT ve hedef SOM üzerindeki gPLink. Link nesnesi GPO içeriğinden ayrıdır.
  2. Örnek rolü seç. Her yüzeydeki hak ayrı tanımlanır; model token’dan AccessCheck sonucu hesaplamaz.
  3. GPC ve GPT yazma yetkisini karşılaştır. Bir yüzeydeki izin diğerini vermez; burada yazma işlemi çalıştırılmaz.
  4. 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.
  5. Read/Apply, WMI ve CSE sonucunu ayrı client koşulları olarak tut. Rolün yetkisi, uygulama kanıtı değildir.
  6. 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 HAZIRLANDI

Hangi kayıt erişim, hangisi audit veya integrity kuralı?

GPC DACL parçası — Gpo-Editors için Generic Write (synthetic, outreason.example)

01
S-1-5-21-1109110911-2202220222-3303330333-6703A · 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.

02
Nesnenin sahibiBuilt-in Administrators

Bu bölüm security descriptor’ın bir parçasıdır. Owner, primary group, DACL ve SACL farklı bilgi taşır.

03
Primary groupBuilt-in Administrators

Bu bölüm security descriptor’ın bir parçasıdır. Owner, primary group, DACL ve SACL farklı bilgi taşır.

04
Erişim kuralları / DACL(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.

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ı

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 HAZIRLANDI

OU link’i mi, GPO içeriği mi değişmiş?

OU gPLink directory değişimi — Security 5136 zarfı (synthetic, outreason.example)

01
1 / Hangi nesne?OU=Finance,DC=outreason,DC=example

Bu DN, gPLink’i değişen OU’yu gösterir. GPO’nun GPC nesnesi değildir.

02
2 / Nesne türüorganizationalUnit

organizationalUnit, bu örnekte link’in OU üzerinde olduğunu destekler.

03
3 / Hangi attribute?gPLink

gPLink bir scope bağlantısıdır; SYSVOL dosya içeriğini göstermez.

04
4 / Kaydedilen değişiklik türü%%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.

05
5 / Kaydedilen değer[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.

06
6 / Kaydın subject’igpo-link-operator

Bu kaydın subject hesabıdır; ad tek başına gerçek kişiyi veya niyeti belirlemez.

Buradan çıkaracağın fikir

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

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

Yeni sentetik pratik örneği; ders artifact’inden bağımsızdır.
EventID
5136
Computer
DC01.iyelabs.example
ObjectDN
OU=Workstations,DC=iyelabs,DC=example
AttributeLDAPDisplayName
gPLink
Bir cevap seç

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.

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