Cách xác minh đã cài đặt MS17-010

Thông báo

Bài viết Cơ sở Kiến thức này được cung cấp như là và không thay thế dữ liệu thay thế được cung cấp thông qua các kênh cập nhật bình thường. Thông tin thay thế mà sau ngày có thể tìm thấy dữ liệu sau trong Hướng dẫn Cập nhật Bảo mật và các công cụ tài sản thế chấp khác.

Tóm tắt

Hãy xem các sản phẩm mà bài viết này áp dụng.

Bản cập nhật bảo mật MS17-010 khắc phục một số lỗ hổng trong Windows Server Message Block (SMB) v1. Ransomware WannaCrypt đang khai thác một trong các lỗ hổng nằm trong bản cập nhật MS17-010. Các máy tính không cài đặt MS17-010 đang gặp rủi ro cao do một số dòng phần mềm độc hại. Bài viết này cung cấp một số phương pháp nhanh chóng để phát hiện xem máy tính được cập nhật.

Phương pháp 1: Kiểm tra theo số Cơ sở Kiến thức đã cài đặt

Sử dụng bảng sau đây để kiểm tra xem có bản cập nhật nào được liệt kê không (ngoại trừ các bản được đánh dấu là "Không chứa bản vá MS17-010"). Nếu bất kỳ trong số này được cài đặt, MS17-010 được cài đặt.

Bảng 1/2: Windows 7 SP1 trở lên. Bản tổng hợp sau đây chứa bản sửa lỗi (ngoại trừ trong cột "Chỉ bảo mật tháng 4 4 4B"). Bên dưới mỗi số KB là số phiên bản Srv.sys cập nhật.

Các phiên bản Windows Bản cập nhật dành riêng cho Bảo mật tháng 3 (14/03) Bản tổng hợp Hàng tháng Tháng 3
(3/14/17)
Xem trước Bản tổng hợp Hàng tháng tháng Tháng 3
(3/21/17)
Bảo mật Tháng Tư
Chỉ Cập nhật
(4/11/17)
Bản tổng hợp Hàng tháng Tháng 4
(4/11/17)
Xem trước Bản tổng hợp Hàng tháng Tháng Tháng 4
(4/18/17)
Bản cập nhật Dành riêng cho Bảo mật có thể
(5/09/17)
Bản tổng hợp Hàng tháng
(5/09/17)
Liên kết tải xuống
Windows 7 SP1 và Windows Server 2008 R2 SP1 4012212
6.1.7601.23689
4012215
6.1.7601.23689
4012218
6.1.7601.23689
4015546
Không chứa bản vá MS17-010
4015549
6.1.7601.23689
4015552
6.1.7601.23689
4019263
6.1.7601.23762
4019264
6.1.7601.23762
Lịch sử cập nhật Windows 7 SP1 và Windows Server 2008 R2 SP1
Windows 2012 4012214
6.2.9200.22099
4012217
6.2.9200.22099
4012220
6.2.9200.22099
4015548
Không chứa bản vá MS17-010
4015551
6.2.9200.22099
4015554
6.2.9200.22099
4019214
6.2.9200.22137
4019216
6.2.9200.22137
Lịch sử cập nhật Windows Server 2012
Windows 8.1 và Windows Server 2012 R2 4012213
6.3.9600.18604
4012216
6.3.9600.18604
4012219
6.3.9600.18604
4015547 Không chứa bản vá MS17-010 4015550
6.3.9600.18604
4015553
6.3.9600.18619
4019213
6.3.9600.18655
4019215
6.3.9600.18655
Lịch sử cập nhật Windows 8.1 và Windows Server 2012 R2
Windows 10 Phiên bản 1507 4012606
10.0.10240.17319
4016637
10.0.10240.17319
- - 4015221
10.0.10240.17319
- - 4019474 10.0.10240.17394 Lịch sử cập nhật Windows 10
Windows 10 Phiên bản 1511 4013198
10.0.10586.839
4016636
10.0.10586.839
- - 4015219
10.0.10586.839
- - 4019473
10.0.10586.916
Lịch sử cập nhật Windows 10
Windows 10 bản Windows Server 2016 4013429
10.0.14393.953
4016635
10.0.14393.953
- - 4015217
10.0.14393.953
- - 4019472
10.0.14393.1198
Lịch sử cập nhật Windows 10 và Windows Server 2016

 

Bảng 2/2: Tiếp tục cho các bản cập nhật tháng 5 và tháng 6 năm 2017.

