兩款可繞過雙因素認證的釣魚攻擊工具
作者:星期二, 六月 11, 20190

研究人員發布了兩個工具——Muraen和NecroBrowser。它們可以自動繞過2FA進行釣魚攻擊,大多數防御措施都無法抵御它們。

滲透測試人員和攻擊者為他們的武器庫添加了一個新的工具,這種工具可以繞過雙因素身份驗證(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。

相關閱讀

黑掉雙因子認證的11種方法

八種無密碼身份驗證方式

2019年最有可能遭遇到的高級網絡釣魚攻擊場景

 

 

 

分享:
0

相關文章

寫一條評論

 

 

0條評論