偵測及補救 Outlook 規則和自訂 Forms 插入式攻擊

提示

您知道您可以免費試用 Office 365 方案 2 的 Microsoft Defender 全面偵測回應 功能嗎? 在 Microsoft Defender 入口網站試用中樞使用 90 天 適用於 Office 365 的 Defender 試用版。 在這裡瞭解誰可以註冊和 試用條款

總結瞭解如何在 Office 365 中辨識及補救 Outlook 規則和自定義 Forms 插入式攻擊。

什麼是 Outlook 規則和自定義 Forms 插入式攻擊?

當攻擊者取得貴組織的存取權之後,他們會嘗試建立一個據點,以便在探索到後繼續或返回。 此活動稱為 建立持續性機制。 攻擊者有兩種方式可以使用 Outlook 來建立持續性機制:

  • 利用 Outlook 規則。
  • 將自定義表單插入 Outlook。

重新安裝 Outlook,或甚至為受影響的人員提供新電腦都沒有説明。 當 Outlook 的新安裝連線到信箱時,所有規則和表單都會從雲端同步處理。 規則或表單通常是設計來執行遠端程式代碼,並在本機計算機上安裝惡意代碼。 惡意代碼會竊取認證或執行其他非法活動。

好消息是:如果您將 Outlook 用戶端修補到最新版本,您就不容易受到威脅,因為目前的 Outlook 用戶端預設會封鎖這兩種機制。

攻擊通常會遵循下列模式:

規則惡意探索

  1. 攻擊者竊取用戶的認證。
  2. 攻擊者登入該使用者的 Exchange 信箱 (Exchange Online 或內部部署 Exchange) 。
  3. 攻擊者會在信箱中建立轉寄收件匣規則。 當信箱收到來自攻擊者且符合規則條件的特定訊息時,就會觸發轉送規則。 規則條件和訊息格式是專為彼此量身打造。
  4. 攻擊者會將觸發程式電子郵件傳送至遭入侵的信箱,不知情的使用者仍會照常使用該信箱。
  5. 當信箱收到符合規則條件的訊息時,就會套用規則的動作。 一般而言,規則動作是在遠端 (WebDAV) 伺服器上啟動應用程式。
  6. 一般而言,應用程式會在使用者的計算機上安裝惡意代碼 (例如 PowerShell)
  7. 惡意代碼可讓攻擊者從本機計算機竊取 (或再次竊取) 用戶的使用者名稱和密碼或其他認證,並執行其他惡意活動。

Forms 惡意探索

  1. 攻擊者竊取用戶的認證。
  2. 攻擊者登入該使用者的 Exchange 信箱 (Exchange Online 或內部部署 Exchange) 。
  3. 攻擊者會將自訂郵件窗體範本插入使用者的信箱。 當信箱收到攻擊者要求信箱載入自定義表單的特定訊息時,就會觸發自定義表單。 自定義表單和訊息格式是專為彼此量身打造。
  4. 攻擊者會將觸發程式電子郵件傳送至遭入侵的信箱,不知情的使用者仍會照常使用該信箱。
  5. 當信箱收到訊息時,信箱會載入必要的表單。 窗體會在遠端 (WebDAV) 伺服器上啟動應用程式。
  6. 一般而言,應用程式會在使用者的計算機上安裝惡意代碼 (例如 PowerShell)
  7. 惡意代碼可讓攻擊者從本機計算機竊取 (或再次竊取) 用戶的使用者名稱和密碼或其他認證,並執行其他惡意活動。

規則和自定義 Forms 插入式攻擊可能看起來像 Office 365?

