Come verificare che SIA installato MS17-010

Avviso

Questo articolo della Knowledge Base viene fornito così come è e non sostituisce i dati di sostituzione forniti tramite i normali canali di aggiornamento. Le informazioni sulla sovrapposizione che post-date sono disponibili nella Guida sull'aggiornamento della sicurezza e in altri strumenti collaterali.

Riepilogo

Vedere i prodotti a cui si applica questo articolo.

L'aggiornamento della sicurezza MS17-010 risolve diverse vulnerabilità in Windows Server Message Block (SMB) v1. Il ransomware WannaCrypt sfrutta una delle vulnerabilità che fa parte dell'aggiornamento MS17-010. I computer in cui non è installato MS17-010 sono a maggiore rischio a causa di diversi ceppi di malware. Questo articolo fornisce diversi metodi rapidi per rilevare se il computer viene aggiornato.

Metodo 1: Controllare in base al numero della Knowledge Base installato

Utilizza la tabella seguente per verificare la disponibilità di tutti gli aggiornamenti elencati (ad eccezione di quelli contrassegnati come "Non contiene patch MS17-010"). Se uno di questi è installato, viene installato MS17-010.

Tabella 1 di 2: Windows 7 SP1 e versioni successive. I kb di rollup seguenti contengono la correzione (tranne che nella colonna "Solo sicurezza di aprile 4B"). Sotto ogni numero di KB c'è il numero di versione aggiornato Srv.sys.

Versioni di Windows Aggiornamento della sicurezza di marzo (14/03/17) Aggiornamento cumulativo mensile di marzo
(3/14/17)
Anteprima di marzo dell'aggiornamento cumulativo mensile
(3/21/17)
Sicurezza di aprile
Solo aggiornamento
(4/11/17)
Aggiornamento cumulativo mensile di aprile
(4/11/17)
Anteprima dell'aggiornamento cumulativo mensile di aprile
(4/18/17)
Aggiornamento della sicurezza di maggio
(5/09/17)
Aggiornamento cumulativo mensile di maggio
(5/09/17)
Collegamento per il 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
Non contiene patch MS17-010
4015549
6.1.7601.23689
4015552
6.1.7601.23689
4019263
6.1.7601.23762
4019264
6.1.7601.23762
Cronologia degli aggiornamenti di 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
Non contiene patch MS17-010
4015551
6.2.9200.22099
4015554
6.2.9200.22099
4019214
6.2.9200.22137
4019216
6.2.9200.22137
Cronologia degli aggiornamenti di Windows Server 2012
Windows 8.1 e Windows Server 2012 R2 4012213
6.3.9600.18604
4012216
6.3.9600.18604
4012219
6.3.9600.18604
4015547 Non contiene patch MS17-010 4015550
6.3.9600.18604
4015553
6.3.9600.18619
4019213
6.3.9600.18655
4019215
6.3.9600.18655
Cronologia degli aggiornamenti di Windows 8.1 e Windows Server 2012 R2
Windows 10 versione 1507 4012606
10.0.10240.17319
4016637
10.0.10240.17319
- - 4015221
10.0.10240.17319
- - 4019474 10.0.10240.17394 Cronologia degli aggiornamenti di Windows 10
Windows 10 versione 1511 4013198
10.0.10586.839
4016636
10.0.10586.839
- - 4015219
10.0.10586.839
- - 4019473
10.0.10586.916
Cronologia degli aggiornamenti di Windows 10
Windows Server 2016 versione Windows 10 4013429
10.0.14393.953
4016635
10.0.14393.953
- - 4015217
10.0.14393.953
- - 4019472
10.0.14393.1198
Cronologia degli aggiornamenti di Windows 10 e Windows Server 2016

 

Tabella 2 di 2: Continua per gli aggiornamenti di maggio e giugno 2017.

