Как да проверим дали MS17-010 е инсталирана

Забележка

Тази статия от Базата знания се предоставя във вида, в който е, и не замества данните за заместване, които се предоставят чрез нормалните канали за актуализация. Информация за заместване, която е след следващите следващите данни, може да бъде намерена в Справочника за актуализации на защитата и в други съпътстващи инструменти.

Резюме

Вижте продуктите , за които се отнася тази статия.

Актуализацията на защитата MS17-010 разглежда няколко уязвимости в блок от съобщения на Windows Server (SMB) v1. Злонамереният софтуер за откупи WannaCrypt използва една от уязвимостите, която е част от актуализацията MS17-010. Компютрите, които нямат инсталирана MS17-010, са поставени под висок риск, тъй като има няколко щама злонамерен софтуер. Тази статия предоставя няколко бързи метода за откриване на това дали компютърът е актуализиран.

Метод 1: Проверка по инсталиран номер на базата за знания

Използвайте следната таблица за проверка за някоя от включените актуализации (с изключение на тези, маркирани като "Не съдържа корекция MS17-010 "). Ако някоя от тях е инсталирана, MS17-010 е инсталирана.

Таблица 1 от 2: Windows 7 SP1 и по-нови версии. Следните БЗ на пакет за актуализация съдържат корекцията (с изключение на колона "4B само за защита от април"). Под всеки номер на БЗ е номерът на актуализираната версия на Srv.sys.

Версии на Windows Актуализация само на защитата от март (14.03.2017 г.) Месечен сборен пакет за актуализация за март
(3/14/17)
Предварителен преглед на месечен пакет за актуализация от март
(3/21/17)
Защита от април
Само актуализация
(4/11/17)
Месечен сборен пакет за актуализация от април
(4/11/17)
Предварителен преглед на месечен пакет за актуализация от април
(4/18/17)
Актуализация само на защитата от май
(5/09/17)
Месечен сборен пакет за актуализация за май
(5/09/17)
Връзка за изтегляне
Windows 7 SP1 и Windows Server 2008 R2 SP1 4012212
6.1.7601.23689
4012215
6.1.7601.23689
4012218
6.1.7601.23689
4015546
Не съдържа корекция MS17-010
4015549
6.1.7601.23689
4015552
6.1.7601.23689
4019263
6.1.7601.23762
4019264
6.1.7601.23762
Хронология на актуализациите на Windows 7 SP1 и Windows Server 2008 R2 SP1
Windows 2012 4012214
6.2.9200.22099
4012217
6.2.9200.22099
4012220
6.2.9200.22099
4015548
Не съдържа корекция MS17-010
4015551
6.2.9200.22099
4015554
6.2.9200.22099
4019214
6.2.9200.22137
4019216
6.2.9200.22137
Хронология на актуализациите на Windows Server 2012
Windows 8.1 и Windows Server 2012 R2 4012213
6.3.9600.18604
4012216
6.3.9600.18604
4012219
6.3.9600.18604
4015547 Не съдържа корекция MS17-010 4015550
6.3.9600.18604
4015553
6.3.9600.18619
4019213
6.3.9600.18655
4019215
6.3.9600.18655
Хронология на актуализациите на Windows 8.1 и Windows Server 2012 R2
Версия 1507 на Windows 10 4012606
10.0.10240.17319
4016637
10.0.10240.17319
- - 4015221
10.0.10240.17319
- - 4019474 10.0.10240.17394 Хронология на актуализациите на Windows 10
Версия 1511 на Windows 10 4013198
10.0.10586.839
4016636
10.0.10586.839
- - 4015219
10.0.10586.839
- - 4019473
10.0.10586.916
Хронология на актуализациите на Windows 10
Windows 10 версия Windows Server 2016 4013429
10.0.14393.953
4016635
10.0.14393.953
- - 4015217
10.0.14393.953
- - 4019472
10.0.14393.1198
Хронология на актуализациите на Windows 10 и Windows Server 2016

 

Таблица 2 от 2: Продължени за актуализациите от май и юни 2017 г.

