慢霧:瀏覽器惡意書籤是如何盜取你的Discord Token的?

本文約1335字,閱讀全文需要約2分鐘
作為用戶,重要的是要注意任何添加操作和代碼都可能是惡意的。

背景

背景

背景

背景區塊鏈的世界遵循黑暗森林法則,在這個世界我們隨時可能遭受到來自不明的外部攻擊,作為普通用戶不進行作惡,但是了解黑客的作惡的方式是十分必要的。慢霧安全團隊此前發布了

釣魚事件

圖片描述

慢霧:瀏覽器惡意書籤是如何盜取你的Discord Token的?

來源:https://twitter.com/SerpentAU/status/1503232270219431941

圖片描述

慢霧:瀏覽器惡意書籤是如何盜取你的Discord Token的?

圖片描述

圖片描述

來源:https://twitter.com/sentinelwtf/status/1496293768542429187

該解讀裡說的bookmark 就是瀏覽器書籤,這個書籤裡的內容可以是一段JavaScript 惡意代碼,當Discord 用戶點擊時,惡意JavaScript 代碼就會在用戶所在的Discord 域內執行,盜取Discord Token,攻擊者獲得項目方的Discord Token 後就可以直接自動化接管項目方的Discord 賬戶相關權限。

慢霧:瀏覽器惡意書籤是如何盜取你的Discord Token的?

背景知識

要理解該事件需要讀者有一定的背景知識,現在的瀏覽器都有自帶的書籤管理器,在提供便利的同時卻也容易被攻擊者利用。通過精心構造惡意的釣魚頁面可以讓你收藏的書籤中插入一段JavaScript 代碼,當受害者點擊書籤時會以當前瀏覽器標籤頁的域進行執行。

以上圖為例,受害者打開了discord.com 官網,並在這個頁麵點擊了之前收藏的惡意的書籤“Hello,World!” 從而執行了一個彈窗語句,可以發現執行的源顯示的是discord . com。

慢霧:瀏覽器惡意書籤是如何盜取你的Discord Token的?

這裡有一個域的概念,瀏覽器是有同源策略等防護策略的,按理不屬於discord.com 做出的操作不應該在discord.com 域的頁面有響應,但書籤卻繞過了這個限制。

可以預見書籤這麼個小功能隱含的安全問題,正常添加書籤的方式會明顯看到書籤網址:

慢霧:瀏覽器惡意書籤是如何盜取你的Discord Token的?

稍微有安全意識的讀者應該會直接看到網址信息明顯存在問題。

當然如果是一個構造好誘導你拖拽收藏到書籤欄到頁面呢?可以看到Twitter 鏈接中的演示視頻就是構造了這麼個誘導頁面:「Drag this to your bookmarked」。

 Hello, World!

慢霧:瀏覽器惡意書籤是如何盜取你的Discord Token的?

也就是拖著某個鏈接即可添加到書籤欄,只要釣魚劇本寫得足夠真實,就很容易讓安全意識不足的用戶中招。

要實現拖拽即可添加到書籤欄只需要構造一個a 標籤,下面是示例代碼:

書籤在點擊時可以像在開發者工具控制台中的代碼一樣執行,並且會繞過CSP(Content Security Policy)策略。

讀者可能會有疑問,類似「javascript:()」這樣的鏈接,在添加進入到瀏覽器書籤欄,瀏覽器竟然會沒有任何的提醒?

慢霧:瀏覽器惡意書籤是如何盜取你的Discord Token的?

筆者這里以谷歌和火狐兩款瀏覽器來進行對比。

慢霧:瀏覽器惡意書籤是如何盜取你的Discord Token的?

使用谷歌瀏覽器,拖拽添加正常的URL 鏈接不會有任何的編輯提醒。

慢霧:瀏覽器惡意書籤是如何盜取你的Discord Token的?

使用谷歌瀏覽器,拖拽添加惡意鏈接同樣不會有任何的編輯提醒。

慢霧:瀏覽器惡意書籤是如何盜取你的Discord Token的?

使用火狐瀏覽器如果添加正常鏈接不會有提醒。

使用火狐瀏覽器,如果添加惡意鏈接則會出現一個窗口提醒編輯確認保存。

由此可見在書籤添加這方面火狐瀏覽器的處理安全性更高。

場景演示

慢霧:瀏覽器惡意書籤是如何盜取你的Discord Token的?

演示採用的谷歌瀏覽器,在用戶登錄Web 端Discord 的前提下,假設受害者在釣魚頁面的指引下添加了惡意書籤,在Discord Web 端登錄時,點擊了該書籤,觸發惡意代碼,受害者的Token 等個人信息便會通過攻擊者設置好的Discord webhook 發送到攻擊者的頻道上。

慢霧:瀏覽器惡意書籤是如何盜取你的Discord Token的?

下面是演示受害者點擊了釣魚的書籤:

下面是演示攻擊者編寫的JavaScript 代碼獲取Token 等個人信息後,通過Discord Server 的webhook 接收到。

筆者補充幾點可能會產生疑問的攻擊細節:

1. 為什麼受害者點了一下就獲取了?

通過背景知識我們知道,書籤可以插入一段JavaScript 腳本,有了這個幾乎可以做任何事情,包括通過Discord 封裝好的webpackChunkdiscord_app 前端包進行信息獲取,但是為了防止作惡的發生,詳細的攻擊代碼筆者不會給出。

2. 為什麼攻擊者會選擇Discord webhook 進行接收?

3. 拿到了Token 又能怎麼樣?

總結

總結

總結

  • 總結

  • 攻擊時刻在發生,針對已經遭受到惡意攻擊的用戶,建議立刻採取如下行動進行補救:

  • 立刻重置Discord 賬號密碼。

  • 重置密碼後重新登錄該Discord 賬號來刷新Token,才能讓攻擊者拿到的Token 失效。

刪除並更換原有的webhook 鏈接,因為原有的webhook 已經洩露。

原創文章,作者:慢雾科技。轉載/內容合作/尋求報導請聯系 report@odaily.email;違規轉載法律必究。

ODAILY提醒,請廣大讀者樹立正確的貨幣觀念和投資理念,理性看待區塊鏈,切實提高風險意識; 對發現的違法犯罪線索,可積極向有關部門舉報反映。

推薦閱讀
星球精選