Cómo comprobar que MS17-010 está instalado


Aviso


Este artículo de Knowledge Base se proporciona tal cual y no reemplaza los datos de sustitución que se suministran por medio de los canales normales de actualización. La información de sustitución publicada con posterioridad a los datos siguientes se encuentra en la Guía de actualización de seguridad y otras herramientas auxiliares.

Resumen


 
Consulte los productos a los que afecta este artículo.
 
La actualización de seguridad MS17-010 aborda varias vulnerabilidades en Windows Server Message Block (SMB) v1. El ransomware WannaCrypt está aprovechando una de las vulnerabilidades que la actualización MS17-010 aborda. Los equipos que no tienen MS17-010 instalado sufren un riesgo mayor debido a que existen varias cepas de este malware. Este artículo proporciona varios métodos rápidos para detectar si el equipo está actualizado.
 
 

Método 1: Comprobar el número del Knowledge Base instalado

Utilice la siguiente tabla para buscar cualquiera de las actualizaciones recogidas (excepto aquellas que tienen la indicación "No contiene el parche MS17-010"). Si tiene instalada cualquiera de ellas, quiere decir que MS17-010 está instalado.

Tabla 1 de 2: Windows 7 SP1 y versiones posteriores. Los siguientes paquetes acumulativos de KB contienen la corrección (excepto en la columna "Seguridad de abril Solo 4B"). Bajo cada número de KB aparece el número de versión actualizado de Srv.sys.

Versiones de Windows

Actualización solo de seguridad de marzo (14/03/17)

Paquete acumulativo mensual de marzo
(14/03/2017)

Vista previa de marzo del paquete acumulativo mensual
(21/3/17)

Actualización de solo
seguridad de abril
(11/04/2017)

Paquete acumulativo mensual de abril
(11/04/2017)

Vista previa de abril del paquete acumulativo mensual
(18/4/17)

Actualización de solo seguridad de mayo
(09/05/2017)

Paquete acumulativo mensual de mayo
(09/05/2017)

Vínculo de descarga

Windows 7 SP1 y Windows Server 2008 R2 SP1

4012212
6.1.7601.23689

4012215
6.1.7601.23689

4012218
6.1.7601.23689

4015546
No contiene el parche MS17-010

4015549
6.1.7601.23689

4015552
6.1.7601.23689

4019263
6.1.7601.23762

4019264
6.1.7601.23762

https://support.microsoft.com/es-es/help/4009469

Windows 2012

4012214
6.2.9200.22099

4012217
6.2.9200.22099

4012220
6.2.9200.22099

4015548
No contiene el parche MS17-010

4015551
6.2.9200.22099

4015554
6.2.9200.22099

4019214
6.2.9200.22137

4019216
6.2.9200.22137

https://support.microsoft.com/es-es/help/4009471

Windows 8.1 y Windows Server 2012 R2

4012213
6.3.9600.18604

4012216
6.3.9600.18604

4012219
6.3.9600.18604

4015547 No contiene el parche MS17-010

4015550
6.3.9600.18604

4015553
6.3.9600.18619

4019213
6.3.9600.18655

4019215
6.3.9600.18655

https://support.microsoft.com/es-es/help/4009470

Windows 10, versión 1507

4012606
10.0.10240.17319

4016637
10.0.10240.17319

-

-

4015221
10.0.10240.17319

-

-

4019474 10.0.10240.17394

https://support.microsoft.com/es-es/help/4000823

Windows 10, versión 1511  

4013198
10.0.10586.839

4016636
10.0.10586.839

-

-

4015219
10.0.10586.839

-

-

4019473
10.0.10586.916

https://support.microsoft.com/es-es/help/4000824

Windows 10, versión Windows Server 2016

4013429
10.0.14393.953

4016635
10.0.14393.953

-

-

4015217
10.0.14393.953

-

-

4019472
10.0.14393.1198

