Tehdit Avcılığı Süreçlerinde Sysmon Kullanımı
Operasyon süreçlerinde siber tehditleri anlamlandırabilmek, sistem üzerindeki aktiviteleri incelemek, farklı kaynaklardan gelen log toplamak oldukça önemlidir. Bunlar, tehdit avcıları için önemli durumlardır. Bu noktada karşımıza Sysmon aracı çıkmaktadır.
Sysmon, kurulu olduğu sistem üzerindeki aktiviteleri kayıt altına alan Microsoft’un geliştirdiği bir araçtır (Mark Russinovich tarafından geliştirilmiştir).
Windows Olay Günlükleri ile neredeyse aynı işleve sahiptir fakat Windows Olay Günlüklerine nazaran daha fazla görünürlük sağlar. Bir EDR ürününün yerini tamamen almayabilir fakat açık kaynak olarak güçlü bir araçtır. Sistemde oluşan hareketleri, aktiviteleri, güvenlik uyarılarını kayıt altına alarak analiste daha detaylı inceleme imkanı sunmaktadır. Ayrıca farklı SIEM çözümlerine de entegre olabilir. Genel özellikleri aşağıdaki gibidir.
Sysmon Özellikleri:
- Bir process üzerinde gerçekleşen durumları kayıt altına alır.
- Ağ bağlantıları hakkında bilgiler verir ve üzerinde gerçekleşen durumları kayıt altına alır.
- Dosya oluşturma zaman damgaları değişikliklerini kayıt altına alır.
- Process belleğine erişim durumlarını kayıt altına alır.
- Ham disk erişimi durumlarını kayıt altına alır.
Kurulumundan bahsetmek gerekirse en basit hali ile birkaç maddede özetlenebilir:
- Sysmon, https://docs.microsoft.com/en-us/sysinternals/downloads/sysmon adresinden indirilir.
- Daha sonra indirilen zipli dosya çıkarılır ve içerisindeki .exe dosyası yönetici olarak çalıştırılır (burada alternatif olarak yönetici olarak çalıştırılacak bir powershell veya cmd ile de bu işlem yapılabilmektedir.).
- Konfigürasyon olarak ise https://github.com/SwiftOnSecurity/sysmon-config sitesinden “sysmonconfig-export.xml” da içinde bulunduğu repo indirilir ve zipten çıkarılır. Daha sonra önceden indirilen sysmon dosyasının dizinine aktarılır.
- En son olarak ise bu dizin içerisinde administrator yetkisi ile bir cmd veya powershell açılır ve yapılandırma işlemi için “sysmon.exe -accepteula -i sysmonconfig-export.xml” komutu çalıştırılır ve işlem tamamlanır. Bu dosyadan bahsetmek gerekirse sysmonun aktiviteleri nasıl loglayacağı hakkında bilgiler ve tanımlamalar bulunmaktadır.
Sysmon Loglarının Konumu: Event Viewer > Applications and Services Logs > Microsoft > Windows > Sysmon > Operational
Sysmon loglarının incelenmesi olarak örnek bir görünümü aşağıdaki gibidir. Oldukça basit bir arayüze sahiptir.
Sysmon logları üzerinde tehdit avcılığı yapılmadan önce bilinmesi gereken farklı özelliklere sahip sysmon event (olay) kimlikleri bulunmaktadır. Sistemde gerçekleşen farklı aktivitelerin kayıtları bu eventler üzerinden görülebilmektedir. Sırası ile incelemek gerekirse:
Event ID 1 (Process Creation): Sistemde oluşan süreçler hakkında detaylı bilgi sunar ve günlüğe kaydeder.
Event ID 2 (FileCreateTime): Sistem üzerinde yeni bir dosya oluşturma zamanı ve dosya oluşturma zamanının bütünlüğünü kontrol etmede kullanılır ve bunu günlüğe kaydeder.
Event ID 3 (NetworkConnect): Makinedeki TCP/UDP (network) bağlantılarını günlüğe kaydeder.
Event ID 4 (Sysmon service state changed): Sysmon hizmetinin durumunu bildirir ve günlüğe kaydeder(Başlatıldı, durduruldu şeklinde).
Event ID 5 (ProcessTerminate): Sistem üzerindeki bir process in sonlandırılması durumunu günlüğe kaydeder.
Event ID 6 (DriverLoad): Sisteme yüklenen sürücü hakkında bilgi sağlar. Sistem üzerinde yapılandırılan hash ve imza bilgileri doğrulanır. İmza, dosyanın yüklendikten sonra kaldırılıp kaldırılmadığını gösterir. Ayrıca bunu günlüğe kaydeder.
Event ID 7 (Image loaded): Belirli bir process te, bir modül yüklendiğinde bunu günlüğe kaydeder.
Event ID 8 (CreateRemoteThread): Burada gerçekleşen olayda, bir process in başka bir process de bir workflow oluşturduğunu algılar ve günlüğe kaydeder. Bu teknik, kötü amaçlı yazılımlar tarafından kod enjeksiyonu ve sistem üzerinde gizlenmede aktif bir şekilde kullanılır.
Event ID 9 (RawAccessRead): RawAccessRead olayı, bir process in “\\.\” gösterimini kullanarak driver’den okuma işlemleri gerçekleştirilmesi gibi durumları algılar ve günlüğe kaydeder.
Event ID 10 (Process Access): Bir process’in başka bir process’i çalıştırması ile olay raporlarına erişir. Genellikle bilgi sorguları veya hedef işlemin adres alanını okuma ve yazma tarafından takip edilen bir işlemdir. Bu, kimlik bilgilerini çalmak için local güvenlik yetkilisi gibi işlemlerin bellek içeriklerini okuyan hackerlar tarafından kullanılan araçların algılanmasını sağlar. Bunu da günlüğe kaydeder.
Event ID 11 (FileCreate): Bir dosya oluşturulduğunda veya üzerine yazıldığında günlüğe kaydedilir. Biraz daha açıklamak gerekirse, başlangıç klasörü gibi otomatik başlatma konumlarının yanı sıra, ilk temas anında malware nin yaygın olarak kaydının düştüğü yerlerden temp ve indirme dizinlerini izlemek için kullanılmaktadır.
Event ID 12 (RegistryEvent – Object create and delete): Sistemde silme işlemleri, Kayıt Defteri konumlarındaki değişiklikleri veya belirli kötü amaçlı kayıt defteri değişikliklerini günlüğe kaydeder.
Event ID 13 (RegistryEvent – Value Set): Bu Event ID ‘de, kayıt defteri değeri ile ilgili değişiklikler günlüğe kaydedilir.
Event ID 14 (RegistryEvent – Key and Value Rename): Bu Event ID ‘de, yeniden adlandırılan anahtarın veya değerin yeni adı günlüğe kaydedilir.
Event ID 15 (FileCreateStreamHash): İsimlendirilmiş bir dosya trafiği oluşturulduğunda günlüğe kaydedilir ve akışın atandığı dosyanın içeriğinin yanı sıra adlandırılmış akışın içeriklerinin hash değerini günlüğe kaydeden olaylar üretilir ve günlüğe kaydeder.
Event ID 16 (Service Configuration Change): Filtreleme kuralları güncelleştirilmesi gibi bir durum olduğunda Sysmon yapılandırmasındaki değişiklikler bu günlüğe kaydedilir.
Event ID 17 (PipeEvent – Pipe Created): İstemci ile sunucu arasında bir kanal oluşturulduğunda oluşur. Bunu günlüğe kaydeder. Kötü amaçlı yazılımlar genellikle process’ler arası iletişim için bu kanalları kullanır.
Event ID 18 (PipeEvent – Pipe Connected): İstemci ile sunucu arasında bir kanal bağlantısı kurulduğu zaman bu durumu günlüğe kaydeder.
Event ID 19 (WmiEvent – WmiEventFilter Activity Detected): Zararlı yazılımlar tarafından kullanılan yöntemlerden WMI olay filtresi algılandığında, WMI namespace, filtre adı ve filtre ifadesini günlüğe kaydeder.
Event ID 20 (WmiEvent – WmiEventCostumer Activity Detected): WMI müşterilerinin kaydını, müşteri adını ve hedefini algılayarak günlüğe kaydeder.
Event ID 21 (WmiEvent – WmiEventCostumerTo Filter Activity Detected): Müşteri bir filtreye bağlandığında, müşteri adını ve filtre yolunu günlüğe kaydeder.
Event ID 22 (DNSEvent – DNS query): Bir process, DNS sorgusu yürüttüğünde, sonucun başarılı veya başarısız durumunu, önbelleğe alınmış olsun veya olmasın gibi durumları gözetmeksizin günlüğe kaydeder.
Event ID 23 (FileDelete – File Delete archived): Sistemde silinen bir dosya olduğunda bunu günlüğüne kaydeder. Buna ek olarak silinen dosya da ArchiveDirectory’ye kaydedilir (Varsayılan dosyası C:\Sysmon’ dur).
Event ID 24 (ClipboardChange – New Content in the Clipboard): Sistem panosu içeriğinde bir değişiklik olduğunda bunu günlüğe kaydeder.
Event ID 25 (ProcessTampering – Process image change): Process gizleme teknikleri olarak “hollow” veya “herpaderp” gibi durumlar algılandığında bunu günlüğe kaydeder.
Event ID 26 (FileDeleteDetected – File Delete Logged): Bir dosya silindiğinde bunu günlüğe kaydeder.
Event ID 255 (Error): Sysmon hizmetinin çalışmasında bir hata oluşmuşsa veya sistem fazla yük altında ise bunu günlüğe kaydeder.
Loglama durumuna bir örnek verecek olursak, bir cmd üzerinden powershell.exe’ yi çağırdığımızda Sysmon logları üzerinde event id 8 şeklinde bir kayıt karşımıza çıkmaktadır.
Faydalanılan Kaynaklar:
- https://www.socinvestigation.com/threat-hunting-using-sysmon-advanced-log-analysis-for-windows/
- https://systemweakness.com/list-of-sysmon-event-ids-for-threat-hunting-4250b47cd567
- https://alhydrtprk.medium.com/sysmon-kurulum-ve-yap%C4%B1land%C4%B1rmas%C4%B1-dc567d502bf6
- http://www.syspanda.com/index.php/2017/10/10/threat-hunting-sysmon-word-document-macro/
- https://github.com/SwiftOnSecurity/sysmon-config
- https://tec-refresh.com/threat-detection-with-sysmon/