Webinar’a Katılın | Siber Tehditlere Karşı Güçlü Koruma

WINDOWS OLAY GÜNLÜKLERİ VE SYSMON KULLANIMI

Olay günlükleri , sistemde gerçekleşen olayları anlamak ve sorunları teşhis etmek adına sistem çalışırken meydana gelen olayları kaydeder. Bir mavi ekip üyesi olarak bunları anlamak çok önemlidir. Ayrıca birden çok kaynaktan gelen olay kayıtlarını birleştirmek de yararlı olabilir. İşte burada SIEM çözümleri devreye girer. Splunk ve Elastic gibi SIEM araçları , birden çok kaynaktan gelen kayıtları toplar gerçekleşen anomalilerde alarmlar üretir. Tehdit tespiti ve olay müdahalesi de SIEM çözümlerinin birçok yeteneği arasındadır.

Olay günlükleri , not defteri ile görüntülenebilecek basit “txt” dosyaları değildir fakat Windows API kullanılarak XML dosya türüne dönüştürülebilir. Olaylar “.evt” veya “.evtx” uzantıları ile genelde “C:\Windows\System32\winevt\Logs” klasörü altında saklanır.

Windows sistem içerisinden bu olay günlüklerine erişmenin üç anayolu vardır.

  1. Olay Görüntüleyicisi (Grafik Tabanlı Uygulama)
  2. Wevtutil.exe (Komut İstemi Aracı)
  3. Get-WinEvent (Powershell cmdlet)

OLAY GÖRÜNTÜLEYİCİSİ

Olay Görüntüleyicisi , sol altta bulunan Windows logosuna sağ tıklayıp seçilerek kolay bir şekilde açılabilir. Veya bunun için Komut İstemi’ni kullanmak isterseniz “eventvwr.msc” komutu ile açabilirsiniz.

Olay Görüntüleyicisi , görüldüğü üzere üç bölmeden oluşur. Soldaki bölme bizlere olay günlüklerini hiyerarşik bir şekilde verir. Ortadaki bölme ise genel bir bilgi veya seçtiğimiz olaya dair spesifik bilgiler verir. Sağ tarafta iste alınabilecek aksiyonlara dair Eylemler bölmesi yer alır.

Beş adet olay türü vardır. Bunlar:

Hata: Önemli bir probleme işaret eden olay türü.

Uyarı: Çok önemli olmayan fakat ileride gerçekleşebilecek bir problem.

Bilgi: Başarılı bir olay gerçekleştiğinde durumu açıklayan olay türü.

Denetleme Başarısı: Başarılı güvenlik erişimlerini kaydeden olay türü.

Hata Denetle: Başarısız güvenlik erişimlerini kaydeden olay türü.

Windows Günlükleri > Güvenlik’e sağ tıklayalım ve Özellikler sekmesini açalım.

Burada günlüğün yolu , boyutu , ne zaman oluşturulduğu gibi bilgiler yer alır. Ayrıca “Günlüğü Temizle” butonuna tıklayarak da temizleme işlemini yapabilirsiniz. Herhangi bir olay günlüğünden bir olayı seçelim.

Üst kısımda olayın düzeyi , gerçekleştiği tarih ve saat , kaynağı , olay kimliği ve kategorisi yer alır.

Orta kısım Genel ve Ayrıntılar olarak ikiye ayrılır. Genel bölmesinde gerçekleşen olaya dair bilgi verilir ve Ayrıntılar bölmesinde ise Kolay ve XML görünüm yer alır.

 

En sağdaki Eylemler sekmesini kullanarak filtreleme gibi işlemler yapabiliriz.

Olay Görüntüleyicisi’ni inceledik. Oturup binlerce olayı manuel olarak incelemeniz gerektiğini düşünün pek eğlenceli durmuyor değil mi ? Bunun için bir otomasyon yazabilsek çok iyi olurdu. CMD üzerinden olay günlüklerini sorgulayabileceğimiz bir araç olan wevtutil.exe’yi kullanarak bu ihtiyaçlarımızı giderebiliriz.

Powershell kullanarak ulaşabileceğimiz Get-WinEvent cmdlet’ini inceleyerek devam edelim. Örnek Syntax:

Get-WinEvent -LogName Application | Where-Object { $_.ProviderName -Match ‘WLMS’ }

Komut satırını kullanarak olaylar hakkında filtreleme yapabiliriz fakat bunun yerine daha efektif olan FilterHashtable parametresini kullanacağız.

Aşağıdaki tabloyu kullanarak değişkenleri atayabilirsiniz.

Olay Kimlikleri (Event ID’s)

