הודעה
מאמר זה במאגר הידע מסופק כמות שהוא, ואין בו כדי להחליף נתונים בעלי עדיפות גבוהה יותר, אשר מסופקים דרך ערוצי העדכון הרגילים. במדריך עדכוני האבטחה ובכלים נלווים נוספים ניתן למצוא מידע בעל עדיפות גבוהה יותר, בעל תאריך מאוחר יותר מזה של הנתונים שלהלן.
סיכום
ראה את המוצרים שמאמר זה חל עליהם.
עדכון אבטחה MS17-010 מטפל בכמה נקודות תורפה בבלוק הודעת השרת (SMB) של Windows, גירסה 1. תוכנת הכופר WannaCrypt מנצלת נקודת תורפה של העדכון MS17-010. מחשבים שבהם לא מותקן MS17-010 נמצאים בסיכון מוגבר עקב כמה סוגים של תוכנה זדונית. מאמר זה מספק כמה שיטות מהירות לבדיקת העדכון של המחשב.
שיטה 1: בדיקה לפי מספר מותקן של מאגר ידע
השתמש בטבלה שלהלן כדי לברר לגבי כל אחד מהעדכונים המצוינים (להוציא אלה המסומנים כ"לא מכיל תיקון MS17-010"). אם עדכון כלשהו מאלה מותקן, פירוש הדבר ש-MS17-010 מותקן.
טבלה 1 מתוך 2: Windows 7 SP1 ואילך. ה-KB של אוספי עדכונים שלהלן מכילים את התיקון (להוציא בעמודה "April Security Only 4B"). מתחת לכל מספר KB מופיע מספר הגירסה המעודכן של Srv.sys.
גירסאות Windows |
עדכון אבטחה לחודש מרץ בלבד (3/14/17) |
אוסף עדכונים חודשי לחודש מרץ |
תצוגה מקדימה של מצטבר חודשי לחודש מרץ |
אבטחת אפריל |
אוסף עדכונים חודשי לחודש אפריל |
תצוגה מקדימה של מצטבר חודשי לחודש אפריל |
עדכון אבטחה בלבד לחודש מאי |
אוסף עדכונים חודשי לחודש מאי |
קישור להורדה |
Windows 7 SP1 ו-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 ו-Windows Server 2012 R2 |
4012213 |
4012216 |
4012219 |
4015547 לא מכיל תיקון MS17-010 |
4015550 |
4015553 |
4019213 |
4019215 |
|
Windows 10 גירסה 1507 |
4012606 |
4016637 |
- |
- |
4015221 |
- |
- |
4019474 10.0.10240.17394 |
|
Windows 10 גירסה 1511 |
4013198 |
4016636 |
- |
- |
4015219 |
- |
- |
4019473 |
|
Windows 10 גירסה Windows Server 2016 |
4013429 |
4016635 |
- |
- |
4015217 |
- |
- |
4019472 |
טבלה 2 מתוך 2: המשך עדכוני מאי ויוני 2017.
גירסאות Windows |
תצוגה מקדימה של אוסף עדכונים חודשי לחודש מאי (16/05/17) |
עדכון אבטחה בלבד לחודש יוני (13/06/17) |
אוסף עדכונים חודשי לחודש יוני (13/06/17) |
קישור להורדה |
Windows 7 ו-Windows Server 2008 R2 |
4019265
|
4022722 |
4022168 |
|
Windows Server 2012 |
4019218 |
4022718 |
4022724 |
|
Windows 8.1 ו-Windows Server 2012 R2 |
4019217 |
4022717 |
4022720 |
|
Windows 10 גירסה 1507 |
- |
- |
4032695 |
|
Windows 10 גירסה 1511 |
- |
- |
4032693 |
|
Windows10 גירסה 1607 ו-Windows Server 2016 |
- |
- |
4022723 |
טבלה 2: גירסאות אחרות של Windows. השתמש ב-KB 4012598 עבור עדכון האבטחה.
גירסאות Windows |
מספר KB וכן |
קישור להורדה |
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 עבור מערכות 32 סיביות Service Pack 2
|
Windows 8 |
4012598 |
Windows 8 x86, Windows 8 x64 |
טבלה 3: עדכונים נוספים המכילים את התיקון.
Windows 8.1 ו-Windows Server 2012 R2
תאריך הפרסום |
מספר מאמר KB |
דף תמיכה |
21 במרץ, 2017 |
4012219 |
21 במרץ 2017---KB4012218 (תצוגה מקדימה של אוסף עדכונים חודשי) |
18 אפריל 2017 |
4015553 |
18 באפריל 2017---KB4015553 (תצוגה מקדימה של אוסף עדכונים חודשי) |
16 מאי 2017 |
4019217 |
16 במאי 2017---KB4019217 (תצוגה מקדימה של אוסף עדכונים חודשי) |
27 יוני 2017 |
4022720 |
27 ביוני 2017---KB4022720 (תצוגה מקדימה של אוסף עדכונים חודשי) |
Windows Server 2012
תאריך הפרסום |
מספר מאמר KB |
דף תמיכה |
21 במרץ, 2017 |
4012220 |
21 במרץ 2017---KB4012220 (תצוגה מקדימה של אוסף עדכונים חודשי) |
18 אפריל 2017 |
4015554 |
18 באפריל 2017K---B4015554 (תצוגה מקדימה של אוסף עדכונים חודשי) |
16 מאי 2017 |
4019218 |
16 במאי 2017---KB4019218 (תצוגה מקדימה של אוסף עדכונים חודשי) |
27 יוני 2017 |
4022721 |
27 ביוני 2017---KB4022721 (תצוגה מקדימה של אוסף עדכונים חודשי) |
Windows 7 SP1 ו-Windows Server 2008 R2 SP1
תאריך הפרסום |
מספר מאמר KB |
דף תמיכה |
21 במרץ, 2017 |
4012218 |
21 במרץ 2017---KB4012218 (תצוגה מקדימה של אוסף עדכונים חודשי) |
18 אפריל 2017 |
4015552 |
18 באפריל 2017---KB4015552 (תצוגה מקדימה של אוסף עדכונים חודשי) |
16 מאי 2017 |
4019265 |
16 במאי 2017---KB4019265 (תצוגה מקדימה של אוסף עדכונים חודשי) |
27 יוני 2017 |
4022168 |
27 יוני 2017---KB4022168 (תצוגה מקדימה של אוסף עדכונים חודשי) |
שיטה 2: בדיקה לפי גירסת הקובץ %systemroot%\system32\drivers\srv.sys
באמצעות הטבלה שלהלן, בדוק את גירסת הקובץ של %systemroot%\system32\drivers\srv.sys. אם גירסת הקובץ זהה לגירסה הרשומה או גדולה ממנה, פירוש הדבר ש-MS17-010 מותקן.
גירסאות Windows |
גירסת מינימום מעודכנת של Srv.sys |
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: בדיקה לפי WMI ו-Windows PowerShell
השתמש ב-WMI וב-Windows PowerShell כדי לברר אם התיקונים של MS17-010 הותקנו.
פקודת WMI
כדי למצוא מספר נתון של KB, פתח חלון של שורת פקודה עם הרשאות מלאות ולאחר מכן הפעל את הפקודה שלהלן:
wmic qfe get hotfixid | find "KB1234567"
הערות
-
בפקודה זו, החלף את <KB1234567> במספר ה-KB בפועל.
-
השתמש בתו אמפרסנד (&) כדי לחפש עדכונים מרובים. לדוגמה, הפעל את הפקודה:
wmic qfe get hotfixid | find "KB4012212" & wmic qfe get hotfixid | find "KB4012215" & wmic qfe get hotfixid | find "KB4015549"
פקודות PowerShell
כדי לבדוק במערכת המקומית, הפעל את ה-cmdlet של ה-PowerShell הניהולי שלהלן:
get-hotfix -id KB1234567
הערות
-
בפקודה זו, החלף את <KB1234567> במספר ה-KB בפועל.
-
השתמש בפסיק ( , ) כדי לחפש עדכונים מרובים. לדוגמה, הפעל את הפקודה:
get-hotfix -id KB4012212,KB4012215,KB4015549
כדי לבדוק את כל המחשבים בתחום Active Directory או ב-OU, הפעל את cmdlet ה-PowerShell הניהולי שלהלן בבקר תחום:
foreach ( $n in (get-adcomputer -searchbase ‘OU=workstations,dc=contoso,dc=com’ -filter * -property * | select name )) {get-hotfix -computername $n.name -id KB1234567}
הערה את החלק "OU=workstations,dc=contoso,dc=com" ניתן לשנות כך שיצביע על הבסיס של מחיצת מדריך של תחום Active Directory, כגון "dc=contoso,dc=com" כדי לחפש מחשבים בתחום כולו. בפקודה זו, החלף את <KB1234567> במספר ה-KB בפועל.
כיצד לפתור שגיאת התקנה של "לא ישים"
אם התיקונים הנדרשים מראש אינם מותקנים במחשבים, ייתכן שתופיע הודעת השגיאה הבאה כאשר תתקין את MS17-010 ב-Windows 8.1 או ב-Windows Server 2012 R2:
העדכון אינו ישים עבור המחשב שלך
כדי לפתור שגיאה זו, בצע את השלבים הבאים:
-
ודא שאתה מנסה להתקין את העדכון הנכון. לשם כך, בדוק את מספר ה-KB בטבלה 1 בשיטה 1. השווה אותו לגירסת המערכת שלך, לרמה של חבילת השירות של המערכת ולרמת הסיביות של המערכת (x64, IA64 או x86).
-
חפש יחסי תלות חסרים. במקרה של Windows 8.1 ו-Windows Server 2012 R2, יש להתקין את התיקונים התלויים כנדרש בהתאם למאמרים שלהלן:
-
אם אינך מצליח להתקין אוסף עדכונים, נסה גירסת אוסף אחרת. לעדכונים זמינים, ראה טבלה 1.
קובץ Script של PowerShell
קובץ ה-Script הבא של Windows PowerShell משווה את גירסת Srv.sys שבמחשב המקומי עם הגירסאות שרשומות בטבלה בשיטה 2.
שמור קובץ Script זה בקובץ .ps1 ולאחר מכן הפעל את קובץ ה-script מ-PowerShell. קובץ Script זה חל על Windows XP ו-Windows Server 2003 ועל גירסאות מאוחרות יותר. נדרש לו Windows PowerShell מגירסה 2.0 ואילך.
[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
}
#
הפניות
הנחיות ללקוח עבור התקפות WannaCrypt
המרכז להגנה מפני תוכנות זדוניות
בלוג המרכז של Microsoft להגנה מפני תוכנות זדוניות
שאילתות SQL Server במנהל התצורה לצורך דיווח תאימות בנוגע ל-MS17-010
מאמר זה חל על:
-
Windows Server 2016
-
Windows 10 גירסה 1607
-
Windows 10 גירסה 1511
-
Windows 10 גירסה 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