Các phiên bản Windows Xem trước Bản tổng hợp Hàng tháng có thể
(5/16/17)
Bản cập nhật Dành riêng cho Bảo mật Tháng Sáu
(6/13/17)
Bản tổng hợp Hàng tháng Tháng 6
(6/13/17)
Liên kết tải xuống
Windows 7 và Server 2008 R2 4019265
6.1.7601.23762
4022722 4022168
6.1.7601.23762
Lịch sử cập nhật Windows 7 SP1 và Windows Server 2008 R2 SP1
Windows Server 2012 4019218
6.2.9200.22137
4022718 4022724
6.2.9200.22137
Lịch sử cập nhật Windows Server 2012
Windows 8.1 và Windows Server 2012 R2 4019217
6.3.9600.18655
4022717 4022720
6.3.9600.18688
Lịch sử cập nhật Windows 8.1 và Windows Server 2012 R2
Windows 10 Phiên bản 1507 - - 4032695 Lịch sử cập nhật Windows 10
Windows 10 Phiên bản 1511 - - 4032693 Lịch sử cập nhật Windows 10
Windows 10 Phiên bản 1607 và Windows Server 2016 - - 4022723
10.0.14393.1198
Lịch sử cập nhật Windows 10 và Windows Server 2016

 

Bảng 2: Các phiên bản Windows khác. Sử dụng KB 4012598 cập nhật bảo mật.

Các phiên bản Windows Số KB và
phiên bản Srv.sys cập nhật
Liên kết tải xuống
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 Gói Dịch vụ 2

Windows Vista x64 Edition Gói Dịch vụ 2
Windows Server 2008 SP2 4012598
GDR:6.0.6002.19743
LDR:6.0.6002.24067
Windows Server 2008 for 32-bit Systems Gói Dịch vụ 2

Windows Server 2008 cho Hệ thống dựa trên x64 Gói Dịch vụ 2

Windows Server 2008 cho Hệ thống dựa trên Itanium Gói Dịch vụ 2
Windows 8 4012598
6.2.9200.22099
Windows 8 x86, Windows 8 x64

 

Bảng 3: Các bản cập nhật bổ sung có chứa bản sửa lỗi.

Windows 8.1 và Windows Server 2012 R2

Ngày phát hành Số KB Trang hỗ trợ
Ngày 21 tháng 3 năm 2017 4012219 Ngày 21 tháng 3 năm 2017—KB4012218 (Xem trước Bản tổng hợp Hàng tháng)
Ngày 18 tháng 4 năm 2017 4015553 Ngày 18 tháng 4 năm 2017—KB4015553 (Xem trước Bản tổng hợp Hàng tháng)
16/05/2017 4019217 Ngày 16 tháng 5 năm 2017—KB4019217 (Xem trước Bản tổng hợp Hàng tháng)
Ngày 27 tháng 6 năm 2017 4022720 Ngày 27 tháng 6 năm 2017—KB4022720 (Xem trước Bản tổng hợp Hàng tháng)

Windows server 2012

Ngày phát hành Số KB Trang hỗ trợ
Ngày 21 tháng 3 năm 2017 4012220 Ngày 21 tháng 3 năm 2017—KB4012220 (Xem trước Bản tổng hợp Hàng tháng)
Ngày 18 tháng 4 năm 2017 4015554 Ngày 18 tháng 4 năm 2017—KB4015554 (Xem trước Bản tổng hợp Hàng tháng)
16/05/2017 4019218 Ngày 16 tháng 5 năm 2017—KB4019218 (Xem trước Bản tổng hợp Hàng tháng)
Ngày 27 tháng 6 năm 2017 4022721 Ngày 27 tháng 6 năm 2017—KB4022721 (Xem trước Bản tổng hợp Hàng tháng)

Windows 7 SP1 và Windows Server 2008 R2 SP1

Ngày phát hành Số KB Trang hỗ trợ
Ngày 21 tháng 3 năm 2017 4012218 Ngày 21 tháng 3 năm 2017—KB4012218 (Xem trước Bản tổng hợp Hàng tháng)
Ngày 18 tháng 4 năm 2017 4015552 Ngày 18 tháng 4 năm 2017—KB4012218 (Xem trước Bản tổng hợp Hàng tháng)
16/05/2017 4019265 Ngày 16 tháng 5 năm 2017—KB4019265 (Xem trước Bản tổng hợp Hàng tháng)
Ngày 27 tháng 6 năm 2017 4022168 Ngày 27 tháng 6 năm 2017—KB4022168 (Xem trước Bản tổng hợp Hàng tháng)

Phương pháp 2: Kiểm tra theo %systemroot%\system32\drivers\srv.sys tệp phiên bản

Sử dụng biểu đồ sau đây để kiểm tra phiên bản tệp của %systemroot%\system32\drivers\srv.sys. Nếu phiên bản tệp bằng hoặc lớn hơn phiên bản được liệt kê, thì MS17-010 sẽ được cài đặt.

Các phiên bản Windows Cập nhật tối thiểu Srv.sys bản
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 pb1507 10.0.10240.17319
Windows 10 TH2 pb1511 10.0.10586.839
Windows 10 RS1 v1607
Windows Server 2016
10.0.14393.953

Phương pháp 3: Kiểm tra bằng WMI và Windows PowerShell