Versioni di Windows Anteprima di maggio dell'aggiornamento cumulativo mensile
(5/16/17)
Aggiornamento della sicurezza di giugno
(6/13/17)
Aggiornamento cumulativo mensile di giugno
(6/13/17)
Collegamento per il download
Windows 7 e Server 2008 R2 4019265
6.1.7601.23762
4022722 4022168
6.1.7601.23762
Cronologia degli aggiornamenti di Windows 7 SP1 e Windows Server 2008 R2 SP1
Windows Server 2012 4019218
6.2.9200.22137
4022718 4022724
6.2.9200.22137
Cronologia degli aggiornamenti di Windows Server 2012
Windows 8.1 e Windows Server 2012 R2 4019217
6.3.9600.18655
4022717 4022720
6.3.9600.18688
Cronologia degli aggiornamenti di Windows 8.1 e Windows Server 2012 R2
Windows 10 versione 1507 - - 4032695 Cronologia degli aggiornamenti di Windows 10
Windows 10 versione 1511 - - 4032693 Cronologia degli aggiornamenti di Windows 10
Windows 10 versione 1607 e Windows Server 2016 - - 4022723
10.0.14393.1198
Cronologia degli aggiornamenti di Windows 10 e Windows Server 2016

 

Tabella 2: Altre versioni di Windows. Usa kb 4012598 per l'aggiornamento della sicurezza.

Versioni di Windows Numero KB e
versione aggiornata Srv.sys
Collegamento per il 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 per Sistemi a 32 bit Service Pack 2

Windows Server 2008 per sistemi x64 Service Pack 2

Windows Server 2008 per sistemi Basati su Itanium Service Pack 2
Windows 8 4012598
6.2.9200.22099
Windows 8 x86, Windows 8 x64

 

Tabella 3: Aggiornamenti aggiuntivi che contengono la correzione.

Windows 8.1 e Windows Server 2012 R2