使用者不太可能注意到這些持續性機制,甚至可能看不到這些機制。 下列清單描述 「入侵指標) (號,指出需要補救步驟:

  • 規則洩露的指標

    • 規則動作是啟動應用程式。
    • 規則參考 EXE、ZIP 或 URL。
    • 在本機計算機上,尋找源自 Outlook PID 的新進程啟動。
  • 自訂表單洩露的指標

    • 自定義窗體會儲存為自己的訊息類別。
    • 訊息類別包含可執行程序代碼。
    • 惡意表單通常會儲存在個人 Forms 庫或收件匣資料夾中。
    • 表單名為 IPM。注意。[自定義名稱]。

尋找此攻擊徵兆並加以確認的步驟

您可以使用下列其中一種方法來確認攻擊:

  • 使用 Outlook 用戶端,手動檢查每個信箱的規則和表單。 這個方法是徹底的,但您一次只能檢查一個信箱。 如果您有許多用戶要檢查,而且可能也會感染您正在使用的計算機,這個方法可能會非常耗時。

  • 使用 Get-AllTenantRulesAndForms.ps1 PowerShell 腳本自動傾印組織中所有使用者的所有郵件轉寄規則和自定義表單。 這個方法是最快且最安全的方法,而且額外負荷最少。

    注意事項

    自 2021 年 1 月起,腳本 (存放庫) 中的所有其他專案都是只讀和封存。 第 154 到 158 行嘗試使用因 2023 年 7 月遠端 PowerShell 連線已被取代而不再支援的方法連線到 Exchange Online PowerShell。 在執行腳本之前,請先移除第 154 到 158 行,並連線至 Exchange Online PowerShell

使用 Outlook 用戶端確認規則攻擊

  1. 以使用者身分開啟使用者 Outlook 用戶端。 使用者可能需要您的協助來檢查其信箱上的規則。

  2. 如需如何在 Outlook 中開啟規則介面的程式,請參閱 使用規則管理電子郵件訊息 一文。

  3. 尋找使用者未建立的規則,或任何具有可疑名稱的非預期規則或規則。

  4. 在規則描述中查看啟動和應用程式的規則動作,或參考 .EXE、.ZIP 檔案或啟動 URL。

  5. 尋找任何開始使用 Outlook 進程標識碼的新進程。 請參閱 尋找進程識別碼

使用 Outlook 用戶端確認 Forms 攻擊的步驟

  1. 以使用者身分開啟使用者 Outlook 用戶端。

  2. 請依照使用者 Outlook 版本的 [顯示開發 人員] 索引標籤中的步驟操作。

  3. 在 Outlook 中開啟 [現在可見的開發人員] 索引卷標,然後選 取 [設計表單]

  4. 從 [查詢] 列表中選取 [收件匣]。 尋找任何自定義表單。 自定義表單非常罕見,如果您有任何自定義表單,則值得更深入探討。

  5. 調查任何自定義表單,特別是標示為隱藏的窗體。

  6. 開啟任何自定義表單,然後在 [ 表單 ] 群組中選 取 [檢視程序代碼 ],以查看載入表單時執行的內容。

使用 PowerShell 確認規則和 Forms 攻擊的步驟

驗證規則或自定義表單攻擊的最簡單方式是執行 Get-AllTenantRulesAndForms.ps1 PowerShell 腳本。 此腳本會連線到您組織中的每個信箱,並將所有規則和窗體傾印成兩個 .csv 檔案。

必要條件

您必須是 Microsoft Entra ID 中的全域管理員角色或 Exchange Online 中的組織管理角色群組的成員,因為腳本會連線到組織中的每個信箱,以讀取規則和表單。

  1. 使用具有本機系統管理員許可權的帳戶登入您想要執行腳本的計算機。

  2. 從 GitHub 下載 或複製Get-AllTenantRulesAndForms.ps1 腳稿的內容到容易找到並執行腳本的資料夾。 文稿會在資料夾中建立兩個日期戳記檔案:和 MailboxRulesExport-yyyy-MM-dd.csvMailboxFormsExport-yyyy-MM-dd.csv

    從腳本移除第 154 到 158 行,因為該連線方法自 2023 年 7 月起不再運作。

  3. 連線至 Exchange Online PowerShell

  4. 在 PowerShell 中瀏覽至您儲存文稿的資料夾,然後執行下列命令:

    .\Get-AllTenantRulesAndForms.ps1
    

解譯輸出

  • MailboxRulesExport-yyyy-MM-dd.csv:針對包含應用程式或可執行檔的動作條件,檢查每個數據列 (一個規則) :
    • ActionType (欄 A) :如果此數據行包含 值 ID_ACTION_CUSTOM,則規則可能是惡意的。
    • IsPotentiallyMalicis (數據行 D) :如果此數據行包含 值 TRUE,則規則可能是惡意的。
    • ActionCommand (資料行 G) :如果此資料行包含下列任何值,則規則可能是惡意的:
      • 應用程式。
      • .exe 或 .zip 檔。
      • 參考 URL 的未知專案。
  • MailboxFormsExport-yyyy-MM-dd.csv:一般而言,很少使用自定義表單。 如果您在此活頁簿中找到任何專案,請開啟該使用者的信箱並檢查表單本身。 如果您的組織未刻意將它放在該處,則可能是惡意的。

如何停止和補救 Outlook 規則和 Forms 攻擊

如果您發現上述任一攻擊的任何證據,補救很簡單:只要刪除信箱中的規則或窗體即可。 您可以使用 Outlook 用戶端或使用 Exchange PowerShell 來刪除規則或表單。

使用 Outlook

  1. 識別使用者使用 Outlook 的所有裝置。 它們全都需要清除潛在的惡意代碼。 在清除所有裝置之前,請勿允許使用者登入並使用電子郵件。

  2. 在每個裝置上,遵循 刪除規則中的步驟。

  3. 如果您不確定是否有其他惡意代碼,您可以格式化並重新安裝裝置上的所有軟體。 針對行動裝置,您可以遵循製造商步驟,將裝置重設為原廠映射。

  4. 安裝最新版的 Outlook。 請記住,目前的 Outlook 版本預設會封鎖這兩種類型的攻擊。

  5. 拿掉信箱的所有離線復本之後,請執行下列步驟:

    • 使用高品質值重設使用者的密碼, (長度和複雜度) 。
    • 如果未針對用戶開啟多重要素驗證 (MFA) ,請遵循為用戶設定多重要素驗證中的步驟

    這些步驟可確保使用者的認證不會透過其他方式公開 (例如網路釣魚或密碼重複使用) 。

使用 PowerShell

線上到所需的 Exchange PowerShell 環境:

線上到所需的 Exchange PowerShell 環境之後,您可以對使用者信箱中的收件匣規則採取下列動作:

  • 檢視信箱中的收件匣規則

    • 檢視所有規則的摘要清單

      Get-InboxRule -Mailbox laura@contoso.onmicrosoft.com
      
    • 檢視特定規則的詳細資訊

      Get-InboxRule -Mailbox laura@contoso.onmicrosoft.com -Identity "Suspicious Rule Name" | Format-List
      

    如需詳細的語法和參數資訊,請參閱 Get-InboxRule

  • 從信箱移除收件匣規則

    • 移除特定規則

      Remove-InboxRule -Mailbox laura@contoso.onmicrosoft.com -Identity "Suspicious Rule Name"
      
    • 移除所有規則

      Get-InboxRule -Mailbox laura@contoso.onmicrosoft.com | Remove-InboxRule
      

    如需詳細的語法和參數資訊,請參閱 Remove-InboxRule

  • 關閉收件匣規則以進一步調查

    Disable-InboxRule -Mailbox laura@contoso.onmicrosoft.com -Identity "Suspicious Rule Name"
    

    如需詳細的語法和參數資訊,請 參閱 Disable-InboxRule

如何將未來的攻擊降到最低

首先:保護帳戶

只有在攻擊者竊取或入侵使用者帳戶之後,才會使用規則和 Forms 攻擊。 因此,防止對組織使用這些惡意探索的第一個步驟是積極保護用戶帳戶。 帳戶遭到入侵的一些最常見方式是透過網路釣魚或 密碼噴射攻擊

保護用戶帳戶 (特別是系統管理員帳戶) 的最佳方式是 為用戶設定 MFA。 您也應該:

  • 監視用戶帳戶的存 取和使用方式。 您可能無法防止初始缺口,但可以更快偵測到,以縮短缺口的持續時間和影響。 您可以使用這些 Office 365 雲端 App 安全性 原則來監視帳戶,並警示您異常活動:

    • 多次失敗的登入嘗試:當使用者在單一會話中針對學習到的基準執行多個失敗登入活動時觸發警示,這可能表示已嘗試入侵。

    • 不可能的移動:在兩個位置之間的預期行進時間短的期間內,從不同位置的相同用戶偵測到活動時,觸發警示。 此活動可能表示不同的使用者使用相同的認證。 偵測此異常行為需要 7 天的初始學習期間,才能學習新用戶的活動模式。

    • 使用者) (不尋常的模擬活動 :當使用者在單一會話中針對學習到的基準執行多個模擬活動時觸發警示,這可能表示已嘗試入侵。

  • 使用 Office 365 安全分數等工具來管理帳戶安全性設定和行為。

第二:讓 Outlook 用戶端保持最新狀態

Outlook 2013 和 2016 的完整更新和修補版本預設會停用「啟動應用程式」規則/表單動作。 即使攻擊者入侵帳戶,規則和窗體動作也會遭到封鎖。 您可以遵循安裝 Office 更新中的步驟來安裝最新的更新和安全性修補程式。

以下是 Outlook 2013 和 2016 用戶端的修補程式版本:

  • Outlook 2016:16.0.4534.1001 或更新版本。
  • Outlook 2013:15.0.4937.1000 或更高版本。

如需個別安全性修補程式的詳細資訊,請參閱:

第三:監視 Outlook 用戶端

即使已安裝修補程式和更新,攻擊者還是可以變更本機計算機設定,以重新啟用「啟動應用程式」行為。 您可以使用進階 群組原則 管理來監視及強制執行客戶端裝置上的本機計算機原則。

您可以使用 如何使用 64 位版本的 Windows 檢視系統登錄中的資訊,查看是否已透過登錄中的覆寫重新啟用「啟動應用程式」。 檢查下列子機碼:

  • Outlook 2016HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Security\
  • Outlook 2013HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\Security\

尋找金鑰 EnableUnsafeClientMailRules

  • 如果值為 1,則已覆寫 Outlook 安全性修補程式,且電腦容易遭受表單/規則攻擊。
  • 如果值為 0,則會停用 「啟動應用程式」動作。
  • 如果登錄機碼不存在,且已安裝更新和修補的 Outlook 版本,系統就不容易遭受這些攻擊。

具有內部部署 Exchange 安裝的客戶應該考慮封鎖沒有可用修補程式的舊版 Outlook。 如需此程式的詳細數據,請參閱設定 Outlook 用戶端封鎖一文。

另請參閱: