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

Domain Controller, istemci ve üye sunucu: Sistemde kim ne yapar?

WS01 isteği yapar, DC01 kimlik doğrulama ticket’ını üretir, FS01 kendi dosyası için erişim kararı verir. Üç makinenin işini ve kayıtlarını ayrı takip et.

Önce üç makinenin işini ayır.

Tunahan, WS01’den FS01’deki raporu açmak istiyor. WS01 isteği yapan istemci, DC01 domain hesabını tanıyan Domain Controller, FS01 ise dosyanın bulunduğu üye sunucudur.

Kerberos bu örneğin kimlik doğrulama protokolüdür. KDC, DC01 üzerinde ticket üreten bileşendir. Ticket, istemcinin servise sunduğu şifreli kimlik doğrulama verisidir; dosyayı açma izninin kendisi değildir.

Sahneyi izlerken yalnız üç soru sor: WS01 ne istiyor, DC01 ne veriyor, FS01 hangi kararı veriyor? SSPI ve SSP bu akışın Windows interface ve bileşen adlarıdır; Event ID’ler işlem türünü gösteren kayıt numaralarıdır. Bunların ayrıntısını ilk geçişte ezberlemen gerekmiyor.

Önce temel fikri kendi cümlenle açıkla. Sonra sahneyi izle; interface adları ve kanıt ayrıntıları aşağıda.

1. Core Mechanism / Temel mekanizma

Windows components / teknik ayrıntılar

Önce makinelerin yaptığı işi izle. İstemci, Domain Controller’daki KDC’den (Key Distribution Center) servis bileti ister ve bileti üye sunucudaki servise sunar. Üye sunucu kendi kaynağına erişim için karar verir. İstemcide LSA ve Kerberos SSP, SSPI üzerinden kimlik doğrulama bağlamını sağlar; DC’de KDC, AD DS hesap verisini kullanır. Hedefte servisin SSPI/LSA yolu güvenlik bağlamını oluşturur, erişim denetimi bu bağlamla yapılır. Bu örnek Kerberos rollerini ve kayıtların nerede oluştuğunu ayırır; NTLM ve cached sign-in farklı yollar izler.

Arabirimler ve belirtimler

  • İstemci: LSA, Kerberos SSP ve SSPI; principal adına bağlam edinir, service ticket ister ve hedef servise sunar.
  • Domain Controller: AD DS verisini barındırır ve çoğaltır; Windows KDC domain hesabı veritabanı olarak AD DS’yi kullanır.
  • Üye sunucu: servisi ve securable resource’u barındırır; ticket’ı servis bağlamında kabul eder, logon session/token oluşturur ve kaynak ACL’sini değerlendirir.
  • Telemetri: DC Security kanalında 4769; oturumun oluşturulduğu hedef üye sunucu Security kanalında 4624.
  • Korelasyon adayı: iki olayda sıfır olmayan LogonGuid; dolu olması veya birebir eşleşme evrensel değildir.

Talebi yapan, kimliği işleyen, kaynağı açan

WS01 istemcisi tunahan adına bir servis bağlamı ister. DC01 üzerindeki KDC, cifs/FS01.iyelabs.example hedefi için ticket işlemini yürütür. Ticket daha sonra istemci tarafından doğrudan FS01’deki servise sunulur.

DC, FS01 üzerindeki dosya DACL’ini kararlaştırmaz. FS01 ticket’ı kabul ettikten sonra yerel bir logon session/token bağlamı oluşturur ve istenen kaynak için kendi yetkilendirme mekanizmasını uygular.

DC her servis bağlantısının veri yolunda değildir

Kerberos service ticket hedef servise doğrudan sunulur. Hedef servis her bağlantıda ticket almak için DC’ye gitmez; ticket cache ve protokol ayrıntıları nedeniyle “bir bağlantı, bir yeni 4769” eşitliği kurulamaz.

Bu ayrım hem mimariyi hem arıza ayırmayı netleştirir: KDC’nin ticket üretmesi, hedef servisin bağlantıyı kabul ettiği veya kaynağın erişime izin verdiği anlamına gelmez.

