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

Yapılandırma ile fiilî davranışı karşılaştırmak: Kanıt kalitesi ve yanlış pozitifler.

Bir ayarın yazılmış olması, uygulanması ve sonucunun gözlenmesi farklı şeylerdir. Directory’de doğru değeri görmek bütün istemcilerin o değeri kullandığını göstermez; bir event görmek de beklenen davranışın gerçekleştiğini tek başına kanıtlamaz.

1. Core Mechanism / Temel mekanizma

Bu derste ayardan sonuca giden yolu izliyoruz. Değer hangi DC’den okundu, ne zaman toplandı, hangi hedefte uygulandı? Configuration snapshot ile runtime gözlemini ayrı tut; her kanıtı kaynağı, zamanı ve kapsamıyla birlikte değerlendir.

Arabirimler ve belirtimler

  • Configured state: directory, registry, GPO veya servis ayarında yazılı değer.
  • Effective state: scope, precedence, inheritance ve yerel koşullar değerlendirildikten sonra hedefte geçerli olan ayar.
  • Observed behavior: belirli principal ve hedef için, belirli bir zaman aralığında gözlenen işlem.
  • Telemetry coverage: audit policy, SACL, collector, retention ve sorgu kapsamının görmeye izin verdiği işlemler.
  • Provenance: kaydın hangi sistemden, ne zaman ve hangi yöntemle toplandığı.
  • Confidence: doğrudan kanıtı, korelasyonu ve eksik bilgiyi ayırarak varılan sonucun ne kadar güçlü olduğunu belirtmek.

Ayar yazıldı; hedefte ne oldu?

Bir attribute yazıldığında directory’deki değer değişebilir. Ancak başka bir DC’nin aynı değere yakınsaması, GPO kapsamının değerlendirilmesi, token’ın yenilenmesi veya servisin ayarı yeniden okuması ayrı adımlardır. Hangi adımların gerektiği incelenen ayara bağlıdır.

5136, kapsama giren bir directory değişikliğinde AttributeLDAPDisplayName ve AttributeValue alanlarını gösterebilir. Hedef istemcinin değeri aldığını veya davranışının değiştiğini bu event’ten çıkaramayız; hedefte ayrı gözlem gerekir.

Çok kayıt, bağımsız doğrulama demek değildir

Kanıtın yanında source identity, UTC zamanı, nesne kimliği, toplama yöntemi ve bilinen eksikler bulunmalı. Aynı Event ID’den çok sayıda kayıt gelmesi tek başına bağımsız doğrulama değildir; hepsi aynı toplama sorunundan etkilenebilir.

Bir uyarıyı değerlendirmek, yalnız “zararlı mı, zararsız mı?” diye sınıflandırmak değildir. Sorgu beklenenden geniş bir aday kümesi seçmiş olabilir; onaylı değişiklik, eski configuration snapshot veya eksik bağlam farklı açıklamalara yol açabilir.

Durum ve veri akışı

  1. İstenen ayarı ve değişikliğin kaydını sakla.
  2. Bu ayarın hedefe ulaşması ve uygulanması için gereken adımları belirle.
  3. Belirli principal ve hedef için effective state’i ayrı bir gözlemle kontrol et.
  4. Runtime davranışını ve kullanıcı etkisini aynı zaman aralığında gözle.
  5. Sonuca ulaşırken eksik kayıtları ve alternatif açıklamaları belirt.

2. Exploitation / İstismar

Broken trust assumption

Şüpheli veya hatalı bir işlem ayarı değiştirmiş olabilir. Tek değişiklik kaydı, etkin kötüye kullanımı veya kullanıcıya etkisini göstermez.

Technical prerequisites

  • Değişiklik kaydındaki nesne, attribute, subject ve correlation alanları kaynak bilgisiyle korunmuştur.
  • İddia edilen davranış için gerekli replication, policy değerlendirmesi ve runtime koşulları ayrı tanımlanmıştır.

Exploitation mechanism / İstismar mekanizması

Yalnız yazılı ayara bakmak eski bir replica’yı veya precedence farkını kaçırabilir. Yalnız değişiklik event’ine bakmak ise hedefte uygulanmamış bir ayarı etkili sanmaya yol açabilir. Red bakışında da değişiklik, uygulama ve sonuç ayrı kanıtlarla değerlendirilir.