Kullanılan birçok Olay Kimliği (Event ID) olsa da bazılarını öğrenmemiz gerekebilir. Bunları bilmek bize hız kazandırır ve ilk nereye bakacağımızı bilmemize yardımcı olur.

Windows Firewall ile ilgili ID’lere göz atalım.

Olay Günlükleri ile ilgili birkaç ID:

1100: Olay günlüğü servisi kapatıldı

1102: Denetim günlüğü temizlendi

1104: Güvenlik günlüğü tamamen doldu

1105: Olay günlüğü otomatik yedekleme

Ve son olarak bilinmesinde fayda olan birkaç ID:

4782 : Bir hesabın parola hash’ine erişildi

4625 : Giriş başarısız oldu

106 : Görev zamanlandı

4672 : Yönetici hesabına giriş yapıldı

SYSMON

SysMon , sistem etkinliklerini kayıt altına alan SysInternals içerisinde yer alan bir araçtır. Sistemdeki anomalileri belirlemenin yanı sıra ayrıntılı ve iyileştirilmiş olay günlükleri toplar. Komut satırı loglama,DNS kayıtlarını loglama , ağ bağlantılarının takibi , ADS ile oluşturulan dosyaların takibi , işlemlere ait dosya hashlerini alma (IOC olarak kullanılabilir ), işlemlere ait GUID değerlerini kaydetme gibi yeteneklere sahiptir.SIEM araçları ile birlikte yaygın olarak kullanılır. SysMon içeriğindeki olaylar , Windows Olay Görüntüleyicisinde , Uygulama ve HizmetGünlükleri > Microsoft > Windows > Sysmon > Operational altında saklanır.

SysMon , aldığı olayları nasıl analiz edeceğine karar vermesi için bir Config dosyasına ihtiyaç duyar. Bu config dosyası XML formatında olmalıdır. Kendi Config dosyanızı oluşturabilir veya yaygın olarak kullanılan SwiftOnSecurity Sysmon Config’ini indirebilirsiniz.

SysMon , 24 tip olay kimliği (Event ID) içerir. Bunlardan birkaç tanesini inceleyelim.

Olay Kimliği 1 : İşlem Oluşturma

Olay Kimliği 3 : Ağ Bağlantısı

Olay Kimliği 7 : Resim Yüklendi

Olay Kimliği 8 : CreateRemoteThread : Diğer işlemlere kod enjekte eden diğer işlemleri kayıt eder.

Olay Kimliği 11: Dosya Oluşturma Kaydı

Olay Kimliği 12 / 13 / 14: Kayıt Defteri Kaydı

Olay Kimliği 15 : FileCreateStreamHash : Alternate Data Stream kullanılarak oluşturulan dosyaları inceler

Olay Kimliği 22 : DNS Kaydı : DNS sorguları ve olaylarını inceler.

ÖRNEKLER İLE SYSMON KULLANIMI

Metasploit Framework Kullanımı Tespit Etmek

Metasploit Framework genelde 4444 , 5555 , 8888 gibi portları kullanır. Varsayılan olarak 4444’tür. Bu noktada Sysmon-Config dosyamıza şu komutu eklersek bunu tespit edebiliriz.

<RuleGroup name=”” groupRelation=”or”>

<NetworkConnect onmatch=”include”>

<DestinationPort condition=”is”>4444</DestinationPort>

<DestinationPort condition=”is”>5555</DestinationPort>

<DestinationPort condition=”is”>8888</DestinationPort>

</NetworkConnect>

</RuleGroup>

Mimikatz Kullanımı Tespit Etmek

Mimikatz aracı genelde LSASS dumping yapması ile bilinir. Normalde LSASS.exe’ye svchost.exe dışında bir erişim olmaması gerekir. Bunu tespit etmek için kullanacağımız komut:

<RuleGroup name=”” groupRelation=”or”>

<ProcessAccess onmatch=”exclude”>

<SourceImage condition=”image”>svchost.exe</SourceImage>

</ProcessAccess>

<ProcessAccess onmatch=”include”>

<TargetImage condition=”image”>lsass.exe</TargetImage>

</ProcessAccess>

</RuleGroup>

Onmatch=”exclude” ile birlikte SourceImage’ı svchost.exe olarak filtrelediğimizde svchost.exe dışında lsass.exe’ye erişen başka bir işlem olursa buradan bir alarm üretilecek.

Kaynaklar:

Siber Olay Müdahalesi Sırasında Elinizin Altında Olması Tavsiye Edilen Windows Event ID’ler

https://tryhackme.com/room/windowseventlogs

https://tryhackme.com/room/sysmon

https://docs.microsoft.com/en-us/windows/win32/eventlog/event-types

https://docs.microsoft.com/en-us/windows/win32/eventlog/eventlog-key

 

Kategoriler Makaleler