Outlook 行事曆俾間諜程式當 C2:Project CAV3RN 點借 Graph API 藏指令
Tech News

Outlook 行事曆俾間諜程式當 C2:Project CAV3RN 點借 Graph API 藏指令

圖片:via iThome — https://www.ithome.com.tw/news/177541
TechLab 編輯部(譯)·

攻擊靠失守嘅雲端身份同 app 權限,企業 IT 要由 Graph 活動追查

行事曆點樣變成秘密收發站

iThome 報道,Kaspersky GReAT 發現 Project CAV3RN 一個叫 AzureCommunication.dll 嘅通訊模組。佢會用 Microsoft Graph 讀寫一個已失守嘅 Microsoft 365 信箱,將惡意程式指令、執行結果同在線狀態收埋喺 Outlook 行事曆事件。研究人員相信呢個模組用嚟取代舊有 HTTP/WebSocket 通訊元件,不過因為未搵到配套嘅新版 controller,呢點仍然係技術推斷。

模組會將事件集中放喺 2050 年 5 月 13 日同一個一小時時段,普通人日常睇日曆時自然好少會碌到咁遠。攻擊者用事件標題分辨指令、心跳同回傳結果,再將加密內容拆成文字附件。惡意程式讀完指令後會刪走事件;交功課時就建立新事件、加附件,再改標題。換句話講,網絡上見到嘅主要流量係正常 Microsoft 登入同 Graph API 請求,傳統靠陌生 C2 網域捉流量嘅規則容易走漏眼。

開 Outlook 唔會無端中招

研究冇指出 Outlook、行事曆或者 Microsoft Graph 存在已證實漏洞。呢套玩法要預先有 Entra tenant ID、app client ID、client secret、目標信箱同足夠嘅 Graph application permissions。Microsoft 官方權限表顯示,Calendars.ReadWrite application permission 可以喺冇用戶登入嘅情況下建立、讀取、修改同刪除行事曆事件,而且預設可觸及所有信箱,除非管理員另外限制 app 可存取嘅信箱範圍。

所以單靠偷到普通用戶密碼,未必足以砌出研究所見嘅通道;攻擊者仲要攞到可用嘅 app 身份同權限。Kaspersky 指樣本指向一間以色列律師行嘅失守 Microsoft 365 信箱,但公開報告未交代 app credential 同管理員授權最初點樣落入攻擊者手上。公司 IT 調查時要追返 app registration、service principal、credential 新增紀錄同 consent 歷史,唔好只係幫信箱改密碼就當完事。

非互動式登入要睇啱一欄

呢個模組用 client_credentials 流程換取 OAuth app token,過程冇人手輸入密碼或者撳 MFA。技術分類上,管理員應先查 service principal sign-ins,唔好只盯住一般互動式登入;Entra 入面嘅「non-interactive user sign-ins」主要記錄 app 或系統代用戶更新 token,概念相近,但唔等於今次所用嘅 app-only 身份。查錯一欄,好容易得到「冇異常登入」呢個假象。

Microsoft Graph activity logs 可以記低 App ID、Service Principal ID、User ID、來源 IP、權限範圍、HTTP 方法同 Request URI,亦可以同各類登入紀錄關聯。防守上可集中搵陌生 app 對 /users/.../calendarView/events/attachments 作密集 GET、POST、PATCH、DELETE,尤其係查詢 2050 年時段、反覆建立再刪除事件,或者喺冇正常商業用途嘅時間出現。單一 API 呼叫未必可疑,app 身份、目標信箱、時間範圍同操作節奏夾埋先有判斷力。

權限盤點要問清楚邊個批過

管理員可以喺 Entra ID 嘅 Enterprise apps 檢查每個 app 嘅 admin consent 同 user consent,優先翻查近期新增、名稱扮成 Microsoft 或內部工具、擁有 Calendars.ReadWrite 等高影響 Graph 權限,但又搵唔到業務負責人嘅 app。Microsoft 官方亦建議定期檢查 application permissions;如果確認係惡意 app,要撤銷授權、停用相關 service principal、輪換外洩 secret,再檢查同一身份有冇其他 Graph 權限。

行事曆本身亦有線索。Kaspersky 公開嘅事件標題格式包括 Event ID:Boss update ID:Boss Report ID:,附件名就見到 file0.txtFile0.txt。呢啲字串適合做追查起點,不過攻擊者改名亦唔難。較穩陣係睇行為,例如陌生 app 跨信箱讀寫、存取遙遠將來嘅固定時段、短時間內建立附件再刪除事件,或者 Graph 流量同平日用量差好遠。

DNS 後備通道亦留低痕跡

如果 Graph 登入或者 tenant 驗證失敗,模組會查詢攻擊者控制嘅 cloudlanecdn[.]com。Kaspersky 指,模組會將 DNS AAAA 回覆當成 16-byte 資料容器,逐段取回新 tenant ID、client ID、client secret 同信箱地址;更新本機 logAzure.txt 之後,就會再連接 Graph。呢段設計反映開發者預咗雲端 credential 會失效,所以準備咗遙距換設定嘅方法。

公開 IOC 包括 cloudlanecdn[.]comclipeditskill[.]comaccesslinkssl[.]com216[.]126[.]237[.]197144[.]172[.]108[.]205,同三個樣本 hash:CAF021DDA726B8BA049C2AA395E505A1C092B02FBC0FDF7EE9608DD01667380629B2B8C5D99F05BFCDD0D8D976EB5678。IOC 會過期,較有用嘅做法係用佢哋回查 DNS、endpoint 同雲端紀錄,再將異常 Graph 行為寫成長期偵測規則。

歸因有線索,信心未算高

Check Point Research 認為相關 Cavern Manticore 活動同伊朗情報及安全部有關,又話攻擊目標主要係以色列 IT 服務商同政府機構。至於今次 Outlook 模組,Kaspersky 只以 低信心 評估 Project CAV3RN 同 OilRig 有關:佢哋見到濫用 Microsoft 服務、用附件交換指令、另設雲端 C2 修復方法等相似做法,但冇發現直接共用程式碼或者基建。

暫時亦冇證據顯示香港係攻擊目標,仲唔適合講成大規模 Outlook 危機。不過用 Microsoft 365 嘅企業可以借呢宗研究檢查一件實際問題:當合法雲端 API 俾失守身份調用,現有監察係咪睇得到 app-only 登入、Graph 請求同信箱操作。公司 IT 而家最值得做嘅,係盤點高權限 Graph app,同時確認相關日誌真係有收集同保留。


參考來源

本文根據原文及公開資料整理;資料有出入時,以原文及官方資料為準。

分享:WhatsAppThreadsTelegramFacebook