Tek kayıt iki farklı yanılgıya yol açabilir

Bir DC’deki configuration snapshot doğru görünürken başka bir DC eski değeri gösterebilir. Şüpheli bir değişiklik kaydı bulunmasına rağmen hedefte başka bir policy öncelik kazanmış olabilir. Bu olasılıklar ilgili kaynaklarda kontrol edilmelidir.

Bulguya hem ne görüldüğünü hem de bunun neyi kanıtlamadığını yaz. Severity etiketi, eksik kanıtı tamamlamaz.

3. Defense & Detection / Savunma ve tespit

Telemetry scope

  • Configuration snapshot’ını source DC, object GUID/DN, attribute ve UTC toplama zamanı ile sakla.
  • Değişiklik kaydıyla effective-state gözlemini ilişkilendir; bunları aynı kanıt türü gibi sunma.
  • Audit policy, SACL, collector sağlığı, retention ve saat farklarını kontrol et.
  • Değişiklik onaylı olsa da runtime doğrulamasını ve rollback koşullarını ayrıca değerlendir.

Events and relevant fields

  • 5136, uygun audit ve SACL kapsamındaki directory değişikliğini gösterir; endpoint’te policy’nin uygulandığını veya güvenlik etkisini tek başına kanıtlamaz.
  • Event bulunmaması değişiklik yapılmadığını göstermez; audit policy, SACL, collector veya retention eksik olabilir.

5136 değişikliği gösterir; hedefin davranışını değil

Sentetik örnek, bir computer nesnesindeki msDS-SupportedEncryptionTypes değeri için Value Added kaydıdır. Parser alanları gösterir; endpoint’in hangi Kerberos encryption type’ını kullandığını, replication’ın yakınsadığını veya ayarın uygulandığını hesaplamaz.

Bunlar birbirini tamamlayan kanıtlardır: directory kaydı değişikliği, hedefteki gözlem ise davranışı açıklar.

Detection logic · XPath

*[System[(EventID=5136)]]

Query assumptions

  • Sorgu 5136 adaylarını seçer. Nesne, attribute ve OperationType alanlarıyla daha sonra daraltılmalıdır; bu örnek canlı Event Log’da çalıştırılmadı.
  • Effective state ve runtime sonucu, değişiklik kaydından ayrı gözlemler gerektirir.

False positives

  • Onaylı yönetim ve otomasyon değişiklikleri de aynı event’i üretebilir.
  • Tek bir değişiklik için Value Deleted ve Value Added kayıtları görülebilir; bunları iki bağımsız olay gibi sayma. Replication güncelliğini ise ayrı kaynaklardan kontrol et; replication’ın kendisini 5136 tekrarlarının nedeni sayma.

Hardening

  • Kritik ayarlarda yazılı değeri, hedefteki effective state ve gözlenen davranışla birlikte doğrula.
  • Directory değişikliklerini yalnız object/attribute listesiyle sınıflandırma; sorumlu rolü, değişiklik zamanını ve correlation bağlamını da incele.
  • Collector saatleri, audit kapsamı ve retention sorunları için ayrı sağlık kontrolleri kullan.

Örnekler üzerinde oku / Read the examples

ÖRNEĞİ BİRLİKTE OKUYALIM

EĞİTİM İÇİN HAZIRLANDI

Configured değer target behavior’ı kanıtlar mı?

Directory değişikliği kaydı · effective state kanıtı değildir

01
Configured change producerdc01.outreason.example

dc01 değişiklik kaydı. APP01 effective state gözlemi değil.

02
Değişen directory objectCN=APP01,OU=Servers,DC=outreason,DC=example

APP01 computer object ve ObjectGUID ayrı identity scope’u. Client runtime context bu object kaydı değildir.

03
Yazılan attributemsDS-SupportedEncryptionTypes

msDS-SupportedEncryptionTypes configured değerinin değişikliği. Negotiated cipher ayrı gözlem.

04
Eklenen configured değer24

24 Value Added kaydıdır; endpoint aldı/uyguladı veya bütün session’lar güncellendi sonucu değil.

