Uyarı
Bu Bilgi Bankası makalesi olduğu gibi sunulur ve normal güncelleştirme kanallarıyla sunulan yerine geçme verilerinin yerini almaz. Aşağıdaki verilerin yayınlanmasından sonra gelen yerine geçme bilgilerini Güvenlik Güncelleştirmesi Kılavuzu'nda ve diğer yardımcı araçlarda bulabilirsiniz.
Özet
Bu makalenin geçerli olduğu ürünlere göz atın.
Güvenlik güncelleştirmesi MS17-010 Windows Sunucu İleti Bloğu (SMB) v1'deki bazı güvenlik açıklarını giderir. WannaCrypt fidye yazılımı, MS17-010 güncelleştirmesinin parçası olan güvenlik açıklarının birinden faydalanmaktadır. MS17-010 güncelleştirmesi yüklü olmayan bilgisayarlar, kötü amaçlı yazılımın bazı türevlerinden dolayı daha fazla risk altındadır. Bu makalede bilgisayarın güncelleştirilip güncelleştirilmediğini belirlemek için bazı hızlı yöntemler açıklanır.
Yöntem 1: Yüklü Bilgi Bankası numarasıyla denetleme
Listelenen güncelleştirmeleri ("MS17-010 dağıtımını içermez" olarak işaretlenenler dışında) denetlemek için aşağıdaki tabloyu kullanın. Bunlardan biri yüklüyse, MS17-010 yüklü demektir.
Tablo 1/2: Windows 7 SP1 ve sonraki sürümler. Aşağıdaki paket KB'ler düzeltmeyi içerir ("Nisan Yalnızca Güvenlik 4B" sütunundakiler hariç). Her KB numarasının altında güncelleştirilen Srv.sys sürüm numarası yer alır.
Windows sürümleri |
Mart Yalnızca Güvenlik Güncelleştirmesi (14.03.2017) |
Aylık Mart Paketi |
Aylık Paketin Mart Önizlemesi |
Nisan Yalnızca |
Aylık Nisan Paketi |
Aylık Paketin Nisan Önizlemesi |
Mayıs Yalnızca Güvenlik Güncelleştirmesi |
Aylık Mayıs Paketi |
Karşıdan yükleme bağlantısı |
Windows 7 SP1 ve Windows Server 2008 R2 SP1 |
4012212 |
4012215 |
4012218 |
4015546 |
4015549 |
4015552 |
4019263 |
4019264 |
|
Windows 2012 |
4012214 |
4012217 |
4012220 |
4015548 |
4015551 |
4015554 |
4019214 |
4019216 |
|
Windows 8.1 ve Windows Server 2012 R2 |
4012213 |
4012216 |
4012219 |
4015547 MS17-010 yamasını içermez |
4015550 |
4015553 |
4019213 |
4019215 |
|
Windows 10 Sürüm 1507 |
4012606 |
4016637 |
- |
- |
4015221 |
- |
- |
4019474 10.0.10240.17394 |
|
Windows 10 Sürüm 1511 |
4013198 |
4016636 |
- |
- |
4015219 |
- |
- |
4019473 |
|
Windows 10 Sürüm Windows Server 2016 |
4013429 |
4016635 |
- |
- |
4015217 |
- |
- |
4019472 |
Tablo 2/2: Mayıs ve Haziran 2017 güncelleştirmeleriyle devam etmektedir.
Windows sürümleri |
Aylık Paketin Mayıs Önizlemesi (16.05.2017) |
Haziran Yalnızca Güvenlik Güncelleştirmesi (13.06.2017) |
Aylık Haziran Paketi (13.06.2017) |
Karşıdan yükleme bağlantısı |
Windows 7 ve Server 2008 R2 |
4019265
|
4022722 |
4022168 |
|
Windows Server 2012 |
4019218 |
4022718 |
4022724 |
|
Windows 8.1 ve Windows Server 2012 R2 |
4019217 |
4022717 |
4022720 |
|
Windows 10 Sürüm 1507 |
- |
- |
4032695 |
|
Windows 10 Sürüm 1511 |
- |
- |
4032693 |
|
Windows 10 Sürüm 1607 ve Windows Server 2016 |
- |
- |
4022723 |
Tablo 2: Diğer Windows sürümleri. Güvenlik güncelleştirmesi için KB 4012598'i kullanın.
Windows sürümleri |
KB numarası ve |
Karşıdan yükleme bağlantısı |
Windows Server 2003 SP2 |
4012598 |
|
Windows XP |
4012598 |
Windows XP SP2 x64
|
Windows Vista SP2 |
4012598 |
Windows Vista Service Pack 2
|
Windows Server 2008 SP2 |
4012598 |
32 bit sistemler için Windows Server 2008 Service Pack 2
|
Windows 8 |
4012598 |
Tablo 3: Düzeltmeyi içeren ek güncelleştirmeler.
Windows 8.1 ve Windows Server 2012 R2
Yayın tarihi |
KB numarası |
Destek sayfası |
21 Mart 2017 |
4012219 |
|
18 Nisan 2017 Salı |
4015553 |
|
16 Mayıs 2017 Salı |
4019217 |
|
27 Haziran 2017 Salı |
4022720 |
Windows Server 2012
Yayın tarihi |
KB numarası |
Destek sayfası |
21 Mart 2017 |
4012220 |
|
18 Nisan 2017 Salı |
4015554 |
|
16 Mayıs 2017 Salı |
4019218 |
|
27 Haziran 2017 |
4022721 |
Windows 7 SP1 ve Windows Server 2008 R2 SP1
Yayın tarihi |
KB numarası |
Destek sayfası |
21 Mart 2017 |
4012218 |
|
18 Nisan 2017 Salı |
4015552 |
|
16 Mayıs 2017 Salı |
4019265 |
|
27 Haziran 2017 Salı |
4022168 |
Yöntem 2: %systemroot%\system32\drivers\srv.sys dosya sürümüyle denetleme
%systemroot%\system32\drivers\srv.sys dosyasının sürümünü denetlemek için aşağıdaki tabloyu kullanın. Dosya sürümü listelenen sürüme eşit veya daha sonraki bir sürümse, MS17-010 yüklü demektir.
Windows sürümleri |
Güncelleştirilen minimum Srv.sys sürümü |
Windows XP |
5.1.2600.7208 |
Windows Server 2003 SP2 |
5.2.3790.6021 |
Windows Vista |
GDR:6.0.6002.19743, LDR:6.0.6002.24067 |
Windows 7 |
6.1.7601.23689 |
Windows 8 |
6.2.9200.22099 |
Windows 8.1 |
6.3.9600.18604 |
Windows 10 TH1 v1507 |
10.0.10240.17319 |
Windows 10 TH2 v1511 |
10.0.10586.839 |
Windows 10 RS1 v1607 |
10.0.14393.953 |
Yöntem 3: WMI ve Windows PowerShell ile denetleme
MS17-010 düzeltmelerinin yüklenip yüklenmediğini belirlemek için WMI ve Windows PowerShell'i kullanın.
WMI komutu
Belirli bir KB numarasını bulmak için ayrıcalığı yükseltilmiş bir Komut İstemi penceresi açın ve ardından aşağıdaki komutu çalıştırın:
wmic qfe get hotfixid | find "KB1234567"
Notlar
-
Bu komuttaki <KB1234567> bölümünü asıl KB numarasıyla değiştirin.
-
Birden fazla güncelleştirmeyi aramak için ampersan karakterini (&) kullanın. Örneğin, aşağıdaki komutu çalıştırın:
wmic qfe get hotfixid | find "KB4012212" & wmic qfe get hotfixid | find "KB4012215" & wmic qfe get hotfixid | find "KB4015549"
PowerShell komutları
Yerel sistemde denetlemek için aşağıdaki yönetim PowerShell cmdlet'ini çalıştırın:
get-hotfix -id KB1234567
Notlar
-
Bu komuttaki <KB1234567> bölümünü asıl KB numarasıyla değiştirin.
-
Birden fazla güncelleştirmeyi aramak için virgül (,) kullanın. Örneğin, aşağıdaki komutu çalıştırın:
get-hotfix -id KB4012212,KB4012215,KB4015549
Active Directory etki alanındaki veya OU'daki tüm bilgisayarları denetlemek için etki alanı denetleyicisinde aşağıdaki yönetim PowerShell cmdlet'ini çalıştırın:
foreach ( $n in (get-adcomputer -searchbase ‘OU=workstations,dc=contoso,dc=com’ -filter * -property * | select name )) {get-hotfix -computername $n.name -id KB1234567}
Not "OU=workstations,dc=contoso,dc=com" bölümü tüm etki alanındaki bilgisayarları aramak için "dc=contoso,dc=com" gibi bir Active Directory etki alanı dizini bölümünün kökünü gösterecek şekilde değiştirilebilir. Bu komuttaki <KB1234567> bölümünü asıl KB numarasıyla değiştirin.
"Uygulanamaz" şeklindeki yükleme hatasını giderme
Önkoşul düzeltmeler bilgisayarlarda yüklü değilse, Windows 8.1 veya Windows Server 2012 R2'ye MS17-010'u yüklediğinizde aşağıdaki hata iletisini alabilirsiniz:
Güncelleştirme sisteminiz için geçerli değil
Bu hatayı gidermek için aşağıdaki adımları uygulayın:
-
Doğru güncelleştirmeyi yüklemeye çalıştığınızdan emin olun. Bunu gerçekleştirmek için Yöntem 1'de yer alan Tablo 1'deki KB numarasını denetleyin. Bunu sistem sürümünüz, sistem hizmet paketi düzeyiniz ve sistem bit düzeyiniz (x64, IA64 veya x86) ile karşılaştırın.
-
Eksik bağımlılıkları denetleyin. Windows 8.1 ve Windows Server 2012 R2 için aşağıdaki makalelere göre gerekli bağımlı düzeltmeleri yükleyin:
-
Paket güncelleştirmeyi yükleyemiyorsanız, farklı bir paket sürümünü deneyin. Mevcut güncelleştirmeler için Tablo 1'e bakın.
PowerShell betiği
Aşağıdaki PowerShell betiği yerel bilgisayardaki Srv.sys sürümünü Yöntem 2'deki tabloda listelenen sürümlerle karşılaştırır.
Bu betiği .ps1 dosyasına kaydedin ve betiği PowerShell'den çalıştırın. Bu betik Windows XP, Windows Server 2003 ve sonraki sürümler için geçerlidir. Windows PowerShell 2.0 veya üzeri bir sürümün yüklü olması gerekir.
[reflection.assembly]::LoadWithPartialName("System.Version")
$os = Get-WmiObject -class Win32_OperatingSystem
$osName = $os.Caption
$s = "%systemroot%\system32\drivers\srv.sys"
$v = [System.Environment]::ExpandEnvironmentVariables($s)
If (Test-Path "$v")
{
Try
{
$versionInfo = (Get-Item $v).VersionInfo
$versionString = "$($versionInfo.FileMajorPart).$($versionInfo.FileMinorPart).$($versionInfo.FileBuildPart).$($versionInfo.FilePrivatePart)"
$fileVersion = New-Object System.Version($versionString)
}
Catch
{
Write-Host "Unable to retrieve file version info, please verify vulnerability state manually." -ForegroundColor Yellow
Return
}
}
Else
{
Write-Host "Srv.sys does not exist, please verify vulnerability state manually." -ForegroundColor Yellow
Return
}
if ($osName.Contains("Vista") -or ($osName.Contains("2008") -and -not $osName.Contains("R2")))
{
if ($versionString.Split('.')[3][0] -eq "1")
{
$currentOS = "$osName GDR"
$expectedVersion = New-Object System.Version("6.0.6002.19743")
}
elseif ($versionString.Split('.')[3][0] -eq "2")
{
$currentOS = "$osName LDR"
$expectedVersion = New-Object System.Version("6.0.6002.24067")
}
else
{
$currentOS = "$osName"
$expectedVersion = New-Object System.Version("9.9.9999.99999")
}
}
elseif ($osName.Contains("Windows 7") -or ($osName.Contains("2008 R2")))
{
$currentOS = "$osName LDR"
$expectedVersion = New-Object System.Version("6.1.7601.23689")
}
elseif ($osName.Contains("Windows 8.1") -or $osName.Contains("2012 R2"))
{
$currentOS = "$osName LDR"
$expectedVersion = New-Object System.Version("6.3.9600.18604")
}
elseif ($osName.Contains("Windows 8") -or $osName.Contains("2012"))
{
$currentOS = "$osName LDR"
$expectedVersion = New-Object System.Version("6.2.9200.22099")
}
elseif ($osName.Contains("Windows 10"))
{
if ($os.BuildNumber -eq "10240")
{
$currentOS = "$osName TH1"
$expectedVersion = New-Object System.Version("10.0.10240.17319")
}
elseif ($os.BuildNumber -eq "10586")
{
$currentOS = "$osName TH2"
$expectedVersion = New-Object System.Version("10.0.10586.839")
}
elseif ($os.BuildNumber -eq "14393")
{
$currentOS = "$($osName) RS1"
$expectedVersion = New-Object System.Version("10.0.14393.953")
}
elseif ($os.BuildNumber -eq "15063")
{
$currentOS = "$osName RS2"
"No need to Patch. RS2 is released as patched. "
return
}
}
elseif ($osName.Contains("2016"))
{
$currentOS = "$osName"
$expectedVersion = New-Object System.Version("10.0.14393.953")
}
elseif ($osName.Contains("Windows XP"))
{
$currentOS = "$osName"
$expectedVersion = New-Object System.Version("5.1.2600.7208")
}
elseif ($osName.Contains("Server 2003"))
{
$currentOS = "$osName"
$expectedVersion = New-Object System.Version("5.2.3790.6021")
}
else
{
Write-Host "Unable to determine OS applicability, please verify vulnerability state manually." -ForegroundColor Yellow
$currentOS = "$osName"
$expectedVersion = New-Object System.Version("9.9.9999.99999")
}
Write-Host "`n`nCurrent OS: $currentOS (Build Number $($os.BuildNumber))" -ForegroundColor Cyan
Write-Host "`nExpected Version of srv.sys: $($expectedVersion.ToString())" -ForegroundColor Cyan
Write-Host "`nActual Version of srv.sys: $($fileVersion.ToString())" -ForegroundColor Cyan
If ($($fileVersion.CompareTo($expectedVersion)) -lt 0)
{
Write-Host "`n`n"
Write-Host "System is NOT Patched" -ForegroundColor Red
}
Else
{
Write-Host "`n`n"
Write-Host "System is Patched" -ForegroundColor Green
}
#
Başvurular
WannaCrypt saldırıları için Kullanıcı Kılavuzu
Kötü Amaçlı Yazılımdan Koruma Merkezi
Microsoft Kötü Amaçlı Yazılımdan Koruma Merkezi blogu
Güvenlik Güncelleştirmesi MS17-010
MS17-010'a ilişkin uyumluluk raporlaması için Configuration Manager SQL Server sorguları
Bu makale şu sürümler için geçerlidir:
-
Windows Server 2016
-
Windows 10 Sürüm 1607
-
Windows 10 Sürüm 1511
-
Windows 10 Sürüm 1507
-
Windows Server 2012 R2
-
Windows 8.1
-
Windows Server 2012
-
Windows 8
-
Windows Server 2008 R2
-
Windows 7
-
Windows Server 2008 Service Pack 2
-
Windows Vista
-
Windows Server 2003 Service Pack 2
-
Windows XP