Anasayfa » Forum

WannaCry Ransomware...
 

WannaCry Ransomware için Gerekli Yamaların Kontrolü Nasıl Sağlanır?  

  RSS
Hakan Uzuner
(@hakanuzuner)
Kıdemli Üye Yönetici

Microsoft sistemlerini ciddi bir şekilde etkileyen bu atak için sistem uzmanları hızlı bir şekilde hem sunucu hemde istemci makineleri güncellemek için kolları sıvadı. Ancak buradaki en önemli sorulardan birisi ilgili yamanın sisteminiz de yüklü olup olmaması? Yama kodu belli olmasına karşı yama Mart ayında çıktığı için direkt bu KB kodu ile aramanız halinde karşınıza çıkmayabilir, bu nedenle aşağıdaki PS ile aslında gerekli olan yama kodlarını yazdım ve bu PS' i çalıştırarak gerekli çıktıyı görebilirsiniz;

$Hostname = hostname
$hotfixes = “KB4012212”, “KB4012217”, “KB4015551”, “KB4019216”, “KB4012216”, “KB4015550”, “KB4019215”, “KB4013429”, “KB4019472”, “KB4015217”, “KB4015438”, “KB4016635”, "KB4012213", "KB4012212", "KB4019264"
$hotfix = Get-HotFix -ComputerName $Hostname | Where-Object {$hotfixes -contains $_.HotfixID} | Select-Object -property “HotFixID”
if (Get-HotFix | Where-Object {$hotfixes -contains $_.HotfixID} )
{
“Found HotFix: ” + $hotfix.HotFixID
} else {
“Update yüklü değil.”
}

KB4012212 – Windows Server 2008
KB4012212 - Windows Server 2008 R2
KB4012217 KB4015551 KB4019216 – Windows Server 2012
KB4012216 KB4015550 KB4019215 KB4012213 – Windows Server 2012 R2
KB4013429 KB4019472 KB4015217 KB4015438 KB4016635 – Windows Server 2016

Kürşat ARI komut setini daha otomatik hale getirdi, kendisine teşekkür ediyorum. V2 aşağıdaki gibidir;

 

------Herhangi bir  KBxxxx patch inin bir host üzerinde varolup olmadığının script ile kontrolü-----------

 

Kaynak bir .txt üzerindeki hostlardan oluşuyorsa hostname.txt dosyamız aşağıdaki formatlardan birinde olmalı

 

Örnek hostname.txt dosyamızın içeriği

Pc1

Pc2

Pc3

Srv1

Srv2

Srv3

 

#####################################################################################################

cls

 

$Installed=@()

$NotInstalled=@()

$Serverlist=Get-Content c:\temp\hostname.txt

$hotfixes = “KB4012212”,"KB4019264",“KB4012217”,“KB4015551”,“KB4019216”,“KB4012216”,“KB4015550”,“KB4019215”,“KB4013429”,“KB4019472”,“KB4015217”,“KB4015438”,“KB4016635”,"KB4012213","KB4012214"

 

foreach ($server in $Serverlist) {

      

       $Hostname = $server

       $hotfix = Get-HotFix -ComputerName $Hostname | Where-Object {$hotfixes -contains $_.HotfixID} | Select-Object -property “HotFixID”

if (Get-HotFix -ComputerName $Hostname | Where-Object {$hotfixes -contains $_.HotfixID} )

{

$Installed+=$Hostname

Write-Host “Bulunan Hotfix:  $($hotfix.HotFixID) $Hostname Sunucusu için bir problem yok" -BackgroundColor Green

} else {

$NotInstalled+=$Hostname

Write-host "$hostname sunucusunda WannaCry için Update yüklü değil.” -BackgroundColor red

}

}

Write-host"Yuklu olanlar----------------"

$Installed

Write-host "----------------------------"

Write-host "Yuklu olmayanlar------------"

$NotInstalled

Write-host "-----------------------------"

 

#######################################################################################################

 

Kaynak Active directoryde bulunan hostlar ise

4.satırda bulunan ifade ;

Sadece Windows serverlar için   à Get-ADComputer -filter {OperatingSystem -like "Windows Server*"}|Select-Object DNSHostName

Sadece Windows Clientlar için    à Get-ADComputer -filter {OperatingSystem -notlike "Windows Server*"}|Select-Object DNSHostName

Tüm hostlar için                             à Get-ADComputer -filter * | Select-Object DNSHostName

 

Şeklinde olmalı

 

#######################################################################################################

 

 

cls

 

$Installed=@()

$NotInstalled=@()

$Serverlist= Get-ADComputer -filter {OperatingSystem -like "Windows Server*"}

 

