請使用本文中的測試檔案、腳本與程序,示範 適用於端點的 Microsoft Defender 中特定的攻擊面減少(ASR)規則。
ASR 規則針對 Windows 裝置上的風險軟體行為,攻擊者常透過惡意軟體 (來利用這些行為,例如啟動下載檔案的腳本、執行混淆腳本,以及將程式碼注入其他程序) 。 欲了解更多 ASR 規則,請參閱 攻擊面減少 (ASR) 規則概述。
Important
本文中的腳本和測試檔案刻意模擬惡意行為,因此 Microsoft Defender 防毒軟體和 Windows 安全性 會偵測到這些(例如,作為 Trojan:Win32/Vigorf.A),並可能封鎖、隔離或刪除它們。 這些檔案只在測試裝置上使用,並在下載檔案前排除下載資料夾。 即使已排除資料夾,當你下載指令碼或 ASRSamplesAll.zip 時,你的瀏覽器或 Microsoft Defender SmartScreen 仍可能會警告你。 排除只會在檔案進入資料夾後生效,所以你可能需要選擇 保留 (或同等的允許選項)才能完成下載。
必要條件
開始前,請確保你的測試裝置符合以下要求:
- Windows 10,版本 1709(2017 年 10 月)或更新版本。
- 啟用 Microsoft Defender 防毒軟體並處於主動模式。
欲了解完整需求清單、支援作業系統及模式,請參閱 攻擊面減少(ASR)規則概述。 關於啟用 ASR 規則的方法,請參見 部署與設定方法以了解 ASR 規則。
設定示範
Important
設定指令碼和模式指令碼會在 已啟用(封鎖)模式下啟用 示範 ASR 規則。 要在開始前查看 ASR 規則的當前狀態,請在一個提升的 PowerShell 視窗(你選擇 以管理員身份執行時開啟的 PowerShell 視窗)執行以下指令:
$p = Get-MpPreference;0..([math]::Min($p.AttackSurfaceReductionRules_Ids.Count,$p.AttackSurfaceReductionRules_Actions.Count)-1) | % {[pscustomobject]@{Id=$p.AttackSurfaceReductionRules_Ids[$_];Action=$p.AttackSurfaceReductionRules_Actions[$_]}} | Format-Table -AutoSize
在執行設定腳本之前,先將執行策略設定為當前會話的執行策略
RemoteSigned,讓它能執行。 在提升權限的 PowerShell 視窗中執行下列命令:Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSignedRemoteSigned比Unrestricted更安全,因為它仍會封鎖從網際網路下載的未簽署指令碼,而且Process範圍會在您關閉工作階段時還原變更。提示
因為設定腳本未簽名,
RemoteSigned如果腳本仍帶有「從網路下載」標記(網路標記),就會封鎖它。 如果發生這種情況,請確認腳本來自可信來源,然後在執行前解除封鎖:Unblock-File -Path "<path>\WindowsDefender_ASR_SetupScript.ps1"從
WindowsDefender_ASR_SetupScript.ps1下載並解壓縮 https://demo.wd.microsoft.com/Content/ASR_SetupScript.zip。 設定腳本自動化以下步驟:- 從受控資料夾存取(CFA)受保護資料夾清單中移除
c:\demo,以重置之前的示範設定(不影響其他受保護資料夾)。 - 建立資料夾
c:\demo並將其加入 Microsoft Defender 防毒病毒排除清單(不影響其他排除清單)。 - 下載一個乾淨的測試檔(
testfile_safe.txt)到c:\demo,並將ASR測試檔(ASRSamplesAll.zip)下載並解壓為c:\demo\ASRSamplesAll。 該ASRSamplesAll.zip套件包含以下測試檔案:-
ransomware_testfile_doc.docm(亦可直接在 https://demo.wd.microsoft.com/Content/ransomware_testfile_doc.docm 取得) -
ransomware_testfile_exe.exe(亦可直接在 https://demo.wd.microsoft.com/Content/ransomware_testfile_exe.exe 取得) -
TestFile_OfficeChildProcess_D4F940AB-401B-4EFC-AADC-AD5F3C50688A.docm(亦可直接在 https://demo.wd.microsoft.com/Content/TestFile_OfficeChildProcess_D4F940AB-401B-4EFC-AADC-AD5F3C50688A.docm 取得) -
TestFile_PsexecAndWMICreateProcess_D1E49AAC-8F56-4280-B9BA-993A6D77406C.vbs(亦可直接在 https://demo.wd.microsoft.com/Content/TestFile_PsexecAndWMICreateProcess_D1E49AAC-8F56-4280-B9BA-993A6D77406C.vbs 取得) -
TestFile_ScriptInternetContent_D3E037E1-3EB8-44C8-A917-57927947596D.js(亦可直接在 https://demo.wd.microsoft.com/Content/TestFile_ScriptInternetContent_D3E037E1-3EB8-44C8-A917-57927947596D.js 取得) -
TestFile_ScriptObfuscatedContent_5BEB7EFE-FD9A-4556-801D-275E5FFC04CC.js(亦可直接在 https://demo.wd.microsoft.com/Content/TestFile_ScriptObfuscatedContent_5BEB7EFE-FD9A-4556-801D-275E5FFC04CC.js 取得) -
UNSIGNED_ransomware_test_exe.exe(亦可直接在 https://demo.wd.microsoft.com/Content/UNSIGNED_ransomware_test_exe.exe 取得)
-
- 以 已啟用(封鎖)模式啟用 示範 ASR 規則。
-
c:\demo新增 CFA 保護資料夾清單(不影響其他受保護資料夾)。
Important
安裝指令碼會將
c:\demo加入 Microsoft Defender 防毒軟體的排除清單。 測試 ASR 封鎖或偵測時,請勿執行位於c:\demo或其任一子資料夾中的 ASR 測試檔案。 遵守 Microsoft Defender 防毒軟體排除條款(包括使用先進防盜軟體防護)的 ASR 規則,可能無法產生預期的封鎖或偵測。 在執行測試檔案之前,先將其複製到未被 Microsoft Defender 防毒或 ASR 規則排除的資料夾。 欲了解更多資訊,請參閱 ASR 規則的檔案與資料夾排除條款。設定與清理腳本會調整 CFA,因為它們會與 CFA 封鎖應用程式 及 CFA 勒索軟體 示範共用。 本文中所有ASR規則情境均未使用CFA。 設定腳本會
c:\demo新增到 CFA 保護的資料夾清單,但不會啟用 CFA,因此這個條目對這個示範沒有影響。 清理腳本會停用 CFA,所以在執行設定腳本前,先檢查你目前的 CFA 模式 並記錄值,這樣你才能在 「清理 示範」區段還原它:Get-MpPreference | Format-List EnableControlledFolderAccess或者,你也可以採取以下手動步驟:
建立資料夾
c:\demo。加入
c:\demoMicrosoft Defender 防毒軟體排除清單,這樣即時保護不會在你下載和解壓測試檔案時隔離它們。 在提升權限的 PowerShell 視窗中執行下列命令:Add-MpPreference -ExclusionPath C:\demo將 乾淨的測試檔 (
testfile_safe.txt)存入c:\demo。從
ASRSamplesAll.zip下載 https://demo.wd.microsoft.com/Content/ASRSamplesAll.zip,並將其解壓縮到c:\demo\ASRSamplesAll。在提升權限的 PowerShell 視窗中執行下列命令,以在 Enabled(封鎖)模式中啟用 示範 ASR 規則:
Add-MpPreference -AttackSurfaceReductionRules_Ids 01443614-cd74-433a-b99e-2ecdc07bfc25,3b576869-a4ec-4529-8536-b80a7769e899,5beb7efe-fd9a-4556-801d-275e5ffc04cc,75668c1f-73b5-4cf0-bb93-3ecf5cb7cc84,92e97fa1-2edf-4476-bdd6-9dd0b4dddc7b,b2b3f03d-6a65-4f7b-a9c7-1c7ef74a9ba4,be9ba2d9-53ea-4cdc-84e5-9b1eeee46550,c1db55ab-c21a-4637-bb3f-a12568109d35,d1e49aac-8f56-4280-b9ba-993a6d77406c,d3e037e1-3eb8-44c8-a917-57927947596d,d4f940ab-401b-4efc-aadc-ad5f3c50688a -AttackSurfaceReductionRules_Actions Enabled,Enabled,Enabled,Enabled,Enabled,Enabled,Enabled,Enabled,Enabled,Enabled,EnabledASR 規則名稱及相關 GUID 值已在本示範區段的 ASR 規則 中列出。
- 從受控資料夾存取(CFA)受保護資料夾清單中移除
從 https://demo.wd.microsoft.com/Content/WindowsDefender_ASR_scripts.zip 下載並解壓縮模式指令碼。
WindowsDefender_ASR_Block.ps1、WindowsDefender_ASR_Audit.ps1和WindowsDefender_ASR_Disabled.ps1指令碼會分別將相同的示範用 ASR 規則設定為啟用(封鎖)、稽核模式或停用模式。 在測試和清理期間,執行這些命令,將示範 ASR 規則切換為 Enabled(封鎖)、AuditMode 或 Disabled 模式。Note
三種模式腳本都會顯示相同的主控台訊息,
Enabling Exploit Guard ASR rules and setting to audit mode不論它們實際適用的是什麼模式。 此訊息是硬編碼的,且對WindowsDefender_ASR_Block.ps1和WindowsDefender_ASR_Disabled.ps1腳本來說有誤。 請依賴腳本名稱,而非訊息,來確認你使用的模式。
本示範中的 ASR 規則
下表列出本示範啟用的 ASR 規則、其 GUID 值,以及觸發每條規則的測試檔(若有規則)。 設定指令碼會在 ASRSamplesAll.zip 中下載其中數個測試檔案,並將它們解壓縮到 c:\demo\ASRSamplesAll。
提示
規則名稱會連結至規則詳細資料。 有些測試檔案會觸發多個規則。
| GUID 值 | 規則名稱 | 測試檔案 |
|---|---|---|
01443614-cd74-433a-b99e-2ecdc07bfc25 |
除非可執行檔符合普遍性、存留期或受信任清單準則,否則封鎖其執行 | 無可用 |
3b576869-a4ec-4529-8536-b80a7769e899 |
封鎖 Office 應用程式使其無法建立可執行的內容 | TestFile_Block_Office_applications_from_creating_executable_content_3b576869-a4ec-4529-8536-b80a7769e899.docm |
5beb7efe-fd9a-4556-801d-275e5ffc04cc |
封鎖可能經過模糊化的指令碼的執行 |
TestFile_ScriptObfuscatedContent_5BEB7EFE-FD9A-4556-801D-275E5FFC04CC.js 在 ASRSamplesAll.zip |
75668c1f-73b5-4cf0-bb93-3ecf5cb7cc84 |
封鎖 Office 應用程式使其無法將程式碼插入其他程序 | 無可用 |
92e97fa1-2edf-4476-bdd6-9dd0b4dddc7b |
封鎖來自 Office 巨集的 Win32 API 呼叫 | Block_Win32_imports_from_Macro_code_in_Office_92e97fa1-2edf-4476-bdd6-9dd0b4dddc7b.docm |
b2b3f03d-6a65-4f7b-a9c7-1c7ef74a9ba4 |
封鎖從 USB 執行的未受信任與未簽署程序 |
UNSIGNED_ransomware_test_exe.exe 在 ASRSamplesAll.zip |
be9ba2d9-53ea-4cdc-84e5-9b1eeee46550 |
從電子郵件客戶端和網頁郵件中封鎖可執行內容* | 無可用 |
c1db55ab-c21a-4637-bb3f-a12568109d35 |
對惡意勒索軟體使用進階保護 |
ransomware_testfile_exe.exe 在 ASRSamplesAll.zip |
d1e49aac-8f56-4280-b9ba-993a6d77406c |
封鎖源自 PSExec 及 WMI 命令的處理程序建立 |
TestFile_PsexecAndWMICreateProcess_D1E49AAC-8F56-4280-B9BA-993A6D77406C.vbs 在 ASRSamplesAll.zip |
d3e037e1-3eb8-44c8-a917-57927947596d |
封鎖 JavaScript 或 VBScript 啟動已下載的可執行檔內容* |
TestFile_ScriptInternetContent_D3E037E1-3EB8-44C8-A917-57927947596D.js 在 ASRSamplesAll.zip |
d4f940ab-401b-4efc-aadc-ad5f3c50688a |
封鎖所有 Office 應用程式使其無法建立子程序 |
TestFile_OfficeChildProcess_D4F940AB-401B-4EFC-AADC-AD5F3C50688A.docm 在 ASRSamplesAll.zip |
*在封鎖或警告模式下,EDR 警示與此規則的使用者通知在 Microsoft Defender 防毒軟體中對雲端防護層級有額外的要求。 詳情請選擇規則名稱,在 ASR 規則參考中開啟其章節。
Note
本示範未啟用或測試以下ASR規則。 有些問題無法由範例檔案觸發,例如 在安全模式下阻擋重啟機器。 欲了解每條規則的詳細資訊,請點選其連結:
-
封鎖濫用遭利用的有漏洞已簽署驅動程式(
56a863a9-875e-4185-98a7-b882c64b5ce5) -
阻擋 Adobe Reader 建立子程序 (
7674ba52-37eb-4a4f-a9a1-f0f9a1619a2c) -
封鎖從 Windows 本機安全性授權子系統竊取認證 (
9e6c4e1f-7d60-472f-ba1a-a39ef669e4b2) -
封鎖 Office 通訊應用程式建立子處理程序 (
26190899-1602-49e8-8b27-eb1d0a1ce869) -
封鎖透過 WMI 事件訂閱進行持續性攻擊 (
e6db77e5-3df2-4cf1-b95a-636979351e5b) -
封鎖在安全模式下重啟機器 (
33ddedf1-c6e0-47cb-833e-de6133960387) -
封鎖使用複製或冒充的系統工具 (
c0033c00-d16d-4114-a5a0-dc9b3a7d2ceb) -
封鎖在伺服器上建立 Webshell (
a8f5898e-1dc8-49a9-9878-85004b8a61e6)
情境
請使用以下情境驗證示範 ASR 規則在不同模式下的表現。
情境一:所有示範 ASR 規則都封鎖測試檔案
請執行以下步驟以確認所有示範 ASR 規則都封鎖其對應的測試檔案:
- 在區塊模式下啟用示範 ASR 規則。 執行
WindowsDefender_ASR_Block.ps1指令碼(請參閱設定示範環境),或使用PowerShell 命令。 - 在你開啟或執行測試檔案之前,請確保該檔案位於沒有被 Microsoft Defender 防毒軟體或 ASR 規則排除的資料夾中。 如果您使用的是安裝腳本解壓縮到
c:\demo\ASRSamplesAll的測試檔案,請將它複製到未被排除的資料夾。 不要從測試檔c:\demo或其子資料夾執行。 如果出現提示,請啟用編輯和內容。
你應該會立刻看到「行動被封鎖」的通知。
情境二:單一 ASR 規則阻擋其匹配的測試檔案
利用此情境測試單一 ASR 規則,並驗證它是否阻擋了對應的測試檔案。
設定你想測試的個別規則。 例如,要啟用 「阻擋所有 Office 應用程式建立子程序 」規則,請在提升的 PowerShell 視窗中執行以下指令:
Add-MpPreference -AttackSurfaceReductionRules_Ids d4f940ab-401b-4efc-aadc-ad5f3c50688a -AttackSurfaceReductionRules_Actions Enabled在此示範表中的 ASR 規則中找到該規則的測試檔。 標記 在 的
ASRSamplesAll.zip檔案已被解壓為c:\demo\ASRSamplesAll。將測試檔案複製到未被 Microsoft Defender 防毒軟體或 ASR 規則排除的資料夾中。 請勿開啟或執行位於
c:\demo或其任一子資料夾中的測試檔案。 例如,針對「阻止所有 Office 應用程式建立子程序」規則,從TestFile_OfficeChildProcess_D4F940AB-401B-4EFC-AADC-AD5F3C50688A.docmc:\demo\ASRSamplesAll複製到未被排除的資料夾。打開或執行複製的測試檔。 如果出現提示,請啟用編輯和內容。
你應該會立刻看到「行動被封鎖」的通知。
情境三:ASR 規則阻擋從 USB 隨身碟執行的未簽名檔案
請依照以下步驟驗證 USB 執行規則是否阻擋未簽名檔案。
在升格的 PowerShell 視窗中執行以下指令,啟用 「阻擋由 USB ASR 規則執行的不受信任且未簽名的程序 」功能:
Add-MpPreference -AttackSurfaceReductionRules_Ids b2b3f03d-6a65-4f7b-a9c7-1c7ef74a9ba4 -AttackSurfaceReductionRules_Actions Enabled將
UNSIGNED_ransomware_test_exe.exe從c:\demo\ASRSamplesAll複製到 USB 隨身碟。從 USB 隨身碟執行檔案。
你應該會立刻看到「行動被封鎖」的通知。
情境四:沒有 ASR 規則,勒索軟體測試檔案會加密檔案
關閉示範 ASR 規則,觀察當 ASR 規則被停用時,勒索軟體測試檔案的行為。
- 請採取以下任一步驟來停用 ASR 規則:
- 從
ransomware_testfile_exe.exe執行勒索軟體測試檔(c:\demo\ASRSamplesAll)。
因此,檔案 c:\demo 會被加密,並會收到警告訊息。
再執行一次測試檔案來解密檔案。
清理示威現場
如果你執行了安裝腳本,請執行清理腳本以還原示範內容:
Important
清理腳本會停用示範 ASR 規則和另外兩條 ASR 規則,即使你因其他原因啟用了其中部分規則。 在執行腳本之前,請用「 設定 示範」中的驗證指令檢查你目前的 ASR 規則狀態,這樣你才能重新啟用你想保留的規則。
從此 ZIP 檔下載並解壓清理腳本
WindowsDefender_ASR_CFA_CleanupScript.ps1: https://demo.wd.microsoft.com/Content/ASR_CFA_CleanupScript.zip。 清理腳本執行以下任務:- 禁用 示範ASR規則。 清理指令碼也會停用本示範未啟用的另外兩個 ASR 規則:
-
阻擋 Adobe Reader 建立子程序 (
7674ba52-37eb-4a4f-a9a1-f0f9a1619a2c) -
封鎖 Office 通訊應用程式建立子處理程序 (
26190899-1602-49e8-8b27-eb1d0a1ce869)
-
阻擋 Adobe Reader 建立子程序 (
- 關閉 CFA,並從設定腳本新增的 CFA 保護資料夾清單中移除
c:\demo(不影響你其他受保護的資料夾)。 - 下載解密工具(
ransomware_cleanup_encrypt_decrypt.exe)到c:\demo\CleanupTools,並用它來解密testfile_safe.txt(如果情境4加密了)。
- 禁用 示範ASR規則。 清理指令碼也會停用本示範未啟用的另外兩個 ASR 規則:
清理腳本是無符號的,請依照 Set up the demostration 中描述的設定執行策略並解除封鎖腳本。 接著在一個提升的 PowerShell 視窗執行清理腳本。
清理腳本會將 CFA 設為 Disabled。 如果你在開始示範前(執行時)錄製了原始
Get-MpPreference | Format-List EnableControlledFolderAccess,現在請恢復該數值。 以原始的 CFA 模式值(例如<mode>、Enabled或AuditMode)取代Disabled,然後在提升權限的 PowerShell 視窗中執行下列命令:Set-MpPreference -EnableControlledFolderAccess <mode>
或者,如果你用的是手動方法,可以做以下步驟:
關閉示範 ASR 規則。 執行
WindowsDefender_ASR_Disabled.ps1指令碼(請參閱設定示範環境),或在已提升權限的 PowerShell 視窗中執行下列命令:Add-MpPreference -AttackSurfaceReductionRules_Ids 01443614-cd74-433a-b99e-2ecdc07bfc25,3b576869-a4ec-4529-8536-b80a7769e899,5beb7efe-fd9a-4556-801d-275e5ffc04cc,75668c1f-73b5-4cf0-bb93-3ecf5cb7cc84,92e97fa1-2edf-4476-bdd6-9dd0b4dddc7b,b2b3f03d-6a65-4f7b-a9c7-1c7ef74a9ba4,be9ba2d9-53ea-4cdc-84e5-9b1eeee46550,c1db55ab-c21a-4637-bb3f-a12568109d35,d1e49aac-8f56-4280-b9ba-993a6d77406c,d3e037e1-3eb8-44c8-a917-57927947596d,d4f940ab-401b-4efc-aadc-ad5f3c50688a -AttackSurfaceReductionRules_Actions Disabled,Disabled,Disabled,Disabled,Disabled,Disabled,Disabled,Disabled,Disabled,Disabled,Disabled若情境 4 將
c:\demo中的檔案加密,則使用 解密工具(ransomware_cleanup_encrypt_decrypt.exe)將其解密。
不管你用哪種方法,清理腳本都不會刪除測試檔案,也不會移除c:\demo設定腳本(或手動步驟)新增的 Microsoft Defender 防毒排除功能。 若要完全還原變更:
刪除你複製到外部
c:\demo的測試檔案。刪除資料夾
c:\demo和裡面的測試檔案。 在移除排除條款 之前 ,先完成這一步。 否則,當即時保護恢復時,Microsoft Defender 防毒軟體會偵測剩餘的測試檔案(例如 asTrojan:Win32/Vigorf.A)並將其隔離。 在提升權限的 PowerShell 視窗中執行下列命令:Remove-Item -Path C:\demo -Recurse -Force在已提升權限的 PowerShell 視窗中執行下列命令,以移除
c:\demoMicrosoft Defender 防毒的排除項目:Remove-MpPreference -ExclusionPath C:\demo