Buradan çıkaracağın fikir

5136 configured directory değişikliğini gösterir. Replica güncelliği, effective target, runtime ve coverage ayrı kanıt gerektirir.

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 5136 Value Added örneğidir. msDS-SupportedEncryptionTypes alanındaki değişikliği gösterir; gerçek endpoint negotiation, replication yakınsaması veya güvenlik etkisi gözlenmedi.

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><TimeCreated SystemTime="2026-10-01T10:24:00.0000000Z"/><EventRecordID>1504001</EventRecordID><Channel>Security</Channel><Computer>dc01.outreason.example</Computer><Security/></System><EventData><Data Name="OpCorrelationID">{15A40000-0000-4000-8000-000000000001}</Data><Data Name="AppCorrelationID">-</Data><Data Name="SubjectUserSid">S-1-5-21-1987654321-1234567890-2468013579-1106</Data><Data Name="SubjectUserName">kayra</Data><Data Name="SubjectDomainName">OUTREASON</Data><Data Name="SubjectLogonId">0x15a4</Data><Data Name="DSName">outreason.example</Data><Data Name="DSType">%%14676</Data><Data Name="ObjectDN">CN=APP01,OU=Servers,DC=outreason,DC=example</Data><Data Name="ObjectGUID">{15A40000-0000-4000-8000-000000000002}</Data><Data Name="ObjectClass">computer</Data><Data Name="AttributeLDAPDisplayName">msDS-SupportedEncryptionTypes</Data><Data Name="AttributeSyntaxOID">2.5.5.9</Data><Data Name="AttributeValue">24</Data><Data Name="OperationType">%%14674</Data></EventData></Event>

İki yanlış kanı / Two reality checks

Sanılan: Directory’de doğru değer görünüyorsa bütün istemciler doğru davranıyordur.
Gerçekte: Yazılı değer başlangıç noktasıdır; replication, scope, precedence ve runtime değerlendirmesi hedefteki sonucu etkiler.
Sanılan: Bir security event görmek iddiayı kesinleştirir; görmemek olayı çürütür.
Gerçekte: Event’in anlamı ve yokluğundan çıkarılabilecek sonuç, audit/SACL/collector/retention kapsamına bağlı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 · KANITI OKU

Bu 5136 alan özeti hangi iddiayı tek başına desteklemez?

Dersin bağımsız sentetik 5136 alan karşılaştırması; yeni endpoint sonucu değildir.
EventID
5136
AttributeLDAPDisplayName
msDS-SupportedEncryptionTypes
Endpoint negotiation / teaching label
not observed
Bir cevap seç

Bir ipucu

Directory değişikliğini target negotiation sonucundan ayır.

Cevabın gerekçesini oku

WS01 ve FS01’in yeni ayarı kullandığını

Doğru. Endpoint negotiation veya effective state ayrı gözlem ister.

2 / 3 · SONUCU TAHMİN ET

Directory değeri güncel ama FS01 davranışı hâlâ eski. İlk doğru yaklaşım hangisi?

Bir cevap seç

Bir ipucu

Hedefe ulaşma ve runtime’da okuma adımlarını ayrı tut.

Cevabın gerekçesini oku

Uygulama koşulları, target effective state ve aynı zaman aralığındaki runtime kanıtını incele.

Evet. Configured değişiklik ile target sonucu arasında ayrı koşullar olabilir.

3 / 3 · KENDİN ANLAT

Configuration değişikliğini neyle kapatırsın?

Bir ipucu

Yazıldı, uygulandı ve kullanıcıya etkisi gözlendi aşamalarını ayır.

Cevabın gerekçesini oku

DC01’deki değişiklik kaydını saklar, ayarın ilgili hedefe ulaşma koşullarını doğrularım. WS01/FS01 effective state ve Tunahan’ın rapor işinin yeni davranışını ayrı gözlemleyip eksik kanıtları açıkça belirtirim.

  • Belirli principal/target effective state’i ayrı kontrol ettim.
  • Runtime davranışını ve eksik kanıtı aynı zaman scope’unda yazdı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.

WS01’deki seçili logon kaydının zarfını oku; dosya erişimini kanıtlamaz.

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\tunahanstudent1504 · 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