Como verificar se a MS17-010 está instalada

Aviso

Este artigo da Base de Conhecimento é fornecido no estado em que se encontra e não substitui os dados fornecidos nos canais de atualização normais. Informações de substituição cujas datas sejam posteriores aos dados a seguir podem ser encontradas no Guia de Atualizações de Segurança e em outras ferramentas de apoio.

Resumo

Veja os produtos aos quais este artigo se aplica.

A atualização de segurança MS17-010 resolve várias vulnerabilidades no Windows Server Message Block (SMB) v1. O ransomware WannaCrypt está explorando uma das vulnerabilidades que faz parte da atualização MS17-010. Os computadores que não têm a MS17-010 instalada correm altos riscos devido às diversas variações do malware. Este artigo fornece vários métodos rápidos para detectar se o computador está atualizado.

Método 1: verificar por meio do número da Base de Dados de Conhecimento instalado

Use a tabela a seguir para verificar a existência de qualquer uma das atualizações listadas (exceto aquelas as marcadas como "Não contém o patch MS17-010"). Se qualquer uma delas estiver instalada, a MS17-010 está instalada.

Tabela 1 de 2: Windows 7 SP1 e posterior. As seguintes KBs de pacote cumulativo contêm a correção (exceto na coluna "Abril - Apenas segurança 4B"). Abaixo de cada número de KB, encontra-se o número da versão de Srv.sys atualizado.

Versões do Windows Atualização apenas segurança de março (14/03/17) Pacote cumulativo mensal de março
(14/03/2017)
Prévia de março do pacote cumulativo mensal
(3/21/17)
Atualização Apenas
segurança de abril
(4/11/17)
Pacote cumulativo mensal de abril
(4/11/17)
Prévia de abril do pacote cumulativo mensal
(4/18/17)
Atualização Apenas segurança de maio
(5/09/17)
Pacote cumulativo mensal de maio
(5/09/17)
Link para download
Windows 7 SP1 e Windows Server 2008 R2 SP1 4012212
6.1.7601.23689
4012215
6.1.7601.23689
4012218
6.1.7601.23689
4015546
Não contém o patch MS17-010
4015549
6.1.7601.23689
4015552
6.1.7601.23689
4019263
6.1.7601.23762
4019264
6.1.7601.23762
Histórico de atualizações do Windows 7 SP1 e Windows Server 2008 R2 SP1
Windows 2012 4012214
6.2.9200.22099
4012217
6.2.9200.22099
4012220
6.2.9200.22099
4015548
Não contém o patch MS17-010
4015551
6.2.9200.22099
4015554
6.2.9200.22099
4019214
6.2.9200.22137
4019216
6.2.9200.22137
Histórico de atualizações do Windows Server 2012
Windows 8.1 and Windows Server 2012 R2 4012213
6.3.9600.18604
4012216
6.3.9600.18604
4012219
6.3.9600.18604
4015547 Não contém o patch MS17-010 4015550
6.3.9600.18604
4015553
6.3.9600.18619
4019213
6.3.9600.18655
4019215
6.3.9600.18655
Histórico de atualizações do Windows 8.1 e do Windows Server 2012 R2
Windows 10 versão 1507 4012606
10.0.10240.17319
4016637
10.0.10240.17319
- - 4015221
10.0.10240.17319
- - 4019474 10.0.10240.17394 Histórico de atualização do Windows 10
Windows 10 Versão 1511 4013198
10.0.10586.839
4016636
10.0.10586.839
- - 4015219
10.0.10586.839
- - 4019473
10.0.10586.916
Histórico de atualização do Windows 10
Windows 10 Versão e Windows Server 2016 4013429
10.0.14393.953
4016635
10.0.14393.953
- - 4015217
10.0.14393.953
- - 4019472
10.0.14393.1198
Histórico de atualizações do Windows 10 e do Windows Server 2016

 

Tabela 2 de 2: Continuou para as atualizações de maio e junho de 2017.

