Uwaga
Ten artykuł z bazy wiedzy Knowledge Base jest dostarczany w stanie, w jakim się znajduje, i nie stanowi zastąpienia dostarczanych za pośrednictwem standardowych kanałów aktualizacji. Informacje o zastąpieniu tych danych można znaleźć w Przewodniku aktualizacji zabezpieczeń i innych narzędziach równorzędnych.
Podsumowanie
Zobacz produkty, których dotyczy ten artykuł.
Aktualizacja bezpieczeństwa MS17-010 rozwiązuje problem kilku luk bezpieczeństwa w bloku komunikatów serwera (SMB) systemu Windows v1. Jedną z luk, które poprawia aktualizacja MS17-010, wykorzystuje oprogramowanie wymuszające okup WannaCrypt. Komputery, na których nie zainstalowano aktualizacji MS17-010, są narażone na większe zagrożenie ze strony kilku odmian złośliwego oprogramowania. W artykule przedstawiono kilka metod pozwalających szybko wykryć, czy komputer został zaktualizowany.
Metoda 1: Sprawdzenie numerów zainstalowanych aktualizacji w bazie wiedzy Knowledge Base
W tabeli poniżej odszukaj wymienione aktualizacje (poza tymi, które oznaczono jako „Nie zawiera poprawki MS17-010”). Jeśli któraś z nich jest zainstalowana, poprawka MS17-010 została zainstalowana.
Tabela 1 z 2: System Windows 7 z dodatkiem SP1 lub nowszy Następujące pakiety zbiorcze aktualizacji KB zawierają tę poprawkę (poza wymienionymi w kolumnie „Kwietniowa poprawka tylko zabezpieczeń 4B”). Pod każdym numerem KB znajduje się zaktualizowany numer wersji pliku Srv.sys.
Wersje systemu Windows |
Tylko marcowa aktualizacja zabezpieczeń (2017-03-14) |
Marcowy pakiet zbiorczy aktualizacji |
Wersja poglądowa marcowego pakietu zbiorczego aktualizacji |
Kwietniowy pakiet aktualizacji zabezpieczeń |
Kwietniowy pakiet zbiorczy aktualizacji |
Wersja poglądowa kwietniowego pakietu zbiorczego aktualizacji |
Majowa aktualizacja jedynie zabezpieczeń |
Majowy pakiet zbiorczy aktualizacji |
Link do pliku do pobrania |
Windows 7 z dodatkiem SP1 i Windows Server 2008 R2 z dodatkiem SP1 |
4012212 |
4012215 |
4012218 |
4015546 |
4015549 |
4015552 |
4019263 |
4019264 |
|
Windows 2012 |
4012214 |
4012217 |
4012220 |
4015548 |
4015551 |
4015554 |
4019214 |
4019216 |
|
Windows 8.1 i Windows Server 2012 R2 |
4012213 |
4012216 |
4012219 |
4015547 Nie zawiera poprawki MS17-010 |
4015550 |
4015553 |
4019213 |
4019215 |
|
Windows 10 wersja 1507 |
4012606 |
4016637 |
- |
- |
4015221 |
- |
- |
4019474 10.0.10240.17394 |
|
Windows 10 wersja 1511 |
4013198 |
4016636 |
- |
- |
4015219 |
- |
- |
4019473 |
|
Windows 10 i Windows Server 2016 |
4013429 |
4016635 |
- |
- |
4015217 |
- |
- |
4019472 |
Tabela 2 z 2: Ciąg dalszy aktualizacji z maja i czerwca 2017 r.
Wersje systemu Windows |
Wersja poglądowa majowego pakietu zbiorczego aktualizacji (2017-05-16) |
Czerwcowa aktualizacja jedynie zabezpieczeń (2017-06-13) |
Czerwcowy pakiet zbiorczy aktualizacji (2017-06-13) |
Link do pliku do pobrania |
Windows 7 i Windows Server 2008 R2 |
4019265
|
4022722 |
4022168 |
|
Windows Server 2012 |
4019218 |
4022718 |
4022724 |
|
Windows 8.1 i Windows Server 2012 R2 |
4019217 |
4022717 |
4022720 |
|
Windows 10 wersja 1507 |
- |
- |
4032695 |
|
Windows 10 wersja 1511 |
- |
- |
4032693 |
|
Windows 10 w wersji 1607 i Windows Server 2016 |
- |
- |
4022723 |
Tabela 2: Inne wersje systemu Windows Aby zainstalować aktualizację zabezpieczeń, należy użyć poprawki KB 4012598.
Wersje systemu Windows |
Numer KB oraz |
Link do pliku do pobrania |
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 z dodatkiem Service Pack 2 dla systemów 32-bitowych
|
Windows 8 |
4012598 |
Tabela 3: Dodatkowe aktualizacje zawierające tę poprawkę.
Windows 8.1 i Windows Server 2012 R2
Data wydania |
Numer artykułu KB |
Strona pomocy technicznej |
21 marca 2017 r. |
4012219 |
21 marca 2017 r.—KB4012218 (wersja poglądowa pakietu zbiorczego aktualizacji) |
czwartek, poniedziałek, wtorek, 18 kwietnia 2017 |
4015553 |
18 kwietnia 2017 r.—KB4015553 (wersja poglądowa pakietu zbiorczego aktualizacji) |
czwartek, poniedziałek, wtorek, 16 maja 2017 |
4019217 |
16 maja 2017 r.—KB4019217 (wersja poglądowa pakietu zbiorczego aktualizacji) |
czwartek, poniedziałek, wtorek, 27 czerwca 2017 |
4022720 |
27 czerwca 2017 r.—KB4022720 (wersja poglądowa pakietu zbiorczego aktualizacji) |
Windows Server 2012
Data wydania |
Numer artykułu KB |
Strona pomocy technicznej |
21 marca 2017 r. |
4012220 |
21 marca 2017 r.—KB4012220 (wersja poglądowa pakietu zbiorczego aktualizacji) |
czwartek, poniedziałek, wtorek, 18 kwietnia 2017 |
4015554 |
18 kwietnia 2017 r.—KB4015554 (wersja poglądowa pakietu zbiorczego aktualizacji) |
czwartek, poniedziałek, wtorek, 16 maja 2017 |
4019218 |
16 maja 2017 r.—KB4019218 (wersja poglądowa pakietu zbiorczego aktualizacji) |
27 czerwca 2017 r. |
4022721 |
27 czerwca 2017 r.—KB4022721 (wersja poglądowa pakietu zbiorczego aktualizacji) |
Windows 7 z dodatkiem SP1 i Windows Server 2008 R2 z dodatkiem SP1
Data wydania |
Numer artykułu KB |
Strona pomocy technicznej |
21 marca 2017 r. |
4012218 |
21 marca 2017 r.—KB4012218 (wersja poglądowa pakietu zbiorczego aktualizacji) |
czwartek, poniedziałek, wtorek, 18 kwietnia 2017 |
4015552 |
18 kwietnia 2017 r.—KB4015552 (wersja poglądowa pakietu zbiorczego aktualizacji) |
czwartek, poniedziałek, wtorek, 16 maja 2017 |
4019265 |
16 maja 2017 r.—KB4019265 (wersja poglądowa pakietu zbiorczego aktualizacji) |
czwartek, poniedziałek, wtorek, 27 czerwca 2017 |
4022168 |
27 czerwca 2017 r.—KB4022168 (wersja poglądowa pakietu zbiorczego aktualizacji) |
Metoda 2: Sprawdzenie wersji pliku %systemroot%\system32\drivers\srv.sys
Posłuż się następującym diagramem, by sprawdzić wersję pliku %systemroot%\system32\drivers\srv.sys. Jeśli wersja pliku jest taka sama lub wyższa niż wymieniona, poprawka MS17-010 została zainstalowana.
Wersje systemu Windows |
Minimalna zaktualizowana wersja pliku srv.sys |
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 |
Metoda 3: Sprawdzenie przy użyciu usługi WMI i powłoki Windows PowerShell
Użyj usługi WMI i powłoki Windows PowerShell, aby ustalić, czy poprawki MS17-010 zostały zainstalowane.
Polecenie WMI
Aby znaleźć określony numer poprawki KB, otwórz okno wiersza polecenia z podwyższonym poziomem uprawnień, a następnie uruchom następujące polecenie:
wmic qfe get hotfixid | find "KB1234567"
Uwagi
-
W poleceniu zastąp <KB1234567> odpowiednim numerem KB.
-
Aby wyszukać wiele aktualizacji, użyj znaku ampersand (&). Na przykład uruchom następujące polecenie:
wmic qfe get hotfixid | find "KB4012212" & wmic qfe get hotfixid | find "KB4012215" & wmic qfe get hotfixid | find "KB4015549"
Polecenia powłoki PowerShell
Aby sprawdzić system lokalny, uruchom następujące administracyjne polecenie cmdlet powłoki PowerShell:
get-hotfix -id KB1234567
Uwagi
-
W poleceniu zastąp <KB1234567> odpowiednim numerem KB.
-
Aby wyszukać wiele aktualizacji, użyj przecinka (,) Na przykład uruchom następujące polecenie:
get-hotfix -id KB4012212,KB4012215,KB4015549
Aby sprawdzić wszystkie komputery w OU lub domenie Active Directory, uruchom na kontrolerze domeny następujące administracyjne polecenie cmdlet powłoki PowerShell:
foreach ( $n in (get-adcomputer -searchbase ‘OU=workstations,dc=contoso,dc=com’ -filter * -property * | select name )) {get-hotfix -computername $n.name -id KB1234567}
Uwaga Część „OU=workstations,dc=contoso,dc=com” można zmienić tak, aby wskazywała na katalog główny partycji katalogu domeny usług Active Directory, np. „dc=contoso,dc=com”, co umożliwi przeszukanie komputerów w całej domenie. W tym poleceniu zastąp <KB1234567> odpowiednim numerem KB.
Jak rozwiązać problem z błędem „nie ma zastosowania” przy instalacji
Jeśli na komputerach nie zainstalowano wstępnie wymaganych poprawek, podczas instalacji poprawki MS17-010 na komputerach z systemem Windows 8.1 lub Windows Server 2012 R2 może zostać wyświetlony następujący komunikat o błędzie:
Ta aktualizacja nie ma zastosowania do tego komputera
Aby rozwiązać ten problem, wykonaj następujące czynności:
-
Upewnij się, że instalujesz właściwą aktualizację. W tym celu sprawdź numer KB w tabeli 1 podanej w metodzie 1. Porównaj ją z wersją systemu, poziomem dodatku Service Pack oraz wersją platformy systemu (x64, IA64 lub x86).
-
Sprawdź brakujące zależności. W przypadku systemów Windows 8.1 i Windows Server 2012 R2 zainstaluj wymagane poprawki zgodnie z następującymi artykułami:
-
KB 2919355: aktualizacja dla systemów Windows RT 8.1, Windows 8.1 i Windows Server 2012 R2: kwiecień 2014
-
KB 2919442: Aktualizacja stosu usług dla systemów Windows 8.1 i Windows Server 2012 R2 z marca 2014
-
KB 3173424: Aktualizacja stosu usług dla systemów Windows 8.1 i Windows Server 2012 R2: 12 lipca 2016
-
-
Jeśli nie możesz zainstalować pakietu zbiorczego aktualizacji, spróbuj użyć innej jego wersji. Dostępne aktualizacje znajdziesz w tabeli 1.
Skrypt programu PowerShell
Ten skrypt programu Windows PowerShell dokonuje porównania wersji pliku Srv.sys na komputerze lokalnym z wersjami wymienionymi w zestawieniu zawartym w metodzie 2.
Zapisz ten skrypt do pliku .ps1, a następnie uruchom go z poziomu programu PowerShell. Skrypt ten działa w systemach Windows XP i Windows Server 2003 oraz ich późniejszych wersjach. Wymaga programu Windows PowerShell 2.0 lub jego nowszej wersji.
[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
}
#
Informacje
Wskazówki dla klientów w związku z atakami WannaCrypt
Centrum ochrony przed złośliwym oprogramowaniem
Blog Centrum firmy Microsoft ds. ochrony przed złośliwym oprogramowaniem
Ten artykuł dotyczy systemów:
-
Windows Server 2016
-
Windows 10 wersja 1607
-
Windows 10 wersja 1511
-
Windows 10 wersja 1507
-
Windows Server 2012 R2
-
Windows 8.1
-
Windows Server 2012
-
Windows 8
-
Windows Server 2008 R2
-
Windows 7
-
Windows Server 2008 z dodatkiem Service Pack 2
-
Windows Vista
-
Windows Server 2003 z dodatkiem Service Pack 2
-
Windows XP