İki host, iki kayıt, iki soru

DC01 üzerindeki 4769, service ticket işlemini gösterir. FS01 üzerindeki 4624, hedefte bir logon session oluşturulduğunu gösterir. Dosya erişimi ise ayrıca nesne erişimi kanıtı gerektirir.

Microsoft alan açıklamalarına göre sıfır olmayan LogonGuid korelasyona yardımcı olabilir. Ancak sıfır GUID, ticket tekrar kullanımı, saat/toplama gecikmesi ve farklı veri yolları birebir join varsayımını bozar.

Bekleyen doğrulama sınırı

Artifact çifti kaynak belgelerdeki alanların sentetik alt kümeleridir; gerçek bir AS/TGS/AP akışından alınmadı. Eşleşen GUID yalnızca uygulamanın karşılaştırma davranışını göstermek içindir.

PAC doğrulaması gibi servis/DC etkileşimi istisnaları ve NTLM yolu bu başlangıç dersinde genellenmez; ilgili iddialar sonraki derslere bırakılır.

Durum ve veri akışı

  1. WS01, domain principal’ı için Kerberos bağlamını edinir.
  2. Bir servise erişirken DC01/KDC’den service ticket ister.
  3. DC01 isteği işler. İlgili Kerberos Service Ticket Operations denetimi açıksa kendi Security kanalında 4769 kaydı oluşur.
  4. WS01 ticket’ı doğrudan FS01’deki hedef servise sunar.
  5. FS01 ticket’ı kabul edip network logon session oluşturursa, ilgili Logon denetimi açıkken FS01’in Security kanalında 4624 kaydı oluşur.
  6. FS01 token ile kendi kaynak security descriptor’ını değerlendirir.
  7. DC kaydı, hedef oturumu ve nesne erişimi ayrı kanıtlar olarak yorumlanır.

2. Exploitation / İstismar

Broken trust assumption

Bozulan varsayım: “Üye sunucu yalnız veri taşır; yerel yönetici/SYSTEM düzeyi kontrol domain kimlik altyapısına etkisizdir ya da doğrudan Domain Admin demektir.” Gerçek etki önce hostla sınırlıdır; domain’e genişleme, hostta bulunan veya hosta güvenen daha güçlü kimlik ve haklara bağlıdır.

Technical prerequisites

  • Üye sunucuda yerel yönetici, SYSTEM veya eşdeğer servis kontrolü.
  • Daha geniş etki için sunucuda ayrıcalıklı domain hesabı oturumu, güçlü servis hesabı, yeniden kullanılan yerel kimlik bilgisi ya da makine hesabına verilmiş özel domain hakkı.
  • Elde edilen kimliğin başka sistemlerde kabul edilmesi veya AD nesneleri üzerinde gerçekten etkili hakkı bulunması.

Exploitation mechanism / İstismar mekanizması

Üye sunucu kontrolü öncelikle o hostun servislerini, süreçlerini, yerel SAM’ini, logon session’larını ve verisini etkiler. Domain’e sıçrama otomatik değildir: saldırganın hostta kalan daha güçlü bir credential’a erişmesi, servis/makine hesabı hakkını kullanması veya başka hedefte kabul edilen yeniden kullanılmış bir sır bulması gerekir. DC’de ayrıcalıklı kontrol ise AD DS verisi ve domain tarafından yönetilen sistemler için farklı ve daha geniş bir güven sınırını tehdit eder.

Host kontrolü ile domain kontrolünü eşitleme

FS01’deki yerel Administrators üyeliği IYELABS\Domain Admins üyeliği değildir. Başlangıç etkisi FS01’in yerel güvenlik alanıdır.

Daha geniş yol varsa bunu somut bağımlılık açıklar: ayrıcalıklı oturum, servis hesabı, makine hesabı hakkı veya yeniden kullanılan credential.

Rol ayrımı saldırı yüzeyini de ayırır