Versões do Windows Prévia de maio do pacote cumulativo mensal
(5/16/17)
Atualização Apenas segurança de junho
(6/13/17)
Pacote cumulativo mensal de junho
(6/13/17)
Link para download
Windows 7 e Server 2008 R2 4019265
6.1.7601.23762
4022722 4022168
6.1.7601.23762
Histórico de atualizações do Windows 7 SP1 e Windows Server 2008 R2 SP1
Windows Server 2012 4019218
6.2.9200.22137
4022718 4022724
6.2.9200.22137
Histórico de atualizações do Windows Server 2012
Windows 8.1 and Windows Server 2012 R2 4019217
6.3.9600.18655
4022717 4022720
6.3.9600.18688
Histórico de atualizações do Windows 8.1 e do Windows Server 2012 R2
Windows 10 versão 1507 - - 4032695 Histórico de atualização do Windows 10
Windows 10 Versão 1511 - - 4032693 Histórico de atualização do Windows 10
Windows 10 Versão 1607 e Windows Server 2016 - - 4022723
10.0.14393.1198
Histórico de atualizações do Windows 10 e do Windows Server 2016

 

Tabela 2: Outras versões do Windows. Usa a KB 4012598 para a atualização de segurança.

Versões do Windows Número da base de dados de conhecimento e
versão de Srv.sys atualizada
Link para download
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
GDR: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
GDR:6.0.6002.19743
LDR:6.0.6002.24067
Windows Server 2008 Service Pack 2 para sistemas de 32 bits

Windows Server 2008 Service Pack 2 para sistemas com base em x64

Windows Server 2008 para o Pacote de Serviço de Sistemas baseado em Itanium 2
Windows 8 4012598
6.2.9200.22099
Windows 8 x86, Windows 8 x64

 

Tabela 3: Atualizações adicionais que contêm a correção.

Windows 8.1 and Windows Server 2012 R2

Data do lançamento Número da KB Página de suporte
21 de março de 2017 4012219 21 de março de 2017—KB4012218 (Prévia do pacote cumulativo mensal)
18 de abril de 2017 4015553 18 de abril de 2017—KB4015553 (Prévia do pacote cumulativo mensal)
16 de maio de 2017 4019217 16 de maio de 2017—KB4019217 (Prévia do pacote cumulativo mensal)
27 de junho de 2017 4022720 27 de junho de 2017 — KB4022720 (Prévia do Pacote cumulativo mensal)

Windows Server 2012

Data do lançamento Número da KB Página de suporte
21 de março de 2017 4012220 21 de março de 2017—KB4012220 (Prévia do pacote cumulativo mensal)
18 de abril de 2017 4015554 18 de abril de 2017—KB4015554 (Prévia do pacote cumulativo mensal)
16 de maio de 2017 4019218 16 de maio de 2017—KB4019218 (Prévia do pacote cumulativo mensal)
27 de junho de 2017 4022721 27 de junho de 2017 — KB4022721 (Prévia do Pacote cumulativo mensal)

Windows 7 SP1 e Windows Server 2008 R2 SP1

Data do lançamento Número da KB Página de suporte
21 de março de 2017 4012218 21 de março de 2017—KB4012218 (Prévia do pacote cumulativo mensal)
18 de abril de 2017 4015552 18 de abril de 2017—KB4015552 (Prévia do pacote cumulativo mensal)
16 de maio de 2017 4019265 16 de maio de 2017—KB4019265 (Prévia do pacote cumulativo mensal)
27 de junho de 2017 4022168 27 de junho de 2017 — KB4022168 (Prévia do Pacote cumulativo mensal)

Método 2: verificar por %systemroot%\system32\drivers\srv.sys versão do arquivo

Use o seguinte gráfico para verificar a versão do arquivo de %systemroot%\system32\drivers\srv.sys. Se a versão do arquivo for igual a ou maior que a versão listada, a MS17-010 está instalada.

