重點摘要
- 裝置代碼網路釣魚濫用了 OAuth 2.0 裝置授權許可流程,此功能是專為無法顯示器正常登入頁面的裝置所設計。
- 受害者是在真的 Microsoft 網頁上執行並核准登入,所以駭客不會竊取密碼,而且能真的繞開多重認證 (MFA),只不過連線階段權杖最後是核發給駭客而非使用者。
- 由於駭客是向 Microsoft Authentication Broker (認證代理) 發出請求,所以使用者只要核准一次,駭客就能註冊許多不受控的裝置,並取得長期有效的刷新權杖,等於取得了持久的存取權限,而非一次性登入。
- 最好的防禦就是提升使用者意識、在不需用到裝置代碼認證流程的地方就加以禁用,並且採用一種能捕捉行為並監控底層事件的偵測解決方案。
簡介
多年來,使用者聽到的建議很簡單,就是開啟多重認證 (MFA),這樣就能防止帳號被盜的大多數情況。目前這個建議依然有效,多重認證依然能夠攔截絕大多數基於密碼的攻擊。但問題是,駭客會不斷調整適應,企業越仰賴單一控管機制,該機制就越容易被駭客針對。
他們第一次重大調整就是不肖中間人 (adversary-in-the-middle) 網路釣魚,也就是在使用者和 Microsoft 之間架設一個代理網站 (proxy site),即時轉發登入資訊來擷取連線階段 Cookie。裝置代碼網路釣魚就是下一步,而且在某些方面,對駭客來說更為單純。駭客不需要架設假的登入網站,也不會被封鎖,使用者也不會注意到有什麼看似不對勁的地方,因為他們在輸入密碼時看到的是真正的 Microsoft 網頁。唯一不尋常的就是簡短的代碼和一個看似合理的輸入理由。
裝置代碼認證的運作原理
裝置認證許可流程之所以存在是有原因的,有些裝置無法顯示一般的登入頁面或者沒有鍵盤,例如:智慧電視和會議室系統是就常見的例子。此時,您不用在裝置上輸入密碼,而是會看到一串簡短的代碼,並要求您在另一個螢幕上完成登入。
在正常流程下,裝置會向 Microsoft 索取一個代碼並顯示給您,接著您要在手機或筆電上開啟 microsoft.com,然後輸入代碼來核准登入。接著,Microsoft 會將權杖傳回給索取代碼的裝置。此處一個重要細節就是,要求存取的裝置與核准登入的對象必須是同一個人,並且處在同一個房間內。
駭客如何濫用這套流程
駭客的攻擊手法就是打破這套流程背後的假設,駭客扮演輸入不便的裝置,他們首先向 Microsoft 發出真實的裝置代碼請求,收到代碼之後,隨即誘騙受害者使用這個代碼來核准登入。當受害者完成登入之後,駭客就能收割成果。
- 駭客的伺服器首先向 Microsoft 發起裝置代碼登入程序,接著收到一個有效的短期代碼。
- 駭客藉由某種誘餌將代碼發送給受害者,並編造一個理由讓受害者使用該代碼來做某件事,這件事通常是檢視某個被分享的文件或驗證其帳號。
- 接著受害者會開啟真正的 Microsoft 登入頁面,輸入上面的代碼,執行登入動作並完成多重認證。
- 由於受害者核准了駭客的請求,Microsoft 在看到多重認證完成之後,就會將權杖核發給駭客的伺服器。
- 駭客會在他們自己的系統上使用這些權杖,通常是用來註冊裝置、登入 Microsoft 365 Outlook,以及建立信箱規則來讓他們長期持有存取權限而不被發現。
Microsoft 365 帳號被盜案例
近期的一起案例顯示這類攻擊已變得相當精密,駭客的入侵並非單靠一封電子郵件,而是透過對話來起頭。駭客假扮成某家律師事務所的合夥人,先是友善地詢問一下是否有合作機會,然後交換了幾封訊息,最後發送一個連結給受害者。直到最後這個發送連結的階段,一切就像正常對話一樣。
連結本身的設計也要經得起檢驗,它會在螢幕上顯示一個熟悉的企業網址,但真正的目的地卻是架設在 Google Sites 上的某個網頁,由於 Google Sites 是一個受信任且信譽良好的服務,因此這個網址很少會被封鎖。從這裡開始,受害者將經由開放式重導 (open redirect) 被帶到一個已遭駭入的正常網站,它會顯示一個無害的網址,但真正的目標網址卻隱藏在某個參數中。在到達最後的網頁之前,還會先經過一道假的真人檢查,用來防止自動化掃描軟體。
登入頁面看起來很像一個文件分享入口網站,上面會顯示一個驗證碼,並引導使用者在 Microsoft 登入頁面上輸入該驗證碼。
在我們調查過的一起案例中,就在使用者核准請求的幾小時之後,駭客便從國外登入,並在該帳號下註冊了一連串裝置,同時還建立了一個隱藏的收件匣規則來隱藏回覆和退信訊息,並且使用該信箱來發送下一波網路釣魚郵件給數百名外部收件人。端點裝置本身不會受到影響,一切都發生在雲端,不在受害者的電腦上,這也是為何光靠端點偵測工具很難發現這類攻擊的一項原因。
如何偵測裝置代碼網路釣魚
由於攻擊是發生在身分識別層,所以必須偵測跟該層相關的訊號。以下是一些該留意的事:
- 裝置代碼登入:是否有任何使用裝置代碼認證協定來登入的情況,這種登入方式在大多數環境應該很少用到,如果用到的話,應該有充分的理由。
- Authentication Broker 活動:從不熟悉的國家、網路或未受管理的裝置登入 Microsoft Authentication Broker。
- 裝置註冊數量暴增:新的裝置註冊活動,尤其在短時間內或從不熟悉的 IP 位址註冊。
- 信箱規則變更:出現新增的收件匣規則將郵件移到隱晦的資料夾、標示為讀取,或是將郵件刪除,這些都是駭客接管之後的典型清理步驟。
- 不可能或異於平常的移動方式:使用者在平常工作區域以外的地方成功登入,再加上前述的事件。
- 如何防範攻擊
沒有單一設定可以解決這個問題,必須採用多層式防禦,先從人員著手,再透過政策來加以強化。
- 首先是提高意識。教育使用者:看到突如其來的訊息要求輸入或讀出某個代碼,本身就是一種危險訊號。此外也要提供一種方式讓使用者很容易通報這類情況。使用者只要有所警覺,就能在任何技術控管受到考驗之前,預先攔截攻擊。
- 禁用裝置代碼認證流程。停用含有 Conditional Access (條件式存取) 原則的 OAuth 裝置代碼認證流程 (如果不是真正需要的話)。絕大多數企業都能採取「原則封鎖、例外允許」的作法。
- 限制並監控裝置。限制誰可以註冊裝置、只允許受管理且合規的裝置才能存取郵件和資料、降低每一名使用者的裝置上限,這樣就不會莫名其妙出現一大群不受控的裝置。
- 加強身分控管。強制實施預先列舉位置 (named-location) 政策、啟用持續性存取評估與權杖保護,並且在風險升高時自動撤銷作業階段。
結論
裝置代碼網路釣魚提醒了我們,駭客也會攻擊不同功能之間的縫隙,而非只有功能本身。本案當中沒有用到任何一個軟體漏洞,而是一個正常的流程、可信任的登入頁面,以及一個讓人相信的故事,融合成一種能靜靜避開多數企業單一控管機制的攻擊手法。好消息是,它也很容易防範:不需用到這套流程的地方就直接禁用、改用能防止網路釣魚的多重認證,以及教導使用者小心莫名其妙出現的代碼,這樣就能消除大部分的風險。
採用 TrendAI Vision One™ 來偵測
在網頁層次,TrendAI Vision One™ Web Reputation Services 網站信譽評等服務可偵測此攻擊所用到的網路釣魚網址,將其標示為危險網址,其中,負責竊取登入憑證的網頁在偵測時會被標記為「HTML.Phish.Microsoft」。攔截這些網址可避免受害者看到輸入代碼的提示訊息,這就是為何網站信譽評等與網址過濾是使用者資安意識之外的最後一道有效防線。
TrendAI Vision One™ Threat Intelligence Hub
TrendAI Vision One™ Threat Intelligence Hub 威脅情報中心提供了有關新興威脅與駭客集團的最新洞見、TrendAI™ Research 的獨家策略性報告,以及 TrendAI Vision One™ 平台的 TrendAI Vision One™ Threat Intelligence Feed 威脅情報來源。
新興威脅:能避開多重認證防護的裝置代碼網路釣魚
TrendAI Vision One™ XDR Data Explorer 應用程式
TrendAI Vision One™ 客戶可以使用 XDR Data Explorer 應用程式來尋找或追蹤本文提到的惡意指標,看看是否也出現在自己的環境中。
在 Microsoft Entra ID 與 TrendAI Vision One™ 整合的情況下,以下 XDR Data Explorer 應用程式查詢敘述可用來找出本攻擊中最重要的兩種事件。第一道敘述可傳回任何裝置代碼授權成功的事件,這類事件在大多數環境應該少見,而且通常有充分理由:
pname: "Microsoft Entra ID" AND authenticationProtocol: deviceCode AND eventName: IDENTITY_IAM_SIGN_INS AND status: 0
第二道敘述是傳回新註冊的裝置,也就是駭客透過一次性核准來取得永久存取權限的方式:
pname: "Microsoft Entra ID" AND eventName: IDENTITY_AAD_DIR_AUDIT AND eventCategory: Device AND actionName: Add device AND initiatedByAppDisplayName: Device Registration Service AND result: success
儘管上述過濾規則應該可以偵測到裝置註冊事件,但可預料其中應該會有很多是正常活動。我們可追蹤 Device Registration Service (裝置註冊服務) 資源上的認證事件,藉此發掘使用裝置代碼流程作為原始傳輸方法的連線階段,針對使用裝置代碼權杖來登入裝置註冊服務的情況發出警報。偵測邏輯如下:
pname: "Microsoft Entra ID" AND eventName: IDENTITY_IAM_SIGN_INS AND status: 0 AND rawDataStr:"\"OriginalTransferMethod":"deviceCodeFlow"" AND targetResourceDisplayName: "Device Registration Service"
同樣的這些行為,也可在 TrendAI Vision One™ 當中以原生方式透過 Observed Attack Techniques (觀察到的攻擊技巧) 和以下 Workbench (工作台) 偵測規則來發掘:
- Potential Device Code Token Generation (潛在的裝置代碼權杖產生)
- Device Registration Resource Access via Device Code Token (透過裝置代碼權杖存取裝置註冊資源)
MITRE ATT&CK 技巧
| 手法 | 技巧 | 編號 |
|---|---|---|
| 資源開發 | 取得/入侵基礎架構 (重新導向、代管) |
T1583/ |
| 突破防線 | 網路釣魚:魚叉式網路釣魚連結 | T1566.002 |
| 存取登入憑證 | 多重認證請求產成 (裝置代碼) | T1621 |
| 存取登入憑證 | 竊取應用程式存取權杖 (Token) | T1528 |
| 躲避防禦/橫向移動 | 使用其他認證材料:應用程式存取權杖 (Token) | T1550.001 |
| 常駐 | 帳號篡改:裝置註冊 | T1098.005 |
| 常駐 | 帳號篡改/修改認證程序:多重認證 (額外的 MFA/安全資訊) |
T1098/ |
| 蒐集 | 電子郵件蒐集;將電子郵件隱藏的規則 | T1114/ |
| 躲避防禦 | 冒充身分 | T1656 |
入侵指標 (IoC)
上述活動的代表性指標。這裡顯示的指標已去除了毒性,有些是被駭客濫用的共享服務或正常服務,因此請先確認一下再封鎖。
| 類型 | 指標 |
|---|---|
| 寄件人/假冒網域 | rlcounsel[.]com , cholaw-kr[.]co |
| 誘餌網頁 (受信任的主機) | sites.google[.]com ; /corporateprofiledetails ; /profileportfoliodetailsdata |
| 開放式重導器 (已遭入侵) | eusei[.]com ; cineuropa[.]org ; zrdesignlabo[.]com |
| 網路釣魚端點 | up88qope1z[.]hlpadditives[.]com ; zr6dgshpvf[.]flosli[.]com ; profileupdate-collaboration[.]stefan-dufva[.]workers[.]dev |
| 駭客 IP 位址 | 104.219.238[.]253 ; 43.165.1[.]42 ; 40.124.130[.]50 ; 18.118.111[.]82 ; 83.136.210[.]246 |
本文的目的是希望協助資安人員辨認並阻止一項活躍中的攻擊技巧,在採取行動之前,請確認您的環境內是否出現所有指標。