Sử dụng WMI và Windows PowerShell để xác định xem bản sửa lỗi MS17-010 đã được cài đặt hay chưa.

Lệnh WMI

Để tìm số KB đã xác định, hãy mở cửa sổ Dấu nhắc Lệnh mức cao, rồi chạy lệnh sau đây:


wmic qfe get hotfixid | find "KB1234567"

Ghi chú

  • Trong lệnh này, thay thế <KB1234567> bằng số KB thực tế.

  • Sử dụng ký tự dấu và (&) để tìm kiếm nhiều bản cập nhật. Ví dụ: chạy lệnh sau đây:

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

Các lệnh PowerShell

Để kiểm nhập hệ thống cục bộ, hãy chạy lệnh ghép ngắn PowerShell quản trị sau đây:


 get-hotfix -id KB1234567

Ghi chú

  • Trong lệnh này, thay thế <KB1234567> bằng số KB thực tế.

  • Sử dụng dấu phẩy ( , ) để tìm kiếm nhiều bản cập nhật. Ví dụ: chạy lệnh sau đây:

    get-hotfix -id KB4012212,KB4012215,KB4015549

Để kiểm tra tất cả các máy tính trong miền Active Directory hoặc OU, hãy chạy lệnh ghép ngắn PowerShell quản trị sau đây trên bộ điều khiển miền:


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

Lưu ý Phần "OU=workstations,dc=contoso,dc=com" có thể được thay đổi để trỏ tới gốc của phân vùng thư mục miền Active Directory, chẳng hạn như "dc=contoso,dc=com" để tìm kiếm các máy tính trong toàn bộ miền. Trong lệnh này, thay thế <KB1234567> bằng số KB thực tế.

Cách giải quyết lỗi cài đặt "không áp dụng"

Nếu các bản sửa lỗi tiên quyết không được cài đặt trên máy tính, bạn có thể nhận được thông báo lỗi sau khi cài đặt MS17-010 trên Windows 8.1 hoặc Windows Server 2012 R2:

Lưu ý

Bản cập nhật này không áp dụng cho máy tính của bạn

Để giải quyết lỗi này, hãy làm theo các bước sau:

  1. Đảm bảo rằng bạn đang cố gắng cài đặt bản cập nhật chính xác. Để thực hiện điều này, hãy kiểm tra số KB trong Bảng 1 trong Phương pháp 1. So sánh với phiên bản hệ thống, mức gói dịch vụ hệ thống và cấp độ bit hệ thống (x64, IA64 hoặc x86).
     

  2. Kiểm tra các phụ thuộc bị thiếu. Ví Windows 8.1 và Windows Server 2012 R2, cài đặt bản sửa lỗi phụ thuộc theo yêu cầu theo các bài viết sau:

    • Bản cập 2919355 KB: Windows RT 8.1, Windows 8.1 và Windows Server 2012 R2: Tháng 4 năm 2014
    • Bản cập 2919442 KB: Bản cập nhật Sắp xếp cung cấp Dịch vụ tháng 3 năm 2014 cho Windows 8.1 và Windows Server 2012 R2
    • Kb 3173424: Bản cập nhật sắp xếp cung cấp dịch vụ cho Windows 8.1 và Windows Server 2012 R2: ngày 12 tháng 7 năm 2016
  3. Nếu bạn không thể cài đặt bản cập nhật tổng hợp, hãy thử một phiên bản tổng hợp khác. Xem Bảng 1 để biết các bản cập nhật khả dụng.
     

Tập lệnh PowerShell

Tập lệnh Windows PowerShell so sánh phiên bản Srv.sys trên máy tính cục bộ với các phiên bản được liệt kê trong biểu đồ trong Phương pháp 2.

Lưu tập lệnh này vào .ps1 tệp, rồi chạy tập lệnh từ PowerShell. Tập lệnh này áp dụng cho Windows XP và Windows Server 2003 trở lên. Phiên bản này Windows PowerShell phiên bản 2.0 trở lên.
 


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

Tham khảo

Hướng dẫn Khách hàng về các cuộc tấn công wannaCrypt

Trung tâm Bảo vệ Khỏi phần mềm có hại

Blog Trung tâm Bảo vệ Khỏi phần mềm có hại Microsoft

Bản cập nhật Bảo mật MS17-010

Configuration Manager SQL Server cho báo cáo tuân thủ liên quan đến MS17-010

Bài viết này áp dụng cho:

 

  • Windows Server 2016
  • Windows 10 Phiên bản 1607
  • Windows 10 Phiên bản 1511
  • Windows 10 Phiên bản 1507
  • Windows Server 2012 R2
  • Windows 8.1
  • Windows Server 2012
  • Windows 8
  • Windows Server 2008 R2
  • Windows 7
  • Windows Server 2008 Gói Dịch vụ 2
  • Windows Vista
  • Windows Server 2003 Gói Dịch vụ 2
  • Windows XP