雙因素認證繞過的釣魚工具

雙因素認證繞過的釣魚工具

***測試人員和***者爲他們的武器庫添加了一個新的工具,這種工具可以繞過雙因素身份驗證(2FA) 自動化釣魚***,而此過程不易被檢測和阻止。該工具使此類***更容易部署,因此組織機構應該相應地調整其反釣魚培訓。
這個新工具包在上個月阿姆斯特丹舉辦的***大會 (Hack in the Box) 上發佈,幾天後在GitHub上發佈。它有兩個組件:一個被稱爲Muraena的透明反向代理和一個被稱爲NecroBrowser 的Docker容器(用於自動化無頭Chromium實例)。

中間人式***

大多數人所熟悉的傳統網絡釣魚***是由虛假登錄頁面組成的,這些頁面在***者控制的web服務器上,並由與目標網站名稱相似的自定義域名提供服務。然而,這種靜態***對使用雙因素身份驗證的在線服務無效,因爲沒有與合法網站進行交互來觸發生成一次性代碼。沒有這些代碼,***者就無法使用釣魚憑證登錄。
爲了繞過2FA,***者需要讓他們的釣魚網站充當代理,代表受害者轉發請求到合法網站,並實時回傳。最終目標不僅是爲了獲取用戶名和密碼,而是真正網站用來關聯登錄賬號的活動會話令牌(也被稱爲會話cookie)。通過將這些會話cookie放在瀏覽器中,可以直接訪問與它們關聯的帳戶,而不需要進行身份驗證。
這種基於代理的技術並不新鮮,人們一直知道它們的存在,但是進行這樣的***需要技術知識,並且需要配置多個獨立的工具,比如將NGINX web服務器當做反向代理使用。準備好工具後,***者需要在竊取的會話cookie過期之前手動使用它們。此外,有些網站使用子資源完整性 (Subresource Integrity, SRI) 和內容安全策略 (Content Security Policy, CSP) 等技術來防止代理,有些網站甚至會根據標題來屏蔽自動化的瀏覽器。
Muraena和NecroBrowser的出現是爲了破解這些防禦措施,並使大部分過程自動化。這意味着現在很多***者可以發起繞過2FA的釣魚***。這些工具是由瀏覽器開發框架項目 (Browser Exploitation Framework Project , BeEF) 的前核心開發人員Michele Orru和Bettercap項目的成員Giuseppe Trotta共同開發的。

Muraena和NecroBrowser是如何工作的?

Muraena是用Go編程語言編寫的,這意味着它可以在任何Go可用的平臺上被編譯和運行。一旦部署完成,***者就可以配置他們的釣魚域名,併爲其獲得合法的證書——例如,通過非營利性的Let's Encrypt證書頒發機構。
該工具包含一個充當反向代理的小型web服務器和一個爬蟲程序。該爬蟲程序可以自動確定從合法網站代理哪些資源。代理在傳遞來自受害者的請求之前重寫這些請求。
爬蟲程序會自動生成一個JSON配置文件,然後可以手動修改該文件來繞過更復雜網站上的各種防禦機制。該軟件包包括對谷歌、GitHub和Dropbox的示例配置文件。
一旦受害者登陸一個由Muraena提供支持的釣魚網站,登錄過程就會和真正的網站完全一樣。網站會要求用戶輸入他們的2FA驗證碼。當他們提供驗證碼並完成身份驗證之後,代理會竊取會話cookie。
會話令牌通常由瀏覽器存儲在一個文件中,並在後續請求中提供服務。這種方法可以使網站自動向瀏覽器提供一段時間內不需要密碼登陸而(會話長度)訪問帳戶的權限。Muraena可以自動將收集到的會話cookie傳送給它的第二個組件NecroBrowser,而NecroBrowser可以立即開始濫用這些cookie。
NecroBrowser是一個可以通過API進行控制的微服務,進行配置以後可以通過在Docker容器內運行的Chromium無頭實例執行操作。根據可用的服務器資源,***者可以同時生成數十個或數百個這樣的容器,每個容器都有一個從受害者那裏竊取的會話cookie。
殭屍瀏覽器實例執行的操作可以完全自動化。例如,根據賬戶類型的不同,可以對電子郵件進行截屏、啓動密碼重置、將惡意密鑰上傳到GitHub或者在郵箱添加惡意轉發地址。瀏覽器實例還可以用來收集社交網絡上聯繫人和朋友的信息,甚至可以通過類似蠕蟲的***向這些朋友發送釣魚信息。

如何防範自動釣魚***

不幸的是,很少有技術解決方案能夠完全在服務器端阻止這種釣魚***。Muraena的出現說明SRI和CSP等技術的效果有限,***者可以以自動化的方式繞過它們。此外,該工具表明2FA不是一個完美的解決方案。
然而基於代理釣魚***無法突破某些2FA措施——那些使用支持通用第二因素 (Universal 2nd Factor, U2F) 標準的USB硬件令牌的企業。這是因爲這些USB令牌通過瀏覽器建立了與合法網站的加密驗證連接,而不是通過***者的反向代理。與此同時,基於短信驗證碼或移動驗證軟件的解決方案很容易受到***,因爲受害者必須手動輸入這些驗證碼,而他們可能會在釣魚網站上做這些事情。
另一種技術解決方案是爲瀏覽器安裝擴展,這種擴展程序可以檢查用戶是否在正確的網站上輸入了他們的憑證。谷歌爲Chrome開發了一個名爲Password Alert的擴展,當用戶試圖在任何不屬於谷歌的網站上輸入谷歌憑證時,它會發出警告。
培養用戶保持警惕,確保他們在正確的域名和正確的網站上進行身份驗證非常重要。TLS/SSL和有效證書的存在不足以證明該網站是合法的,因爲人們現在可以輕鬆免費獲得證書,所以大多數釣魚網站也可以使用HTTPS。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章