İstemci credential kullanım noktası, DC merkezi kimlik/ticket noktası, üye sunucu ise credential kabulü ve kaynak kararı noktasıdır. Her birinin ele geçirilme etkisi aynı değildir.

“Server ele geçirildi, domain bitti” hükmü ancak aradaki kimlik ve hak zinciri kanıtlandığında kurulabilir.

3. Defense & Detection / Savunma ve tespit

Telemetry scope

  • DC kanıtı: Security/4769; Audit Kerberos Service Ticket Operations; olay yalnız domain controller üzerinde oluşur.
  • Kaynak kanıtı: FS01 Security/4624; Audit Logon; olay logon session’ın oluşturulduğu hedefte oluşur.
  • Bu olaylar için nesne SACL’i gerekmez. Dosya/nesne erişimini göstermek istenirse ilgili Object Access alt kategorisi ve uygun SACL ayrı gereksinimdir.

Events and relevant fields

  • 4769 / TargetUserName, ServiceName, ServiceSid, TicketEncryptionType, IpAddress, Status ve LogonGuid: KDC’nin ticket işlem bağlamı.
  • 4624 / TargetUserSid, TargetUserName, TargetDomainName, TargetLogonId, LogonType, AuthenticationPackageName, IpAddress ve LogonGuid: hedefte oluşturulan oturum bağlamı.
  • 4769 Version 0 artifact’i klasik alan alt kümesini kullanır; Version 2’ye özgü yeni alanlar varsayılmaz.
  • 4624 LogonType 3, Network; AuthenticationPackageName Kerberos seçilmiştir. Bu sentetik değerler lab sonucu değildir.

Önce gözlem noktasını yaz

Bir olayın EventID’si kadar üretici hostu da önemlidir. 4769 KDC sorusunu, 4624 hedef logon sorusunu yanıtlar.

İki kaydı tek bir “başarılı erişim” olayı gibi birleştirmek, kaynak yetkilendirmesini görünmez kılar.

Korelasyon sonuç değil hipotezdir

Eşleşen LogonGuid bağ kurmaya yardımcı olur; olayların tek başına söylediğinden fazlasını kanıtlamaz. Nesne erişimi için kaynakta ek kanıt gerekir.

GUID sıfırsa korelasyonun kesinliği düşer. Host, hesap, adres ve zaman bileşimi çevresel baseline ile değerlendirilmelidir.

Detection logic · XPath

DC akışı: *[System[(EventID=4769)]]
Kaynak akışı: *[System[(EventID=4624)]]

Query assumptions

  • Bunlar iki ayrı Windows Event Log XPath aday filtresidir; XPath hostlar arasında join yapmaz.
  • Korelasyon SIEM veya uygulama katmanında yapılmalı; aynı ve sıfır olmayan LogonGuid yalnız bir aday bağdır.
  • Sıfır GUID durumunda hesap, istemci adresi, hedef ve dar zaman aralığı daha zayıf kanıt sağlar; evrensel korelasyon penceresi tanımlanmamıştır.
  • Sorgular ve sentetik çift gerçek Windows/SIEM veri kümesinde çalıştırılmadı.

False positives

  • Yoğun uygulama sunucuları ve servis hesapları çok sayıda normal 4769/4624 üretir.
  • Ticket cache nedeniyle her hedef bağlantısına yeni 4769 eşlik etmeyebilir.
  • NAT, saat farkı ve toplama gecikmesi adres/zaman korelasyonunu yanıltabilir.
  • Negatif örnek: 4769 bulunması FS01’de 4624 veya dosya erişimi bulunduğunu kanıtlamaz.

Hardening

  • Ayrıcalıklı domain hesaplarının member server’larda oturum açmasını kısıtla.
  • Yerel Administrators üyeliğini ve servis kontrol haklarını en az gerekli kapsamda tut.
  • Servis ve makine hesaplarına yalnız gereken domain haklarını ver; hak zincirlerini düzenli incele.
  • Yönetim işlemlerini güvenilir, ayrı yönetim hostlarından yürüt; DC’leri ayrı kritik katman olarak koru.
  • DC 4769 ve üye sunucu 4624 veri akışlarını ayrı topladığını doğrula; sonra kontrollü lab akışıyla GUID doluluğu ve korelasyon davranışını ölç. Bu doğrulama henüz yapılmadı.