Версии на Windows Предварителен преглед на месечен пакет за актуализация за май
(5/16/17)
Актуализация само на защитата от юни
(6/13/17)
Месечен сборен пакет за актуализация за юни
(6/13/17)
Връзка за изтегляне
Windows 7 и Server 2008 R2 4019265
6.1.7601.23762
4022722 4022168
6.1.7601.23762
Хронология на актуализациите на Windows 7 SP1 и Windows Server 2008 R2 SP1
Windows Server 2012 4019218
6.2.9200.22137
4022718 4022724
6.2.9200.22137
Хронология на актуализациите на Windows Server 2012
Windows 8.1 и Windows Server 2012 R2 4019217
6.3.9600.18655
4022717 4022720
6.3.9600.18688
Хронология на актуализациите на Windows 8.1 и Windows Server 2012 R2
Версия 1507 на Windows 10 - - 4032695 Хронология на актуализациите на Windows 10
Версия 1511 на Windows 10 - - 4032693 Хронология на актуализациите на Windows 10
Версия 1607 на Windows 10 и Windows Server 2016 - - 4022723
10.0.14393.1198
Хронология на актуализациите на Windows 10 и Windows Server 2016

 

Таблица 2: Други версии на Windows. Използвайте KB 4012598 за актуализацията на защитата.

Версии на Windows Номер на БЗ и
Актуализирана Srv.sys версия
Връзка за изтегляне
Windows Server 2003 SP2 4012598
5.2.3790.6021
Windows Server 2003 SP2 x64

Windows Server 2003 SP2 x86
Windows XP 4012598
5.1.2600.7208
Windows XP SP2 x64

Windows XP SP3 x86

Windows XP Embedded SP3 x86
Windows Vista SP2 4012598
ОИД:6.0.6002.19743
LDR:6.0.6002.24067
Windows Vista Service Pack 2

Windows Vista x64 Edition Service Pack 2
Windows Server 2008 SP2 4012598
ОИД:6.0.6002.19743
LDR:6.0.6002.24067
Windows Server 2008 за 32-битови системи Service Pack 2

Windows Server 2008 за базирани на x64 системи Service Pack 2

Windows Server 2008 for Itanium-based Systems Service Pack 2
Windows 8 4012598
6.2.9200.22099
Windows 8 x86, Windows 8 x64

 

Таблица 3: Допълнителни актуализации, които съдържат корекцията.

Windows 8.1 и Windows Server 2012 R2

Дата на издаване Номер в БЗ Страница за поддръжка
21 март 2017 г. 4012219 21 март 2017 г. – KB4012218 (предварителен преглед на месечен сборен пакет за актуализация)
18 април 2017 г. 4015553 18 април 2017 г. – KB4015553 (предварителен преглед на месечен сборен пакет за актуализация)
16 май 2017 г. 4019217 16 май 2017 г. – KB4019217 (предварителен преглед на месечен сборен пакет за актуализация)
27 юни 2017 г. 4022720 27 юни 2017 г. —KB4022720 (Предварителен преглед на месечен сборен пакет за актуализация)

Windows server 2012

Дата на издаване Номер в БЗ Страница за поддръжка
21 март 2017 г. 4012220 21 март 2017 г. – KB4012220 (предварителен преглед на месечен сборен пакет за актуализация)
18 април 2017 г. 4015554 18 април 2017 г. – KB4015554 (предварителен преглед на месечен сборен пакет за актуализация)
16 май 2017 г. 4019218 16 май 2017 г. – KB4019218 (предварителен преглед на месечен сборен пакет за актуализация)
27 юни 2017 г. 4022721 27 юни 2017 г. —KB4022721 (Предварителен преглед на месечен сборен пакет за актуализация)

Windows 7 SP1 и Windows Server 2008 R2 SP1

Дата на издаване Номер в БЗ Страница за поддръжка
21 март 2017 г. 4012218 21 март 2017 г. – KB4012218 (предварителен преглед на месечен сборен пакет за актуализация)
18 април 2017 г. 4015552 18 април 2017 г. – KB4015552 (предварителен преглед на месечен сборен пакет за актуализация)
16 май 2017 г. 4019265 16 май 2017 г. – KB4019265 (предварителен преглед на месечен сборен пакет за актуализация)
27 юни 2017 г. 4022168 27 юни 2017 г. —KB4022168 (Предварителен преглед на месечен сборен пакет за актуализация)

Метод 2: Проверка по %systemroot%\system32\drivers\srv.sys версия на файла

Използвайте следната таблица за проверка на файловата версия на %systemroot%\system32\drivers\srv.sys. Ако файловата версия е същата или по-голяма от посочената, MS17-010 е инсталирана.

