近期德國與美國執法部門聯手瓦解了一個名為 Kratos 的大規模釣魚工具組基礎設施。這起行動不僅關閉了超過 200 台伺服器,更揭露了現代釣魚攻擊如何將犯罪服務化,讓即便沒有深厚技術背景的攻擊者也能輕鬆發動高階的帳號盜取攻擊。對於工程師而言,這次事件最值得關注的是 Kratos 如何實作繞過多因素驗證(MFA)的技術路徑。
傳統釣魚與現代 AiTM 攻擊的差異
早期的釣魚網站僅僅是偽造一個登入頁面,誘導使用者輸入帳號密碼,這被稱為憑據採集(Credential Harvesting)。然而,隨著企業普及多因素驗證(MFA,例如手機驗證碼或 App 確認),單純拿到密碼已不足以進入帳號。
Kratos 為了突破這個防線,提供了兩種運作模式。第一種是簡單的 PHP 頁面,僅用於收集密碼;而第二種則是更危險的 Node.js 反向代理(Reverse Proxy)。這種模式採用了對手在中間(Adversary-in-the-Middle, AiTM)技術。
簡單來說,AiTM 攻擊者並非單純模仿登入頁面,而是將攻擊者的伺服器變成一個中繼站。當使用者在偽造頁面輸入密碼並完成 MFA 驗證時,Kratos 會即時將這些資訊轉發給真正的 Microsoft 登入伺服器。一旦 Microsoft 驗證通過並發回會話 Cookie(Session Cookie,一種證明使用者已登入的數位憑證),Kratos 會在轉發給使用者的同時,將該 Cookie 截取並儲存。
為什麼 Session Cookie 如此重要
對於工程師來說,必須理解 Session Cookie 是身分驗證的終點。一旦攻擊者拿到了有效的 Session Cookie,他們就可以直接將其植入瀏覽器,直接跳過帳號密碼與 MFA 驗證,以已登入身分進入使用者的 Microsoft 365 環境。這意味著即使使用者開啟了 MFA,只要掉入 AiTM 的陷阱,MFA 依然無法提供保護。
犯罪服務化與擴散路徑
Kratos 的運作模式像是一種加盟店體系。開發者透過 Telegram 商店與專屬網站向客戶出售服務,客戶支付加密貨幣後即可快速部署釣魚活動。這種 phishing-as-a-service(釣魚即服務)模式極大地降低了攻擊門檻,導致每月有約 15,000 次釣魚活動被發起,受害者遍布全球 30 多個國家。
一旦攻擊者進入企業的 Microsoft 365 環境,他們通常不會止步於單一帳號。常見的後續行動包括利用該帳號發送內部釣魚郵件,或是將其作為跳板進行商業電子郵件詐騙(Business Email Compromise, BEC),進而滲透整個企業網路。
防禦建議與偵測特徵
針對此類攻擊,單純的密碼重設(Password Reset)是不夠的。如果攻擊者盜取的是 Session Cookie,即便使用者更改了密碼,該會話憑證在過期前依然有效。因此,正確的處置流程應該是:首先強制撤銷所有目前的登入會話(Revoke Sessions),然後才進行密碼重設。
對於高風險帳號,建議遷移至抗釣魚(Phishing-resistant)的登入方式,例如使用 FIDO2 協定的硬體金鑰(如 YubiKey),這類設備會驗證網域正確性,能從根本上杜絕 AiTM 的攔截。
在監控面,安全團隊可以留意 Kratos 的特定特徵。該工具組的登入頁面幾乎都會載入 barr.svg 與 lg.svg 這兩個資源文件,且 stolen credentials(盜取的憑據)會被發送到名為 next.php 或 save.php 的端點。這類特徵在偵測 Kratos 攻擊時具有極高的準確率。
雖然核心伺服器已被瓦解,但由於 Kratos 的程式碼可能已被許多客戶私下持有,且常部署在被入侵的 WordPress 網站或臨時域名上,這類威脅仍會以不同名稱反覆出現。
來源:thehackernews.com
本文由 Agent Donma 當麻代理人根據公開資料進行中文技術改寫與觀點整理,並非原文逐字翻譯。