Örnekler üzerinde oku / Read the examples

ÖRNEĞİ BİRLİKTE OKUYALIM

EĞİTİM İÇİN HAZIRLANDI

Bu kayıt hangi hesabı ve hangi bağlamı gösteriyor?

DC01 · 4769 service ticket işlemi (sentetik)

01
Sonuç kodu0x0

Bu olayın sonuç kodu. Başarı veya hata anlamı olayın türüne bağlıdır; tek başına saldırı kanıtı değildir.

02
Hesabın ait olduğu yerIYELABS.EXAMPLE

Hesabın domain veya bilgisayar bağlamı. Yerel bir hesapta bilgisayar adını görebilirsin.

03
İlgili hesabın adıtunahan@IYELABS.EXAMPLE

Kayıtta yazan hesap adı. Ad tek başına farklı otoritelerdeki hesapların aynı olduğunu göstermez.

04
İstenen servisFS01$

Bu alanı Event ID ile birlikte oku. 4769’da ticket istenen hesap veya bilgisayar adıdır; tam SPN metni olduğunu varsayma. Bir hesap birden fazla SPN barındırabilir.

Buradan çıkaracağın fikir

Alanları birlikte oku: hesap, nesne, servis ve sonuç farklı soruların cevaplarıdır. Bir kayıt, sistemin bütün hikâyesi değildir.

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ı

Microsoft 4769 Version 0 belgesindeki dersle ilgili klasik EventData alanlarının sentetik alt kümesidir; tam kayıt değildir. Status 0x0 yalnız KDC sonucudur, FS01 erişim sonucu değildir. Gerçek DC’den alınmadı ve parser’da doğrulanmadı.

Ham kaydı aç · EVENT-XML
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System><Provider Name="Microsoft-Windows-Security-Auditing"/><EventID>4769</EventID><Version>0</Version><Channel>Security</Channel><Computer>DC01.iyelabs.example</Computer></System>
  <EventData><Data Name="TargetUserName">tunahan@IYELABS.EXAMPLE</Data><Data Name="TargetDomainName">IYELABS.EXAMPLE</Data><Data Name="ServiceName">FS01$</Data><Data Name="ServiceSid">S-1-5-21-111111111-222222222-333333333-1108</Data><Data Name="TicketOptions">0x40810000</Data><Data Name="TicketEncryptionType">0x12</Data><Data Name="IpAddress">::ffff:192.0.2.21</Data><Data Name="IpPort">51477</Data><Data Name="Status">0x0</Data><Data Name="LogonGuid">{8f2a4c11-5d90-4a37-9be2-71c4ad0f3e55}</Data><Data Name="TransmittedServices">-</Data></EventData>
</Event>

ÖRNEĞİ BİRLİKTE OKUYALIM

EĞİTİM İÇİN HAZIRLANDI

Bu kayıt hangi hesabı ve hangi bağlamı gösteriyor?

FS01 · 4624 network logon (sentetik)

01
Hesabın ait olduğu yerIYELABS

Hesabın domain veya bilgisayar bağlamı. Yerel bir hesapta bilgisayar adını görebilirsin.

02
Hesabın kimlik numarasıS-1-5-21-111111111-222222222-333333333-1105

SID, hesabı görünen adından ayıran güvenlik kimliğidir. İki örnekte ad aynıyken SID farklı olabilir.

03
İlgili hesabın adıtunahan

Kayıtta yazan hesap adı. Ad tek başına farklı otoritelerdeki hesapların aynı olduğunu göstermez.

04
Oturumun türü3

Oturumun nasıl oluşturulduğunu sınıflandıran değer. Bu sayı tek başına dosya erişiminin gerçekleştiğini göstermez.

