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: Verificação pelo número da Base de Dados de Conhecimento instalada
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 versões posteriores. 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 |
Prévia de março do pacote cumulativo mensal |
Atualização Apenas |
Pacote cumulativo mensal de abril |
Prévia de abril do pacote cumulativo mensal |
Atualização Apenas segurança de maio |
Pacote cumulativo mensal de maio |
Link de download |
Windows 7 SP1 e 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 e Windows Server 2012 R2 |
4012213 |
4012216 |
4012219 |
4015547 Não contém o patch MS17-010 |
4015550 |
4015553 |
4019213 |
4019215 |
|
Windows 10 versão 1507 |
4012606 |
4016637 |
- |
- |
4015221 |
- |
- |
4019474 10.0.10240.17394 |
|
Windows 10 versão 1511 |
4013198 |
4016636 |
- |
- |
4015219 |
- |
- |
4019473 |
|
Windows 10 Versão e Windows Server 2016 |
4013429 |
4016635 |
- |
- |
4015217 |
- |
- |
4019472 |
Tabela 2 de 2: Continuação para as atualizações de maio e junho de 2017.
Versões do Windows |
Prévia de maio do pacote cumulativo mensal (16/05/2017) |
Atualização Apenas segurança de junho (13/06/2017) |
Pacote cumulativo mensal de junho (13/06/2017) |
Link de download |
Windows 7 e Server 2008 R2 |
4019265
|
4022722 |
4022168 |
|
Windows Server 2012 |
4019218 |
4022718 |
4022724 |
|
Windows 8.1 e Windows Server 2012 R2 |
4019217 |
4022717 |
4022720 |
|
Windows 10 versão 1507 |
- |
- |
4032695 |
|
Windows 10 versão 1511 |
- |
- |
4032693 |
|
Windows 10 Versão 1607 e Windows Server 2016 |
- |
- |
4022723 |
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 |
Link de download |
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 para sistemas de 32 bits
|
Windows 8 |
4012598 |
Tabela 3: Atualizações adicionais que contêm a correção.
Windows 8.1 e Windows Server 2012 R2
Data de lançamento |
Número da KB |
Página de suporte |
terça-feira, 21 de março de 2017 |
4012219 |
21 de março de 2017—KB4012218 (Prévia do pacote cumulativo mensal) |
terça-feira, 18 de abril de 2017 |
4015553 |
18 de abril de 2017—KB4015553 (Prévia do pacote cumulativo mensal) |
terça-feira, 16 de maio de 2017 |
4019217 |
16 de maio de 2017—KB4019217 (Prévia do pacote cumulativo mensal) |
terça-feira, 27 de junho de 2017 |
4022720 |
27 de junho de 2017 — KB4022720 (Prévia do Pacote cumulativo mensal) |
Windows Server 2012
Data de lançamento |
Número da KB |
Página de suporte |
terça-feira, 21 de março de 2017 |
4012220 |
21 de março de 2017—KB4012220 (Prévia do pacote cumulativo mensal) |
terça-feira, 18 de abril de 2017 |
4015554 |
18 de abril de 2017—KB4015554 (Prévia do pacote cumulativo mensal) |
terça-feira, 16 de maio de 2017 |
4019218 |
16 de maio de 2017—KB4019218 (Prévia do pacote cumulativo mensal) |
terça-feira, 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 de lançamento |
Número da KB |
Página de suporte |
terça-feira, 21 de março de 2017 |
4012218 |
21 de março de 2017—KB4012218 (Prévia do pacote cumulativo mensal) |
terça-feira, 18 de abril de 2017 |
4015552 |
18 de abril de 2017—KB4015552 (Prévia do pacote cumulativo mensal) |
terça-feira, 16 de maio de 2017 |
4019265 |
16 de maio de 2017—KB4019265 (Prévia do pacote cumulativo mensal) |
terça-feira, 27 de junho de 2017 |
4022168 |
27 de junho de 2017 — KB4022168 (Prévia do Pacote cumulativo mensal) |
Método 2: Verificação pela versão do arquivo %systemroot%\system32\drivers\srv.sys
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 |
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 |
Método 3: Verificação pela WMI e pelo 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 da KB atual.
-
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 da KB atual.
-
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 da KB atual.
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:
A atualização não é aplicável ao seu computador
Para resolver esse erro, siga estas etapas:
-
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).
-
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: Atualização do Windows RT 8.1, Windows 8.1 e Windows Server 2012 R2: Abril de 2014
-
KB 2919442: Março de 2014 - Atualização da pilha de manutenção para Windows 8.1 e Windows Server 2012 R2
-
KB 3173424: Atualização da pilha de manutenção para Windows 8.1 e Windows Server 2012 R2: 12 de julho de 2016
-
-
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
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