Версии на Windows Минимална актуализирана версия на Srv.sys
Windows XP 5.1.2600.7208
Windows Server 2003 SP2 5.2.3790.6021
Windows Vista
Windows Server 2008 SP2
ОИД:6.0.6002.19743, LDR:6.0.6002.24067
Windows 7
Windows Server 2008 R2
6.1.7601.23689
Windows 8
Windows Server 2012
6.2.9200.22099
Windows 8.1
Windows Server 2012 R2
6.3.9600.18604
Windows 10 TH1 v1507 10.0.10240.17319
Windows 10 TH2 v1511 10.0.10586.839
Windows 10 RS1 v1607
Windows Server 2016
10.0.14393.953

Метод 3: Проверка чрез WMI и Windows PowerShell

Използвайте WMI и Windows PowerShell, за да определите дали са инсталирани корекции на MS17-010.

WMI команда

За да откриете конкретен номер на БЗ, отворете команден прозорец с администраторски права и изпълнете следната команда:


wmic qfe get hotfixid | find "KB1234567"

Забележки

  • В тази команда заменете <KB1234567> с действителния номер на БЗ.

  • Използвайте знака амперсанд (&) за търсене на няколко актуализации. Например изпълнете следната команда:

    wmic qfe get hotfixid | find "KB4012212" & wmic qfe get hotfixid | find "KB4012215" & wmic qfe get hotfixid | find "KB4015549"

Команди на PowerShell

За проверка в локалната система изпълнете следната администраторска кратка команда на PowerShell:


 get-hotfix -id KB1234567

Забележки

  • В тази команда заменете <KB1234567> с действителния номер на БЗ.

  • Използвайте запетая ( , ) за търсене на няколко актуализации. Например изпълнете следната команда:

    get-hotfix -id KB4012212,KB4012215,KB4015549

За проверка на всички компютри в домейн Active Directory или OU изпълнете следната администраторска кратка команда на PowerShell на домейнов контролер:


foreach ( $n in (get-adcomputer -searchbase ‘OU=workstations,dc=contoso,dc=com’ -filter * -property * | select name )) {get-hotfix -computername $n.name -id KB1234567}

Забележка Частта "OU=workstations,dc=contoso,dc=com" може да се промени така, че да посочва главния елемент на дяла на справочника на домейн Active Directory, като напр. "dc=contoso,dc=com" за търсене на компютри в целия домейн. В тази команда заменете <KB1234567> с действителния номер на БЗ.

Как да разрешим грешката при инсталиране "не е приложимо"

Ако задължителните корекции не са инсталирани на компютрите, може да получите следното съобщение за грешка, когато инсталирате MS17-010 на Windows 8.1 или Windows Server 2012 R2:

Забележка

Актуализацията е несъвместима с вашия компютър

За да отстраните тази грешка, изпълнете следните стъпки:

  1. Уверете се, че се опитвате да инсталирате правилната актуализация. За тази цел проверете номера на БЗ в таблица 1 в метод 1. Сравнете го с вашата системна версия, ниво на сервизен пакет на системата и ниво бита на системата (x64, IA64 или x86).
     

  2. Проверете за липсващи зависимости. За Windows 8.1 и Windows Server 2012 R2 монтирайте зависими корекции според изискванията съгласно следните статии:

    • KB 2919355: Актуализация на Windows RT 8.1, Windows 8.1 и Windows Server 2012 R2: Април 2014 г.
    • KB 2919442: Актуализация на стек за обслужване от март 2014 г. за Windows 8.1 и Windows Server 2012 R2
    • KB 3173424: Актуализация на стек за обслужване за Windows 8.1 и Windows Server 2012 R2: 12 юли 2016 г.
  3. Ако не можете да инсталирате сборна актуализация, опитайте с друга версия на сборния пакет за актуализация. Вижте таблица 1 за наличните актуализации.
     

Скрипт на PowerShell

Следващият скрипт на Windows PowerShell сравнява версията на Srv.sys на локалния компютър с версиите, които са изброени в таблицата в метод 2.

Запишете този скрипт на .ps1 файл и след това стартирайте скрипта от PowerShell. Този скрипт важи за Windows XP и Windows Server 2003 и по-нови версии. Изисква Windows PowerShell 2.0 или по-нова версия.
 


[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
    }
#

Справки

Клиентски указания за атаки на WannaCrypt

Център за защита от злонамерен софтуер

Блог на центъра за защита от злонамерен софтуер на Microsoft

Актуализация на защитата MS17-010

Configuration Manager SQL Server заявки за отчитане за съответствието, свързано с MS17-010

Тази статия се отнася до:

 

  • Windows Server 2016
  • Версия 1607 на Windows 10
  • Версия 1511 на Windows 10
  • Версия 1507 на Windows 10
  • 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