Skip to content
Siber Vatan

Windows Event ID ile IOC Tespiti

Efe Körün · @KorvNN

Giriş

Bir Windows sistemine yapılan saldırı geride log bırakır. Ama tek bir event kaydı çoğu zaman hiçbir şey söylemez: 4625 (başarısız oturum açma) yanlış yazılmış bir paroladan da gelebilir, brute-force denemesinden de.

Fark korelasyonda ortaya çıkar. Aynı kaynaktan kısa sürede onlarca 4625, ardından tek bir 4624 geldiğinde tablo değişir.

Bu yazıda Windows Event ID'lerin ne olduğuna, bir event kaydının hangi alanlardan oluştuğuna ve bu kayıtların Cyber Kill Chain aşamalarına göre nasıl IOC'ye dönüştüğüne bakıyoruz.

1. Windows Event ID Nedir?

Windows Event ID, işletim sistemi üzerinde gerçekleşen belirli bir olay türünü temsil eden sabit bir kimlik numarasıdır.

Bu numara olayın ne olduğunu ifade eder; olayın kim tarafından, ne zaman, hangi sistemde ve hangi bağlamda gerçekleştiği ise kaydın detaylarında tutulur.

Bir kullanıcı oturum açtığında, bir işlem başlatıldığında veya sistem yapılandırmasında bir değişiklik yapıldığında ilgili bileşen bu olayı kendi Event ID'si ile kayda alır. Numaralar sabit olduğu için aynı tür olaylar farklı sistemlerde tutarlı ve karşılaştırılabilir şekilde izlenebilir; loglar arasında filtreleme, korelasyon ve davranış analizi bu sayede mümkün olur.

2. Event ID Kaynakları

Event ID'ler, sistemi oluşturan bileşenler ve servisler tarafından üretilir. Bu bileşenlere genel olarak Event Provider denir.

KaynakKapsamÖrnekler
Sistem BileşenleriKernel, sürücüler ve Windows servisleriDisk yönetimi, ağ adaptörü olayları, güç yönetimi
Windows Servisleriİşletim sisteminde çalışan servislerActive Directory, Task Scheduler, Windows Update
UygulamalarKullanıcı uygulamalarından üretilen loglarSQL Server, IIS, Office uygulamaları
Security AuditingKullanıcı girişleri ve yetki değişiklikleriOturum açma, başarısız giriş denemeleri, grup üyeliği değişiklikleri

3. Bir Event Kaydının Yapısı

Windows'ta tutulan her event sadece bir numaradan ibaret değildir. Kaydı doğru yorumlayabilmek için birden fazla alan gerekir.

AlanNe söyler
Event IDOlayın ne tür bir olay olduğunu belirtir
Event ProviderOlayı üreten bileşeni gösterir
Log ChannelOlayın hangi log altında tutulduğunu belirtir
Level (Severity)Olayın önem derecesini ifade eder
Time StampOlayın gerçekleştiği zamanı gösterir; olay zinciri çıkarmak için kritiktir
User / AccountOlayın hangi kullanıcı bağlamında gerçekleştiğini gösterir
Computer / HostnameOlayın hangi sistemde üretildiğini belirtir

Korelasyonu mümkün kılan alanlar Time Stamp, User ve Computer'dır. Event ID olayın türünü verir; zinciri kuran ise bu üç alandır.

4. Event ID'den IOC'ye

Event ID'leri tek tek ele almak çoğu zaman yalnızca normal sistem aktivitesini gösterir ve saldırıyı ortaya çıkarmaz. Bu event'leri zaman, kullanıcı, host ve işlem bağlamında korele ederek analiz ettiğimizde ise saldırganın bıraktığı kritik izler görünür hâle gelir.

IOC (Indicator of Compromise) tam bu noktada devreye girer: sistemde gerçekleşmiş veya hâlâ aktif olan saldırı izlerini gösteren somut göstergelerdir. Çoğu zaman tek bir event değil, birden fazla Event ID'nin ve davranış zincirinin bir araya gelmesiyle oluşur.

Başarısız ve başarılı oturum açma denemeleri, yeni process oluşumları, zamanlanmış görev değişiklikleri ve yetkili işlem aktiviteleri korelasyonla birleştirildiğinde saldırının hangi aşamada olduğu ve sistem üzerindeki etkisi net şekilde görülebilir.

Bu event'lerin çoğu varsayılan olarak kapalıdır

Aşağıdaki tablolarda geçen bazı kayıtlar, denetim politikası açılmadan hiç üretilmez. 4688 için process oluşturma denetimi (komut satırını da görmek istiyorsanız ayrıca "Include command line in process creation events"), 4104 için PowerShell Script Block Logging etkinleştirilmelidir. Politika açılmadan loglarda bu kayıtları aramak sonuçsuz kalır.

5. Logon Type'lar

4624 ve 4625 kayıtlarındaki Logon Type alanı, oturumun nasıl açıldığını söyler. Aynı Event ID'nin anlamı bu alana göre tamamen değişir.