https://support.microsoft.com/es-es/help/4000825

 

Tabla 2 de 2: continuación de las actualizaciones de mayo y junio de 2017.

Versiones de Windows

Versión preliminar del paquete acumulativo mensual de mayo

(16/05/2017)

Actualización de solo seguridad de junio

(13/06/2017)

Paquete acumulativo mensual de junio

(13/06/2017)

Vínculo de descarga

Windows 7 y Server 2008 R2

4019265
6.1.7601.23762

 

4022722

4022168
6.1.7601.23762

https://support.microsoft.com/es-es/help/4009469

Windows Server 2012

4019218
6.2.9200.22137

4022718

4022724
6.2.9200.22137

https://support.microsoft.com/es-es/help/4009471

Windows 8.1 y Windows Server 2012 R2

4019217
6.3.9600.18655

4022717

4022720
6.3.9600.18688

https://support.microsoft.com/es-es/help/4009470

Windows 10, versión 1507

-

-

4032695

https://support.microsoft.com/es-es/help/4000823

Windows 10, versión 1511

-

-

4032693

https://support.microsoft.com/es-es/help/4000824

Windows 10, versión 1607 y Windows Server 2016

-

-

4022723
10.0.14393.1198

https://support.microsoft.com/es-es/help/4000825

 

Tabla 2: Otras versiones de Windows. Utilice KB 4012598 como actualización de seguridad.

Versiones de Windows

Número de KB y
versión actualizada de Srv.sys

Vínculo de descarga

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 basados en x64

Windows Server 2008 Service Pack 2 para sistemas basados en Itanium

Windows 8

4012598
6.2.9200.22099

Windows 8 x86, Windows 8 x64

 

Tabla 3: actualizaciones adicionales que contienen la corrección.

Windows 8.1 y Windows Server 2012 R2

Fecha de publicación

Número de KB

Página de soporte

21 de marzo de 2017

4012219

21 de marzo de 2017: KB4012218 (versión preliminar del paquete acumulativo mensual)

martes, 18 de abril de 2017

4015553

18 de abril de 2017: KB4015553 (versión preliminar del paquete acumulativo mensual)

martes, 16 de mayo de 2017

4019217

16 de mayo de 2017: KB4019217 (versión preliminar del paquete acumulativo mensual)

martes, 27 de junio de 2017 4022720 27 de junio de 2017: KB4022720 (versión preliminar del paquete acumulativo mensual)
 
Windows Server 2012

Fecha de publicación

Número de KB

Página de soporte

21 de marzo de 2017

4012220

21 de marzo de 2017: KB4012220 (versión preliminar del paquete acumulativo mensual)

martes, 18 de abril de 2017

4015554

18 de abril de 2017: KB4015554 (versión preliminar del paquete acumulativo mensual)

martes, 16 de mayo de 2017

4019218

16 de mayo de 2017: KB4019218 (versión preliminar del paquete acumulativo mensual)

27 de junio de 2017 4022721 27 de junio de 2017: KB4022721 (versión preliminar del paquete acumulativo mensual)
 
Windows 7 SP1 y Windows Server 2008 R2 SP1

Fecha de publicación

Número de KB

Página de soporte

21 de marzo de 2017

4012218

21 de marzo de 2017: KB4012218 (versión preliminar del paquete acumulativo mensual)

martes, 18 de abril de 2017

4015552

18 de abril de 2017: KB4015552 (versión preliminar del paquete acumulativo mensual)

martes, 16 de mayo de 2017

4019265

16 de mayo de 2017: KB4019265 (versión preliminar del paquete acumulativo mensual)

martes, 27 de junio de 2017 4022168 27 de junio de 2017: KB4022168 (versión preliminar del paquete acumulativo mensual)


Método 2: Comprobar la versión del archivo %systemroot%\system32\drivers\srv.sys