Data di rilascio Numero KB Pagina del supporto
21 marzo 2017 4012219 21 marzo 2017 - KB4012218 (anteprima dell'aggiornamento cumulativo mensile)
18 aprile 2017 4015553 18 aprile 2017 - KB4015553 (anteprima dell'aggiornamento cumulativo mensile)
16 maggio 2017 4019217 16 maggio 2017: KB4019217 (anteprima dell'aggiornamento cumulativo mensile)
27 giugno 2017 4022720 27 giugno 2017 - KB4022720 (anteprima dell'aggiornamento cumulativo mensile)

Windows Server 2012

Data di rilascio Numero KB Pagina del supporto
21 marzo 2017 4012220 21 marzo 2017 - KB4012220 (anteprima dell'aggiornamento cumulativo mensile)
18 aprile 2017 4015554 18 aprile 2017 - KB4015554 (anteprima dell'aggiornamento cumulativo mensile)
16 maggio 2017 4019218 16 maggio 2017: KB4019218 (anteprima dell'aggiornamento cumulativo mensile)
27 giugno 2017 4022721 27 giugno 2017 - KB4022721 (anteprima dell'aggiornamento cumulativo mensile)

Windows 7 SP1 e Windows Server 2008 R2 SP1

Data di rilascio Numero KB Pagina del supporto
21 marzo 2017 4012218 21 marzo 2017 - KB4012218 (anteprima dell'aggiornamento cumulativo mensile)
18 aprile 2017 4015552 18 aprile 2017 - KB4015552 (anteprima dell'aggiornamento cumulativo mensile)
16 maggio 2017 4019265 16 maggio 2017: KB4019265 (anteprima dell'aggiornamento cumulativo mensile)
27 giugno 2017 4022168 27 giugno 2017 - KB4022168 (anteprima dell'aggiornamento cumulativo mensile)

Metodo 2: controllare da %systemroot%\system32\drivers\srv.sys versione del file

Utilizza il grafico seguente per controllare la versione file di %systemroot%\system32\drivers\srv.sys. Se la versione del file è uguale o successiva alla versione elencata, viene installato MS17-010.

Versioni di Windows Versione Srv.sys minima aggiornata
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

Metodo 3: Verifica da parte di WMI e Windows PowerShell

Utilizzare WMI e Windows PowerShell per determinare se sono state installate le correzioni MS17-010.

Comando WMI

Per trovare un numero KB specificato, apri una finestra del prompt dei comandi con privilegi elevati e quindi esegui il comando seguente:


wmic qfe get hotfixid | find "KB1234567"

Note

  • In questo comando sostituisci <KB1234567> con il numero kb effettivo.

  • Usa un carattere e commerciale (&) per cercare più aggiornamenti. Ad esempio, eseguire il comando seguente:

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

Comandi di PowerShell

Per controllare il sistema locale, eseguire il cmdlet amministrativo di PowerShell seguente:


 get-hotfix -id KB1234567

Note

  • In questo comando sostituisci <KB1234567> con il numero kb effettivo.

  • Usa una virgola ( , ) per cercare più aggiornamenti. Ad esempio, eseguire il comando seguente:

    get-hotfix -id KB4012212,KB4012215,KB4015549

Per controllare tutti i computer in un dominio o un'unità organizzativa di Active Directory, eseguire il cmdlet amministrativo di PowerShell seguente in un controller di dominio:


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

Nota La parte "OU=workstations,dc=contoso,dc=com" può essere modificata in modo che punti alla radice di una partizione di directory di dominio Active Directory, ad esempio "dc=contoso,dc=com" per eseguire ricerche nei computer dell'intero dominio. In questo comando sostituisci <KB1234567> con il numero kb effettivo.

Come risolvere l'errore di installazione "non applicabile"

Se le correzioni dei prerequisiti non sono installate nei computer, quando si installa MS17-010 in Windows 8.1 o Windows Server 2012 R2 potrebbe essere visualizzato il seguente messaggio di errore:

Nota

L'aggiornamento non è applicabile al tuo computer

Per risolvere l'errore, seguire questa procedura:

  1. Assicurati di provare a installare l'aggiornamento corretto. A tale scopo, controlla il numero KB nella tabella 1 nel metodo 1. Confrontalo con la versione del sistema, il livello di Service Pack di sistema e il livello di bit di sistema (x64, IA64 o x86).
     

  2. Verificare la presenza di dipendenze mancanti. Per Windows 8.1 e Windows Server 2012 R2, installare le correzioni dipendenti come richiesto in base agli articoli seguenti:

    • 2919355 KB: Windows RT 8.1, Windows 8.1 e aggiornamento Windows Server 2012 R2: aprile 2014
    • KB 2919442: Aggiornamento dello stack di manutenzione di marzo 2014 per Windows 8.1 e Windows Server 2012 R2
    • KB 3173424: Aggiornamento dello stack di manutenzione per Windows 8.1 e Windows Server 2012 R2: 12 luglio 2016
  3. Se non è possibile installare un aggiornamento cumulativo, provare una versione di aggiornamento cumulativo diversa. Vedi Tabella 1 per gli aggiornamenti disponibili.
     

Script di PowerShell

Lo script Windows PowerShell seguente confronta la versione Srv.sys nel computer locale con le versioni elencate nel grafico nel metodo 2.

Salvare lo script in un file di .ps1 e quindi eseguire lo script da PowerShell. Questo script si applica a Windows XP e Windows Server 2003 e versioni successive. Richiede Windows PowerShell 2.0 o una versione successiva.
 


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

Riferimenti

Linee guida dei clienti per gli attacchi WannaCrypt

Centro protezione antimalware

blog Microsoft Malware Protection Center

Aggiornamento della sicurezza MS17-010

Configuration Manager SQL Server query per la creazione di report di conformità correlati a MS17-010

Questo articolo si applica a:

 

  • Windows Server 2016
  • Windows 10 versione 1607
  • Windows 10 versione 1511
  • Windows 10 versione 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