Yine bir tarama işlemi gerçekleştirirken sysmon sürümünde zafiyet olduğunu gördük. İlla zafiyet için düşünmeyin bu dosya bazen sistemlere mavi ekranda verdirebiliyor. Sürekli güncel tutmak gerekebiliyor. Sysmon uygulaması sysinternals paketi içinde exe olarak dağıtılıyor. Önce makineden mevcut sysmon sürümünü kaldırıp, sonra yeni versiyonu makineye kopyalayıp yeni sysmon sürümünü yüklememiz gerekiyor Elimizde bir çok sunucu var hepsine tek tek girip update işlemi gerçekleştirmek zaman alacaktır ve keyif kaçıracaktır.
Hadi bunu powershell ile gerçekleştirelim. Belirttiğim alan içerisinde yer alan dosyayı al hedef ip adreslerinin ilgili dizini içerisine aktar. txt içerisine ben zafiyetli ip adreslerimi ekledim sadece kullanılan cihazlarda güncelleme gerçekleşsin diye. Gereksiz yere ihtiyacı olmayan bir makineye ek bir uygulama kurmak, servis açmak vs gibi durumlardan kaçınmakta fayda var.
Ben bu makaleyi yazarken mevcut güncel sürüm v15.11 idi. Script her çalıştığında gidip mevcut sürümü kaldırıp yükleme işlemi gerçekleştirmesin diye v15.11 e eşit olmayan sürümlerde işlemi gerçekleştirmesi için koşul yazdım. Sunucu listesi ve sysmon mevcut güncel sürümünü sistemlerin erişebileceği ortak bir alana koydum. Sunucuda ilgili script çalıştığında bilgileri ortak alandan alarak gerçekleştirecektir.
# sunucu listesi $txtDosya = Import-Csv "\\xxx\SYSVOL\xxxx\softwaresetup\Sysmon\sysmonupdate.txt" -Header ServerName # Hostname'i al $hostname = $env:COMPUTERNAME # Sysmon versiyonunu al $sysmonVersion = (Get-Command -Name sysmon).FileVersionInfo.ProductVersion # sunucu listesinin her birini tek tek kontrol et try { foreach ($satir in $txtDosya.ServerName) { # Satır ile hostname'i karşılaştır if ($satir -eq $hostname) { # Eşleşme bulundu, scripti çalıştır Write-Host "Eşleşme bulundu! Sysmon güncelleniyor..." # Eğer sysmon versiyonu 15.11 değilse güncelle if ($sysmonVersion -ne "15.11") { Write-Host "Sysmon versiyonu $sysmonVersion. Güncelleniyor..." # Eski Sysmon sürümünü kaldır & sysmon -u # Yeni Sysmon sürümünü yükle & "\\xxx\SYSVOL\xxxx\softwaresetup\Sysmon\Sysmon.exe" -i -accepteula Write-Host "Sysmon güncellendi." } else { Write-Host "Sysmon zaten en son sürümde ($sysmonVersion). Güncelleme gerekmiyor." } # Buraya başka işlemleri ekleyebilirsiniz break } } } catch { Write-Host "Hata: $_" }