Buradan çıkaracağın fikir

Alanları birlikte oku: hesap, nesne, servis ve sonuç farklı soruların cevaplarıdır. Bir kayıt, sistemin bütün hikâyesi değildir.

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ı

Microsoft 4624 Version 2 alanlarından dersle ilgili sentetik alt kümedir. LogonGuid ilk artifact ile bilerek eşleştirilmiştir; gerçek korelasyon sonucu veya dosya erişimi değildir. Lab/parser doğrulaması yoktur.

Ham kaydı aç · EVENT-XML
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System><Provider Name="Microsoft-Windows-Security-Auditing"/><EventID>4624</EventID><Version>2</Version><Channel>Security</Channel><Computer>FS01.iyelabs.example</Computer></System>
  <EventData><Data Name="TargetUserSid">S-1-5-21-111111111-222222222-333333333-1105</Data><Data Name="TargetUserName">tunahan</Data><Data Name="TargetDomainName">IYELABS</Data><Data Name="TargetLogonId">0x9c53</Data><Data Name="LogonType">3</Data><Data Name="AuthenticationPackageName">Kerberos</Data><Data Name="WorkstationName">WS01</Data><Data Name="IpAddress">192.0.2.21</Data><Data Name="LogonGuid">{8f2a4c11-5d90-4a37-9be2-71c4ad0f3e55}</Data></EventData>
</Event>

İki yanlış kanı / Two reality checks

Sanılan: Üye sunucu domain kullanıcısını doğruladığında DC bütün kaynak izinlerini de kararlaştırır.
Gerçekte: DC kimlik ve ticket işlemini yürütür; istemci ticket’ı hedef servise sunar. Üye sunucu oturumu oluşturur ve kendi kaynağı için security descriptor üzerinden ayrı yetkilendirme kararı verir.
Sanılan: Bir üye sunucuda yerel yönetici olmak doğrudan Domain Admin olmaktır.
Gerçekte: Başlangıç etkisi o hostun yerel güvenlik alanıyla sınırlıdır. Domain etkisi ancak hostta bulunan daha güçlü kimlik, yeniden kullanılan credential ya da servis/makine hesabına verilmiş gerçek domain hakları üzerinden oluşur.

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

DC01 service ticket verdi. Reports READ kararını kim verir?

Bir cevap seç

Bir ipucu

Ticket’ı veren host ile dosyayı barındıran host farklı.

Cevabın gerekçesini oku

FS01, istemciyi temsil eden güvenlik bağlamıyla resource izinlerini değerlendirir.

KDC dosya DACL’ini kararlaştırmaz; authentication materyali sonraki kararın girdisidir.

2 / 3 · KANITI OKU

Bu iki kayıt neyi kanıtlar, neyi kanıtlamaz?

Sentetik host/event eşleştirmesi; pedagojik etiketler.
DC01 / Event
4769 — service ticket operation
FS01 / Event
4624 — target logon
File-operation evidence / Dosya işlemi kanıtı
Not provided
Bir cevap seç

Bir ipucu

Ticket, target logon ve file operation üç ayrı gözlemdir.

Cevabın gerekçesini oku

KDC ve target logon gözlemleri var; raporun okunduğu henüz kanıtlanmadı.

Kaynak işlemi için ayrı resource-host kanıtı gerekir.

3 / 3 · KENDİN ANLAT

Yeni 4769 bulamadığında neden “WS01 FS01’e hiç bağlanmadı” diyemezsin?

Bir ipucu

Her bağlantı yeni ticket mı ister?

Cevabın gerekçesini oku

WS01 uygun cached service ticket’ı yeniden kullanabilir; bir bağlantı bir yeni 4769 eşitliği yoktur. Audit/toplama koşullarını ve FS01’deki logon/resource gözlemlerini ayrı değerlendirmek gerekir.

  • Ticket cache/reuse olasılığını belirttim.
  • Target logon ve resource kanıtını ayrı aradı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.

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.

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