$hotfixes = “KB4012212”,"KB4019264",“KB4012217”,“KB4015551”,“KB4019216”,“KB4012216”,“KB4015550”,“KB4019215”,“KB4013429”,“KB4019472”,“KB4015217”,“KB4015438”,“KB4016635”,"KB4012213","KB4012214"

 

foreach ($server in $Serverlist) {

      

       $Hostname = $server

       $hotfix = Get-HotFix -ComputerName $Hostname.DNSHostName | Where-Object {$hotfixes -contains $_.HotfixID} | Select-Object -property “HotFixID”

if (Get-HotFix -ComputerName $Hostname.dnshostname | Where-Object {$hotfixes -contains $_.HotfixID} )

{

$Installed+=$Hostname.DNSHostName

Write-Host “Bulunan Hotfix:  $($hotfix.HotFixID) $($Hostname.dnshostname) Sunucusu için bir problem yok" -BackgroundColor Green

} else {

$NotInstalled+=$Hostname.DNSHostName

Write-host "$($hostname.dnshostname) sunucusunda WannaCry için Update yüklü değil.” -BackgroundColor red

}

}

Write-host"Yuklu olanlar----------------"

$Installed

Write-host "----------------------------"

Write-host "Yuklu olmayanlar------------"

$NotInstalled

Write-host "-----------------------------" 

 

#######################################################################################################

 

Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

Alıntı
Gönderildi : 15/05/2017 2:34 pm
Rıza ŞAHAN
(@rizasahan)
Değerli Üye Forum Yöneticisi

Teşekkürler hocam. Bu gün yeni güvenlik güncellemeleri geldi.

Sanırım artık sistem güncellemelerinin önemi yükseldi. Updateler tavan yapar 🙂

CevapAlıntı
Gönderildi : 18/05/2017 12:08 am
Enes Aslan
(@enesaslan)
Üye

Teşekkürler hocam. Bir sorum olacak : virüsün hedef aldığı uzantılar baya fazla. Çalışma mantığı direk uzantı hedeflimidir yoksa dizinleri taratıp hangi uzantı varsa o uzantıyı mı şifreliyor acaba bilginiz var mı ?  Bir yedek alıp uzantısını değiştirsek yine etkilenir mi acaba ? Ör: " yedek.uydurmauzantı " şeklindeki dosya da etkilenir mi ?

CevapAlıntı
Gönderildi : 18/05/2017 12:27 am
Savaş Yaşar
(@SavasYasar)
Üye

Emeği geçenlerin ellerine sağlık. Scripte kb4019264'ü de ilave etmek lazım. Kendinden önceki güncellemeleri içeren rolluplarda hotfix id olarak rollup id'si çıktığı için yüklü bilgisayarlarda yüklü değilmiş hatası veriyor. Eksik listesindeki işletim sistemine uygun güncelleme yüklenmek istendiğinde bu sistem için bu güncelleme uygulanabilir değil gibi bir hata veriyor.

CevapAlıntı
Gönderildi : 18/05/2017 4:47 pm
Hakan Uzuner
(@hakanuzuner)
Kıdemli Üye Yönetici

[quote user="Savaş Yaşar"]

Emeği geçenlerin ellerine sağlık. Scripte kb4019264'ü de ilave etmek lazım. Kendinden önceki güncellemeleri içeren rolluplarda hotfix id olarak rollup id'si çıktığı için yüklü bilgisayarlarda yüklü değilmiş hatası veriyor. Eksik listesindeki işletim sistemine uygun güncelleme yüklenmek istendiğinde bu sistem için bu güncelleme uygulanabilir değil gibi bir hata veriyor.

[/quote]

Merhaba, bilgi için teşekkürler, komut setini hazırladığımız sırada ne yazık ki bu yama yoktu. Güncelledik.

Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

CevapAlıntı
Gönderildi : 19/05/2017 9:50 pm
Ahmet Ozer
(@AhmetOzer)
Üye

Çok teşekkür ediyorum güzel çalışma olmuş. 

Fakat ben domainde olmayan sunucular için çalıştıramadım scripti. Hata dönüyor.

"Get-HotFix : RPC sunucusu kullanılamıyor. (HRESULT özel durum döndürdü: 0x800706BA)" şeklinde kırmızı yazı yazıyor PS ekranında. 

CevapAlıntı
Gönderildi : 24/05/2017 3:12 pm
Hakan Uzuner
(@hakanuzuner)
Kıdemli Üye Yönetici

Merhaba,

Makine üzerinde deniyorsunuzdur sanırım uzak' dan domain ortamı olmadığı için zaten çalışmayacaktır.

Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

CevapAlıntı
Gönderildi : 24/05/2017 9:53 pm
Paylaş:
  
Çalışıyor

Lütfen Giriş yap yada Kayıt ol