Utilice la siguiente tabla para comprobar la versión del archivo %systemroot%\system32\drivers\srv.sys. Si la versión del archivo es igual o mayor a la versión indicada, MS17-010 está instalado.

Versiones de Windows

Versión actualizada mínima de Srv.sys

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: comprobación mediante WMI y Windows PowerShell

Utilice WMI y Windows PowerShell para averiguar si las correcciones de MS17-010 están instaladas.

Comando WMI

Para buscar un número de KB concreto, abra una ventana elevada del símbolo del sistema y luego ejecute el siguiente comando:

wmic qfe get hotfixid | find "KB1234567"

Notas

  • En este comando sustituya <KB1234567> por el número de KB que desee.
  • Utilice el carácter et (&) para buscar varias actualizaciones. Por ejemplo, ejecute el comando siguiente:

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

Comandos de PowerShell

Para buscar en el sistema local, ejecute el siguiente cmdlet administrativo de PowerShell:

 get-hotfix -id KB1234567

Notas

  • En este comando sustituya <KB1234567> por el número de KB que desee.
  • Utilice una coma (,) para buscar varias actualizaciones. Por ejemplo, ejecute el comando siguiente:

    get-hotfix -id KB4012212,KB4012215,KB4015549


Para comprobar todos los equipos en un dominio de Active Directory u OU, ejecute el siguiente cmdlet administrativo de PowerShell en un controlador de dominio:

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


NotaLa parte "OU=workstations,dc=contoso,dc=com" se puede cambiar para que apunte a la raíz de una partición de directorio de un dominio de Active Directory, por ejemplo, "dc=contoso,dc=com", para buscar en todos los equipos del dominio. En este comando sustituya <KB1234567> por el número de KB que desee.

Cómo resolver el error de instalación “no aplicable”


Si en los equipos no está instalada alguna solución previa necesaria, es posible que obtenga el siguiente mensaje de error al instalar MS17-010 en Windows 8.1 o Windows Server 2012 R2:
La actualización no es aplicable a su sistema.
Para resolver este error, siga estos pasos:
 
  1. Asegúrese de que está intentando instalar la actualización correcta. Para ello, compruebe el número de KB en la Tabla 1 con el Método 1. Compárelo con la versión, el nivel del Service Pack y el nivel de bits de su sistema (x64, IA64 o x86).
     
  2. Compruebe si falta alguna dependencia. Para Windows 8.1 y Windows Server 2012 R2, instale las soluciones dependientes según sea necesario, de acuerdo con los siguientes artículos:
     
    • KB 2919355: Actualización para Windows RT 8.1, Windows 8.1 y Windows Server 2012 R2: Abril de 2014
    • KB 2919442: Actualización de la pila de servicio de marzo de 2014 para Windows 8.1 y Windows Server 2012 R2
    • KB 3173424: Actualización de la pila de servicio para Windows 8.1 y Windows Server 2012 R2 12 de julio de 2016
  3. Si no es capaz de instalar un paquete acumulativo de actualización, pruebe una versión distinta del paquete acumulativo. Consulte en la Tabla 1 las actualizaciones disponibles.
     

Script de PowerShell


El siguiente script de Windows PowerShell compara la versión de Srv.sys del equipo local con las versiones que figuran en el gráfico del método 2.

Guarde este script en un archivo .ps1 y luego ejecútelo desde PowerShell. Este script se aplica a Windows XP y a Windows Server 2003 y versiones posteriores. Requiere Windows PowerShell 2.0 o una versión 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 CyanWrite-Host "`nExpected Version of srv.sys: $($expectedVersion.ToString())" -ForegroundColor CyanWrite-Host "`nActual Version of srv.sys: $($fileVersion.ToString())" -ForegroundColor CyanIf ($($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    }#

Este artículo se aplica a los siguientes productos:


 

  • Windows Server 2016
  • Windows 10, versión 1607
  • Windows 10, versión 1511
  • Windows 10, versión 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