Hepinize selamlar, bu makalemde sizlere Olay Müdahale, Threat Hunting ve saldırıları tespit etme süreçlerinde önemli bir yeri olan WMI ve WMIC nedir, burada kullanılan komutlardan ve görevlerinden bahsedeceğim. Umarım faydalı olur, şimdiden iyi okumalar. 🙂
İlk olarak şu 2 önemli terimi açıklayalım;
- WMIC = Windows Management Instrumentation Command-line – Windows Yönetim Araçları Komut Satırı
- WMI = Windows Management Instrumentation (WMI) – Windows Yönetim Araçları
Windows Yönetim Araçları Komut Satırı (WMIC) , kullanıcıların bir komut istemiyle Windows Yönetim Araçları (WMI) işlemlerini gerçekleştirmesine olanak tanıyan bir yazılım yardımcı programıdır.
WMI
Windows Yönetim Araçları (WMI), sistem yöneticilerine sistem izleme araçlarına erişim sağlayan bir PowerShell alt sistemidir. Bu sistem, hızlı ve verimli bir şekilde sistem yönetimine izin verecek şekilde tasarlanmıştır. Genel olarak yöneticiler sistemler üzerinde WMI’yı kullanarak şu işlemleri yaparlar.
- sistemleri yapılandırma,
- işlemleri veya komut dosyalarını yürütme,
- görevleri otomatikleştirme…
Ancak normalde WMI bu işlemleri gerçekleştirmek için tasarlanmış olsa da, saldırganlar ve hacker grupları tarafından kötü kullanımları da olmaktadır. Bu da aslından WMI’ın ne kadar ürkütücü olabileceğini de bizlere göstermektedir.
WMI’yi yöneticiler için yararlı kılan özellikler, saldırganla içinde önemli ölçüde çekicidir. WMI bahsetmiş olduğumuz özellikleri hem yerel hem de uzak sistemlerde gerçekleştirebilmektedir. Bu da hepimizin aklına gelebileceği gibi saldırganlar tarafınan yanal hareket için kullanılabilmektedir.
Genel anlamda WMI sistemlerimiz içerisinde rutin ve normal aktiviteler olarak görüldüğü için, zararlı ve kötü amaçlı etkinlikleri tespit etmede işleri bir tık zorlaştırmaktadır. Bu nedenle analistler tarafından bu etkinlikler incelenirken son derece titizlikle incelenmelidir.
Saldırganlar WMI’ı genel olarak şu amaçlar için kullanmaktadır;
- yanal hareket,
- bilgi toplamak,
- sistemleri değiştirmek…
wmic.exe
kullanılarak sıkça gerçekleştirilen bir WMI yanal hareket tekniği şu şekildedir:
wmic.exe /node: process call create
Eğer güvenlik sistemleriniz ile oturum açma olaylarını kaydediyorsanız, bu olay ile ilişkilendirilmiş tip(3) oturum açma etkinliği görüntülenmektedir.
Saldırganlar bir diğer yöntem olarak bilgi toplama ve sistemler içerisinde değişiklik yapmaktadırlar. Fidye yazılım saldırıları sırasında, saldırganlar genel olarak dosyaların kurtarılmasını sağlayan Volume Shadow Copy bilgilerini silmektedirler. Bu işlemi yapmak için de şu komut kullanılmaktadır.
wmic shadowcopy delete /noninteractive
wmic process call create vssadmin.exe delete shadows /all /quiet
Savunan bakış açısıyla baktığımız zaman saldırganların yukarıda bahsetmiş olduğum şekilde gerçekleştirmiş olduğu aktiviteler gerçekleştirdiğinde bunları görebilmemiz ve yakalamamız gerekmektedir. Bu aktiviteleri tespit etmek ve yakalamak için şu komutları kullanabiliriz.
process == wmic.exe && command_line_includes ('create' || 'node:' || 'process' || 'call')
process == wmic.exe && command_line_includes ('shadowcopy' && 'delete')
Bu saldırı çeşitlerinin yanısıra saldırganlar WMIC’yi aşağıdaki amaçlarla da kullanabilmektedir;
- hangi antivirüs ürününün yüklenebileceğini belirleme,
- güvenlik duvarı hizmetini durdurma,
- grup üyeliğini sıralama (yerel ve birçok yapılandırmada, etki alanı yöneticisi hesapları dahil) …
Log Toplamak
Bu kısımda bahsetmiş olduğumuz saldırılardan kendimizi korumamız ve analistler tarafından incelenmesini sağlamamız için Windows olaylarından, Sysmon’dan ve diğer yerlerden ilgili güvenlik logları toplanmalıdır.
Windows Olay Kimliği 4688: İşlem Oluşturma
Diğer birçok saldırı tekniğinde olduğu gibi, komut satırı günlüğü etkin halde iken işlem başlatma olaylarını (4688) günlüğe kaydetmek, zengin bir veri kaynağı olabilir. Diğer bir ifadeyle Olay Kimliği 4688, WMI’yı ve diğer etkinlikleri gözlemlemek, normal ile legal aktiviteyi anormal ve şüpheliden ayırmak için en önemli kısımlardan biridir.
Sysmon Olay Kimlikleri 19, 20 ve 21: WmiEvents
Sysmon , WMI’nin kötü amaçlı kullanımını gözlemlemek için yararlı olabilecek (örneğin, 19: WmiEventFilter etkinliği algılanması, 20: WmiEventConsumer etkinliği algılanması ya da 21: WmiEventConsumerToFilter etkinliği algılanmasını ) sağlar. Sysmon, olay filtresi oluşturma, olay tüketicisi oluşturma ve diğer Olay Kimlikleri 19, 20 ve 21’i kullanarak Microsoft-Windows-Sysmon/Operational olay günlüğünde kalıcı WMI aboneliklerini günlüğe kaydeder. Yazılımlar zaman zaman WMI’nin bu özelliklerinden yararlanır ve kötü amaçlı kullanım için izlenmesi kolaydır.
Windows Olay Kimliği 5861: Microsoft-Windows-WMI-Activity/Operational
Microsoft-Windows-WMI-Activity/Operational olay günlüğündeki Olay Kimliği 5861 , kalıcı WMI olay aboneliklerini güvenilir şekilde günlüğe kaydeder . Kalıcı bir olay, bir rakibin WMI kullanarak kalıcılık elde etmesinin birincil yoludur. Bu kalıcılık mekanizması, bir saldırgana hedef sistem üzerinde muazzam derecede kontrol sunmaktadır.
WMIC ile Olay Müdahalesi
Olay müdahale sırasında, WMIC sorgularını kullanarak işletim sistemi bilgilerini, ağ bilgilerini, çalışan işlemleri, çalışan hizmetleri, kullanıcı hesabı bilgilerini ve canlı sistemlerden kanıt niteliğindeki diğer bilgiler görüntülenebilmektedir.
Şimdi Olay Müdahale sırasında kullanılan bazı wmic komutlarına değinelim;
İnceleme altındaki bilgisayardan bilgi toplamak için kullanılır.
wmic computersystem list brief
İşletim sistemi hakkında bilgi toplamak için kullanılır.
wmic os list brief
wmic os get Version, Caption, CountryCode, CSName, Description, InstallDate, SerialNumber, ServicePackMajorVersion, WindowsDirectory /format:list
CPU hakkında bilgi almak için,
wmic cpu get processorID
wmic cpu List instance
wmic cpu get Name, Caption, MaxClockSpeed, DeviceID, status
Bilgisayar açılışında çalışan uygulamaları tespit etmek için;
wmic startup get Caption, Command, Location, User
Otomatik olarak başlayacak şekilde ayarlanmış hizmetleri bulmak için;
wmic service where StartMode="Auto" get Name, State
Ortam değişkenleri hakkında bilgi edinmek için;
wmic environment get Description, Name, SystemVariable, VariableValue
Gruplar hakkında bilgi almak için
wmic group Caption, InstallDate, LocalAccount, Domain, SID, Status
Çalışan tüm işlemlerin listeleri hakkında bilgi almak için
wmic process get Caption, CommandLine, Handle, HandleCount, PageFaults, PageFileUsage, PArentProcessId, ProcessId, ThreadCount
wmic process get name, processid, parentprocessid, executablepath
Saldırganlar tarafından manipüle edilen “svchost.exe” gibi belirli bir işlemi belirlemek ve analiz etmek için
wmic process where (Name='svchost.exe') get name, processid, parentprocesid, executablepath
Şu anda oturum açmış kullanıcıların listesini bulmak için .
wmic computersystem get name, username
Şüpheli sistemdeki tüm kullanıcıların ve özniteliklerinin bir listesini almak için.
wmic useraccount get Name, Domain, AccountType InstallDate, SID, Lockout
pagefile.sys dosyasının nerede olduğunu ve bununla ilgili bazı bilgileri belirlemek için.
wmic pagefile get Caption, CurrentUsage, Status, TempPageFile
Etkinleştirilen tüm yerel sistem hesaplarını tanımlayın (misafir vb.)
wmic useraccount WHERE "Disabled=0 AND LocalAccount=1" GET Name
Kullanıcıların giriş bilgilerini almak için
wmic netlogin get Name, Fullname, ScriptPath, Profile, UserID, NumberOfLogons, PasswordAge, LogonServer, HomeDirectory, PrimaryGroupID
Sistem hesapları hakkında bilgi almak için
wmic sysaccount get Caption, Domain, Name, SID, SIDType, Status
Buraya kadar okuduğunuz için Teşekkürler. 🙂
Kaynaklar:
- https://attack.mitre.org/
- https://learn.microsoft.com/en-us/windows-server/storage/file-server/volume-shadow-copy-service
- https://www.sans.org/blog/wmic-for-incident-response/
- https://lantern.splunk.com/Security/Use_Cases/Threat_Hunting/Detecting_a_ransomware_attack/Wmic.exe_launching_processes_on_a_remote_system
- https://www.mandiant.com/resources/windows-management-instrumentation-wmi-offense-defense-and-forensics