Obaveštenje
Ovaj članak baze znanja obezbeđuje se kakav jeste i ne zamenjuje podatke o potiskivanju koji se obezbeđuju putem normalnih kanala za ažuriranje. Informacije o potiskivanju sa datumima nakon sledećih podataka mogu se pronaći u Vodiču za bezbednosne ispravke i drugim pratećim alatkama.
Rezime
Pogledajte proizvode na koje se ovaj članak odnosi.
Bezbednosna ispravka MS17-010 otklanja nekoliko ranjivosti u Windows bloku poruka servera (SMB) v1. WannaCrypt rensomver iskorišćava jednu od ranjivosti koja predstavlja deo ispravke MS17-010. Računari koji nemaju instaliran MS17-010 su pod povećanim rizikom zbog nekoliko tipova malvera. Ovaj članak obezbeđuje nekoliko brzih metoda da otkrijete da li je računar ažuriran.
1. metod: Provera po broju instalirane baze znanja
Koristite sledeću tabelu da biste proverili da li postoje neke od navedenih ispravki (osim onih koje su označene sa „Ne sadrži zakrpu MS17-010“). Ako je bilo koja od njih instalirana, MS17-010 je instaliran.
Tabela 1 od 2: Windows 7 SP1 i noviji. Sledeće zbirne baze znanja sadrže ispravku (osim u koloni „Samo aprilska bezbednost 4B“). Ispod svakog broja članka u bazi znanja nalazi se ažurirani Srv.sys broj verzije.
Verzije operativnog sistema Windows |
Samo bezbednosna ispravka za mart (14.3.2017) |
Mesečna zbirna ispravka za mart |
Martovski pregled mesečne zbirne ispravke |
Samo aprilska |
Mesečna zbirna ispravka za april |
Aprilski pregled mesečne zbirne ispravke |
Samo bezbednosna ispravka za maj |
Mesečna zbirna ispravka za maj |
Veza za preuzimanje |
Windows 7 SP1 i Windows Server 2008 R2 SP1 |
4012212 |
4012215 |
4012218 |
4015546 |
4015549 |
4015552 |
4019263 |
4019264 |
Windows 7 SP1 i Windows Server 2008 R2 SP1 istorija ažuriranja |
Windows 2012 |
4012214 |
4012217 |
4012220 |
4015548 |
4015551 |
4015554 |
4019214 |
4019216 |
|
Windows 8.1 i Windows Server 2012 R2 |
4012213 |
4012216 |
4012219 |
4015547 Ne sadrži zakrpu MS17-010 |
4015550 |
4015553 |
4019213 |
4019215 |
|
Windows 10 verzija 1507 |
4012606 |
4016637 |
- |
- |
4015221 |
- |
- |
4019474 10.0.10240.17394 |
|
Windows 10 verzija 1511 |
4013198 |
4016636 |
- |
- |
4015219 |
- |
- |
4019473 |
|
Windows 10 u verziji Windows Server 2016 |
4013429 |
4016635 |
- |
- |
4015217 |
- |
- |
4019472 |
Tabela 2 od 2: Nastavak za ispravke za maj i jun 2017.
Verzije operativnog sistema Windows |
Majski pregled mesečne zbirne ispravke (16.5.2017) |
Samo bezbednosna ispravka za jun (13.6.2017) |
Mesečna zbirna ispravka za jun (13.6.2017) |
Veza za preuzimanje |
Windows 7 i Server 2008 R2 |
4019265
|
4022722 |
4022168 |
Windows 7 SP1 i Windows Server 2008 R2 SP1 istorija ažuriranja |
Windows Server 2012 |
4019218 |
4022718 |
4022724 |
|
Windows 8.1 i Windows Server 2012 R2 |
4019217 |
4022717 |
4022720 |
|
Windows 10 u verziji 1507 |
- |
- |
4032695 |
|
Windows 10 u verziji 1511 |
- |
- |
4032693 |
|
Windows 10 u verzijama 1607 i Windows Server 2016 |
- |
- |
4022723 |
Tabela 2: Druge verzije operativnog sistema Windows. Koristite KB 4012598 za bezbednosnu ispravku.
Verzije operativnog sistema Windows |
Broj članka u bazi znanja i |
Veza za preuzimanje |
Windows Server 2003 SP2 |
4012598 |
|
Windows XP |
4012598 |
Windows XP SP2 x64
|
Windows Vista SP2 |
4012598 |
Windows Vista servisni paket 2
|
Windows Server 2008 SP2 |
4012598 |
Windows Server 2008 za 32-bitne sisteme sa servisnim paketom 2
|
Windows 8 |
4012598 |
Tabela 3: Dodatna ažuriranja koja sadrže ispravku.
Windows 8.1 i Windows Server 2012 R2
Datum izdavanja |
Broj članka u bazi znanja |
Stranica podrške |
21. mart 2017. |
4012219 |
|
18. april 2017..... |
4015553 |
18. april 2017. - KB4015553 (pregled mesečne zbirne ispravke) |
16. maj 2017..... |
4019217 |
|
27. jun 2017..... |
4022720 |
Windows server 2012
Datum izdavanja |
Broj članka u bazi znanja |
Stranica podrške |
21. mart 2017. |
4012220 |
|
18. april 2017..... |
4015554 |
|
16. maj 2017..... |
4019218 |
|
27. jun 2017. |
4022721 |
Windows 7 SP1 i Windows Server 2008 R2 SP1
Datum izdavanja |
Broj članka u bazi znanja |
Stranica podrške |
21. mart 2017. |
4012218 |
|
18. april 2017..... |
4015552 |
|
16. maj 2017..... |
4019265 |
|
27. jun 2017..... |
4022168 |
2. metod: Proverite po verziji datoteke %systemroot%\system32\drivers\srv.sys
Koristite sledeći grafikon da biste proverili verziju datoteke %systemroot%\system32\drivers\srv.sys. Ako je verzija datoteke jednaka ili novija od navedene verzije, MS17-010 je instaliran.
Verzije operativnog sistema Windows |
Minimalna ažurirana Srv.sys verzija |
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 |
3. metod: Provera putem WMI i tehnologije Windows PowerShell
Koristite WMI i Windows PowerShell da biste utvrdili da li su MS17-010 ispravke instalirane.
WMI komanda
Da biste pronašli navedeni broj u bazi znanja, otvorite prozor komandne linije sa punim privilegijama, a zatim pokrenite sledeću komandu:
wmic qfe get hotfixid | find "KB1234567"
Napomene
-
U ovoj komandi zamenite <KB1234567> stvarnim brojem članka u bazi znanja.
-
Koristite znak „ampersand“ (&) da biste pretražili više ispravki. Na primer, pokrenite sledeću komandu:
wmic qfe get hotfixid | find "KB4012212" & wmic qfe get hotfixid | find "KB4012215" & wmic qfe get hotfixid | find "KB4015549"
PowerShell komande
Da biste proverili u lokalnom sistemu, pokrenite sledeći administrativni PowerShell cmdlet:
get-hotfix -id KB1234567
Napomene
-
U ovoj komandi zamenite <KB1234567> stvarnim brojem članka u bazi znanja.
-
Koristite zarez ( , ) da biste pretražili više ispravki. Na primer, pokrenite sledeću komandu:
get-hotfix -id KB4012212,KB4012215,KB4015549
Da biste proverili sve računare u Active Directory domenu ili OU-u, pokrenite sledeći administrativni PowerShell cmdlet na kontroleru domena:
foreach ( $n in (get-adcomputer -searchbase ‘OU=workstations,dc=contoso,dc=com’ -filter * -property * | select name )) {get-hotfix -computername $n.name -id KB1234567}
Napomena Deo „OU=workstations,dc=contoso,dc=com“ može da se promeni tako da ukazuje na osnovu particije sa direktorijumom Active Directory domena, na primer „dc=contoso,dc=com“, da bi se pretraživali računari u celom domenu. U ovoj komandi zamenite <KB1234567> stvarnim brojem članka u bazi znanja.
Kako da ispravite grešku pri instalaciji „nije primenljivo“
Ako potrebne ispravke nisu instalirane na računarima, možda ćete dobiti sledeću poruku o grešci kada budete instalirali MS17-010 u operativnom sistemu Windows 8.1 ili Windows Server 2012 R2:
Ispravka nije primenljiva na vaš računar
Da biste ispravili ovu grešku, sledite ove korake:
-
Uverite se da pokušavate da instalirate odgovarajuću ispravku. Da biste to uradili, proverite KB broj u Tabeli 1 u 1. metodu. Uporedite ga sa verzijom sistema, nivoom servisnog paketa sistema i nivoom bitova sistema (x64, IA64 ili x86).
-
Proverite da li postoje zavisnosti koje nedostaju. Za Windows 8.1 i Windows Server 2012 R2, instalirajte zavisne ispravke po potrebi u skladu sa sledećim člancima:
-
Ako ne možete da instalirate zbirnu ispravku, isprobajte drugu verziju zbirne ispravke. Pogledajte Tabelu 1 za dostupne ispravke.
PowerShell skripta
Sledeća Windows PowerShell skripta poredi Srv.sys verziju na lokalnom računaru sa verzijama koje su navedene u u grafikonu u metodu 2.
Sačuvajte skriptu u .ps1 datoteku, a zatim pokrenite skriptu iz usluge PowerShell. Skripta se primenjuje na Windows XP, Windows Server 2003 i novije verzije. Zahteva Windows PowerShell 2.0 ili noviju verziju
[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
}
#
Reference
Vodič za korisnike za WannaCrypt napade
Blog Microsoft centra za zaštitu od malvera
Upiti SQL Server upravljača konfiguracije za izveštavanje o usaglašenosti u vezi sa MS17-010
Ovaj članak odnosi se na:
-
Windows Server 2016
-
Windows 10 verzija 1607
-
Windows 10 u verziji 1511
-
Windows 10 verzija 1507
-
Windows Server 2012 R2
-
Windows 8.1
-
Windows Server 2012
-
Windows 8
-
Windows Server 2008 R2
-
Windows 7
-
Windows Server 2008 servisni paket 2
-
Windows Vista
-
Windows Server 2003 servisni paket 2
-
Windows XP