Pemberitahuan
Artikel Pangkalan Pengetahuan ini diberikan apa adanya dan tidak menggantikan data supersedensi yang diberikan melalui saluran pembaruan normal. Informasi supersedensi yang berlaku setelah data berikut dapat ditemukan di Panduan Pembaruan Keamanan dan alat jaminan lainnya.
Ringkasan
Lihat produk yang dibahas artikel ini.
Pemutakhiran Keamanan MS17-010 mengatasi beberapa kerentanan di Windows Server Message Block (SMB) v1. Ransomware WannaCrypt mengeksploitasi salah satu kerentanan yang merupakan bagian dari pemutakhiran MS17-010. Komputer yang tidak menginstal MS17-010 sangat berisiko karena beberapa tekanan malware. Artikel ini memberikan beberapa metode cepat untuk mendeteksi apakah komputer telah dimutakhirkan.
Metode 1: Memeriksa berdasarkan nomor Pangkalan Pengetahuan yang diinstal
Menggunakan tabel berikut untuk memeriksa setiap pemutakhiran yang tercantum (kecuali pemutakhiran yang ditandai sebagai "Tidak berisi patch MS17-010"). Jika salah satunya telah diinstal, berarti MS17-010 telah terinstal.
Tabel 1 dari 2: Windows 7 SP1 dan versi lebih baru. KB rollup berikut berisi perbaikan (kecuali dalam kolom "Hanya Keamanan April 4B"). Di bawah setiap nomor KB terdapat nomor versi Srv.sys yang telah diperbarui.
Versi Windows |
Hanya Pembaruan Keamanan Maret (3/14/17) |
Rollup Bulanan Maret |
Pratinjau Rollup Bulanan Maret |
Keamanan April |
Rollup Bulanan April |
Pratinjau Rollup Bulanan April |
Pembaruan Hanya Keamanan Mei |
Rollup Bulanan Mei |
Tautan unduhan |
Windows 7 SP1 dan 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 dan Windows Server 2012 R2 |
4012213 |
4012216 |
4012219 |
4015547 Tidak berisi patch MS17-010 |
4015550 |
4015553 |
4019213 |
4019215 |
|
Windows 10 Version 1507 |
4012606 |
4016637 |
- |
- |
4015221 |
- |
- |
4019474 10.0.10240.17394 |
|
Windows 10 Version 1511 |
4013198 |
4016636 |
- |
- |
4015219 |
- |
- |
4019473 |
|
Versi Windows 10 Windows Server 2016 |
4013429 |
4016635 |
- |
- |
4015217 |
- |
- |
4019472 |
Tabel 2 dari 2: Dilanjutkan untuk pembaruan Mei dan Juni 2017.
Versi Windows |
Pratinjau Rollup Bulanan Mei (16/05/2017) |
Pembaruan Hanya Keamanan Juni (13/06/2017) |
Rollup Bulanan Juni (13/06/2017) |
Tautan unduhan |
Windows 7 dan Server 2008 R2 |
4019265
|
4022722 |
4022168 |
|
Windows Server 2012 |
4019218 |
4022718 |
4022724 |
|
Windows 8.1 dan Windows Server 2012 R2 |
4019217 |
4022717 |
4022720 |
|
Windows 10 Version 1507 |
- |
- |
4032695 |
|
Windows 10 Version 1511 |
- |
- |
4032693 |
|
Windows 10 Versi 1607 dan Windows Server 2016: |
- |
- |
4022723 |
Tabel 2: Versi Windows lainnya. Gunakan KB 4012598 untuk pemutakhiran keamanan.
Versi Windows |
Nomor KB dan |
Tautan unduhan |
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 |
Windows Server 2008 Service Pack 2 untuk Sistem 32 Bit
|
Windows 8 |
4012598 |
Tabel 3: Pembaruan tambahan yang berisi perbaikan.
Windows 8.1 dan Windows Server 2012 R2
Tanggal rilis |
Nomor KB |
Halaman dukungan |
21 Maret 2017 |
4012219 |
|
Kamis, Kamis, Selasa, Selasa, 18 April 2017 |
4015553 |
|
Kamis, Kamis, Selasa, Selasa, 16 Mei 2017 |
4019217 |
|
Kamis, Kamis, Selasa, Selasa, 27 Juni 2017 |
4022720 |
Windows server 2012
Tanggal rilis |
Nomor KB |
Halaman dukungan |
21 Maret 2017 |
4012220 |
|
Kamis, Kamis, Selasa, Selasa, 18 April 2017 |
4015554 |
|
Kamis, Kamis, Selasa, Selasa, 16 Mei 2017 |
4019218 |
|
27 Juni 2017 |
4022721 |
Windows 7 SP1 dan Windows Server 2008 R2 SP1
Tanggal rilis |
Nomor KB |
Halaman dukungan |
21 Maret 2017 |
4012218 |
|
Kamis, Kamis, Selasa, Selasa, 18 April 2017 |
4015552 |
|
Kamis, Kamis, Selasa, Selasa, 16 Mei 2017 |
4019265 |
|
Kamis, Kamis, Selasa, Selasa, 27 Juni 2017 |
4022168 |
Metode 2: Memeriksa berdasarkan versi file %systemroot%\system32\drivers\srv.sys
Gunakan bagan berikut untuk memeriksa versi file %systemroot%\system32\drivers\srv.sys. Jika versi file sama dengan atau lebih besar dari versi yang tercantum, berarti MS17-010 telah diinstal.
Versi Windows |
Versi Srv.sys minimum diperbarui |
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 |
Metode 3: Memeriksa berdasarkan WMI dan Windows PowerShell
Gunakan WMI dan Windows PowerShell untuk menentukan apakah perbaikan MS17-010 telah diinstal.
Perintah WMI
Untuk menemukan nomor KB yang ditetapkan, buka jendela Prompt Perintah yang ditinggikan, lalu jalankan perintah berikut:
wmic qfe get hotfixid | find "KB1234567"
Catatan
-
Di perintah ini, ganti <KB1234567> dengan nomor KB yang sebenarnya.
-
Gunakan karakter ampersand (&) untuk mencari beberapa pemutakhiran. Sebagai contoh, jalankan perintah berikut ini:
wmic qfe get hotfixid | find "KB4012212" & wmic qfe get hotfixid | find "KB4012215" & wmic qfe get hotfixid | find "KB4015549"
Perintah PowerShell
Untuk memeriksa di sistem lokal, jalankan cmdlet PowerShell administratif berikut:
get-hotfix -id KB1234567
Catatan
-
Di perintah ini, ganti <KB1234567> dengan nomor KB yang sebenarnya.
-
Gunakan koma ( , ) untuk mencari beberapa pemutakhiran. Sebagai contoh, jalankan perintah berikut ini:
get-hotfix -id KB4012212,KB4012215,KB4015549
Untuk memeriksa semua komputer dalam domain Direktori Aktif atau OU, jalankan cmdlet PowerShell administratif berikut pada pengontrol domain:
foreach ( $n in (get-adcomputer -searchbase ‘OU=workstations,dc=contoso,dc=com’ -filter * -property * | select name )) {get-hotfix -computername $n.name -id KB1234567}
Catatan Bagian "OU=workstations,dc=contoso,dc=com"dapat diubah ke titik dasar partisi direktori domain Direktori Aktif, seperti "dc=contoso,dc=com"untuk mencari komputer di keseluruhan domain. Di perintah ini, ganti <KB1234567> dengan nomor KB yang sebenarnya.
Cara menyelesaikan galat penginstalan “tidak berlaku”
Jika perbaikan prasyarat tidak terinstal di komputer, Anda mungkin menerima pesan galat berikut saat menginstal MS17-010 pada Windows 8.1 atau Windows Server 2012 R2:
Pemutakhiran tidak berlaku untuk komputer Anda
Untuk menyelesaikan galat ini, ikuti langkah-langkah berikut ini:
-
Pastikan Anda mencoba untuk menginstal pemutakhiran yang benar. Untuk melakukannya, periksa nomor KB dalam Tabel 1 di Metode 1. Bandingkan dengan versi sistem, level paket layanan sistem dan level bit sistem Anda (x64, IA64, atau x86).
-
Periksa dependensi yang hilang. Untuk Windows 8.1 dan Windows Server 2012 R2, instal perbaikan dependen yang diperlukan sesuai artikel berikut:
-
KB 2919355: Pemutakhiran Windows RT 8.1, Windows 8.1, dan Windows Server 2012 R2: April 2014
-
KB 2919442: Pemutakhiran Servicing Stack Maret 2014 untuk Windows 8.1 dan Windows Server 2012 R2
-
KB 3173424: Pemutakhiran servicing stack untuk Windows 8.1 dan Windows Server 2012 R2: Kamis, Selasa, 12 Juli 2016
-
-
Jika Anda tidak dapat menginstal pemutakhiran roolup, coba versi rollup lainnya. Lihat tabel 1 untuk pemutakhiran yang tersedia.
Skrip PowerShell
Skrip PowerShell Windows berikut membandingkan versi Srv.sys di komputer lokal dengan versi yang berada di daftar pada Metode 2.
Simpan skrip ini ke file .ps1, lalu jalankan skrip dari PowerShell. Skrip ini berlaku untuk Windows XP dan Windows Server 2003 dan versi yang lebih baru. Memerlukan Windows PowerShell 2.0 atau versi lebih baru.
[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
}
#
Referensi
Panduan Pelanggan untuk serangan WannaCrypt
Pemutakhiran Keamanan MS17-010
Kueri SQL Server Manajer Konfigurasi untuk pelaporan kepatuhan yang terkait dengan MS17-010.
Artikel ini berlaku untuk:
-
Windows Server 2016
-
Windows 10 Version 1607
-
Windows 10 Version 1511
-
Windows 10 Version 1507
-
Windows Server 2012 R2
-
Windows 8.1
-
Windows Server 2012
-
Windows 8
-
Windows Server 2008 R2
-
Windows 7
-
Windows Server 2008 Paket Layanan 2
-
Windows Vista
-
Windows Server 2003 Paket Layanan 2
-
Windows XP