TypeAdıAnlamı
0Systemİşletim sisteminin kendi başlattığı oturumlar
2InteractiveFiziksel olarak klavye/ekran üzerinden yapılan girişler
3NetworkAğ üzerinden yapılan erişimler (SMB, paylaşımlar, servis bağlantıları)
4BatchZamanlanmış görevler tarafından yapılan girişler
5ServiceServis hesapları tarafından yapılan girişler
7UnlockKilitli bir oturumun açılması
8NetworkCleartextAçık metin kimlik bilgisiyle ağ erişimi
10RemoteInteractiveUzak Masaüstü (RDP)
11CachedInteractiveDomain bağlantısı yokken yapılan girişler

6. Kill Chain Aşamalarına Göre Kritik Event ID'ler

6.1 Reconnaissance ve Initial Access

Event IDNe gösterirIOC açısından
4625Başarısız kimlik doğrulama girişimleriBrute-force tespitinin temel göstergesi: kısa sürede tekrar, aynı kaynaktan çok kullanıcı, aynı kullanıcıya çok deneme
4624Başarılı girişlerDaha önce görülmeyen kullanıcı, alışılmadık saat, ağ veya uzak erişim üzerinden giriş
4768 / 4769Kerberos ticket talepleriDomain ortamında kullanıcı ve servis keşfi; alışılmadık servis talepleri, normal dışı kaynaklardan gelen istekler
4776NTLM tabanlı kimlik doğrulama denemeleriPass-the-Hash senaryoları
4648Açık kimlik bilgisiyle yapılan oturum açmaDaha önce görülmeyen kullanıcı, alışılmadık saat, uzak erişim üzerinden giriş

6.2 Delivery

Event IDNe gösterirIOC açısından
4656Bir dosya veya nesneye erişim talebiDosya yazımı öncesi erişim denemeleri, şüpheli süreçlerin açtığı dosya handle'ları
5156İzin verilen ağ bağlantısıWeb üzerinden payload indirme, alışılmadık IP veya portlara bağlantı
4663Dosya oluşturma, yazma veya değiştirmeKullanıcı dizinlerine yeni dosya yazımı, e-posta eki veya web üzerinden gelen dosyalar, kısa sürede çok sayıda dosya oluşturulması
5145Ağ paylaşımı dosya erişim kontrolüSMB üzerinden dosya kopyalama, normalde erişilmeyen paylaşımlara denemeler
5158Bir uygulamanın porta bağlanma girişimiDownloader veya proxy benzeri davranışlar, beklenmeyen port kullanımı

6.3 Exploitation

Event IDNe gösterirIOC açısından
4688Exploit sonrası ilk süreç veya payload çalıştırılmasıBeklenmeyen parent–child process ilişkileri; Office, tarayıcı veya servis süreçlerinden shell açılması; cmd.exe, powershell.exe, mshta.exe
4672Yüksek ayrıcalıkların atanmasıExploit ile SYSTEM veya admin yetkisi kazanımı, normal kullanıcıdan beklenmeyen ayrıcalıklar
4104PowerShell Script Block LoggingObfuscation içeren kodlar, bellek içi payload çalıştırma (Invoke-Expression, DownloadString)
4624Exploit sonrası oluşan oturumlarServis veya ağ tabanlı beklenmeyen girişler

6.4 Installation

Event IDNe gösterirIOC açısından
4698Yeni zamanlanmış görev oluşturulmasıBeklenmeyen görevler, kullanıcı oturumundan bağımsız çalışan task'lar, şüpheli komut veya script çağrıları
4700Mevcut zamanlanmış görevin değiştirilmesiMeşru görevlerin kötüye kullanılması; komut, tetikleyici veya çalıştırılan dosyanın değiştirilmesi
7045Sisteme yeni servis eklenmesiMeşru olmayan servis adları, kullanıcı dizinlerinden çalışan servisler, SYSTEM yetkisiyle kalıcılık
4720Yeni kullanıcı hesabı oluşturulmasıBelgesiz hesap oluşturulması, servis veya yönetici amaçlı adlandırmalar, mesai dışı saatlerde açılan hesaplar
4657Registry anahtar veya değer değişikliğiRun, RunOnce, Services anahtarları; başlangıçta çalışan persistence mekanizmaları

6.5 Command & Control

Event IDNe gösterirIOC açısından
5156Bir uygulamanın ağ bağlantısına izin verilmesiDış IP'lere düzenli ve periyodik bağlantılar (beaconing), alışılmadık portlar veya ülkeler, kullanıcı etkileşimi olmadan yapılan outbound trafik
5158Bir uygulamanın belirli bir porta bağlanmasıC2 ajanlarının yerel port dinlemesi, reverse shell veya tünelleme senaryoları
4688C2 ile ilişkili süreçlerin çalıştırılmasıAğ bağlantısı kuran beklenmeyen binary'ler, parent–child ilişkisinde anormallikler
4104C2 üzerinden alınan komutların PowerShell ile yürütülmesiSürekli çalışan veya loop içeren script'ler, encode/obfuscation içeren komutlar

Weaponization neden yok?

Cyber Kill Chain'in yedi aşamasından Weaponization, saldırganın kendi tarafında gerçekleşir; hedef sistemde bir iz bırakmadığı için Windows event loglarında karşılığı yoktur. Son aşama olan Actions on Objectives ise saldırganın amacına göre değiştiğinden sabit bir Event ID kümesine indirgenemez; veri sızdırma senaryosunda 4663 ve 5156, imha senaryosunda ise farklı kayıtlar öne çıkar.

Kaynakça

Windows Event ID İçin Kaynakça