Versões do Windows Versão mínima de Srv.sys atualizada
Windows XP 5.1.2600.7208
Windows Server 2003 SP2 5.2.3790.6021
Windows Vista
Windows Server 2008 SP2
GDR: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

Método 3: verificar por WMI e Windows PowerShell

Use a WMI e o Windows PowerShell para determinar se as correções da MS17-010 foram instaladas.

Comando da WMI

Para encontrar o número da KB especificado, abra a janela do prompt de comandos com privilégios elevados e execute o seguinte comando:


wmic qfe get hotfixid | find "KB1234567"

Observações

  • Neste comando, substitua <KB1234567> pelo número de KB real.

  • Use um caractere de E comercial (&) para procurar várias atualizações. Por exemplo, execute o comando a seguir:

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

Comandos do PowerShell

Para verificar no sistema local, execute o seguinte cmdlet administrativo do PowerShell:


 get-hotfix -id KB1234567

Observações

  • Neste comando, substitua <KB1234567> pelo número de KB real.

  • Use uma vírgula ( , ) para procurar várias atualizações. Por exemplo, execute o comando a seguir:

    get-hotfix -id KB4012212,KB4012215,KB4015549

Para verificar todos os computadores em um domínio do Active Directory ou em uma OU, execute o seguinte cmdlet do Windows PowerShell administrativo em um controlador de domínio:


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

Observação A parte "OU=workstations,dc=contoso,dc=com"pode ser alterada para apontar para a raiz de uma partição de diretório de domínio do Active Directory, como "dc=contoso,dc=com"para pesquisar computadores no domínio inteiro. Neste comando, substitua <KB1234567> pelo número de KB real.

Como resolver o erro de instalação "não aplicável"

Se correções de pré-requisitos não estiverem instaladas nos computadores, você poderá receber a seguinte mensagem de erro quando instalar a MS17-010 no Windows 8.1 ou no Windows Server R2 de 2012:

Observação

A atualização não é aplicável ao seu computador

Para resolver esse erro, siga estas etapas:

  1. Verifique se você está tentando instalar a atualização correta. Para fazer isso, verifique o número da KB na Tabela 1 do Método 1. Compare-a com a versão do sistema, o nível do service pack do sistema e o nível de bits do sistema (x64, IA64 ou x86).
     

  2. Verifique se há dependências faltando. Para o Windows 8.1 e o Windows Server R2 2012, instale correções dependentes conforme necessário, de acordo com os seguintes artigos:

    • KB 2919355: Windows RT 8.1, Windows 8.1 e Windows Server 2012 R2 Atualização: abril de 2014
    • KB 2919442: atualização de pilha de manutenção de março de 2014 para Windows 8.1 e Windows Server 2012 R2
    • KB 3173424: atualização de pilha de manutenção para Windows 8.1 e Windows Server 2012 R2: 12 de julho de 2016
  3. Se você não conseguir instalar uma atualização de pacote cumulativo, tente uma versão de pacote cumulativo diferente. Consulte a Tabela 1 para conhecer as atualizações disponíveis.
     

Script do PowerShell

O seguinte script do Windows PowerShell compara a versão de Srv.sys no computador local com as versões que estão listadas no gráfico do Método 2.

Salve esse script em um arquivo .ps1 e, em seguida, execute o script no PowerShell. Esse script se aplica ao Windows XP e ao Windows Server 2003 e versões posteriores. Ele requer o Windows PowerShell 2.0 ou uma versão posterior.
 


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

Referências

Orientação aos clientes para ataques WannaCrypt

Centro de Proteção contra Malware

Blog do Centro de Proteção contra Malware da Microsoft

Atualização de segurança MS17-010

Consultas SQL Server do Configuration Manager para relatórios de conformidade relacionados ao MS17-010

Este artigo aplica-se a:

 

  • Windows Server 2016
  • Windows 10 Versão 1607
  • Windows 10 Versão 1511
  • Windows 10 versão 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