背景
區塊鏈的世界遵循黑暗森林法則,在這個世界我們隨時可能遭受到來自不明的外部攻擊,作為普通用戶不進行作惡,但是了解黑客的作惡的方式是十分必要的。
慢霧安全團隊此前發布了區塊鏈黑暗森林自救手冊
(https://github.com/slowmist/Blockchain-dark-forest-selfguard-handbook),其中提到了不少關于針對 NFT 項目方的 Discord 進行攻擊的手法,為了幫助讀者對相關釣魚方式有更清晰的認知,本文將揭露其中一種釣魚方法,即通過惡意的書簽來盜取項目方 Discord 賬號的 Token,用來發布虛假信息等誘導用戶訪問釣魚網站,從而盜取用戶的數字資產。
釣魚事件
先來回顧一起 Discord 釣魚事件:2022 年 3 月 14 日,一則推特稱 NFT 項目 Wizard Pass 的 Discord 社區被詐騙者入侵,目前已造成 BAYC、Doodles、Clone X 等 NFT 被盜,詳情如下:
慢霧:利用者通過執行惡意提案控制了Tornado.Cash的治理:金色財經報道,SlowMist發布Tornado.Cash治理漏洞解析。 5月20日,Tornado.Cash遭受了治理攻擊,利用者通過執行惡意提案控制了Tornado.Cash的治理。5月13日,利用者發起了20提案,并在提案中說明20提案是對16提案的補充,具有相同的執行邏輯。但實際上,提案合約多了一個自毀邏輯,其創建者是通過create2創建的,具有自毀功能,所以在與提案合約自毀后,利用者仍可以部署不同的以與以前相同的方式將字節碼發送到相同的地址。不幸的是,社區沒有看到擬議合約中的犯規行為,許多用戶投票支持該提案。
在5月18日,利用者通過創建具有多個交易的新地址,反復將0代幣鎖定在治理中。利用提案合約可以銷毀并重新部署新邏輯的特性,利用者在5月20日7:18(UTC)銷毀了提案執行合約,并在同一地址部署了一個惡意合約,其邏輯是修改用戶在治理中鎖定的代幣數量。
攻擊者修改完提案合約后,于5月20日7:25(UTC)執行惡意提案合約。該提案的執行是通過 Delegatecall 執行的,因此,該提案的執行導致治理合約中由開發者控制的地址的代幣鎖定量被修改為 10,000。提案執行完成后,攻擊者從治理庫中解鎖了TORN代幣。金庫中的TORN代幣儲備已經耗盡,同時利用者控制了治理。[2023/5/21 15:17:00]
(來源:https://twitter.com/SerpentAU/status/1503232270219431941)
慢霧:仍有大部分錢包支持eth_sign,僅少部分錢包提供安全風險警告:金色財經報道,在加密貨幣NFT板塊,越來越多的釣魚網站濫用 eth_sign 簽名功能來進行盲簽欺詐,提醒或禁用這種低級的簽名方法對于保護用戶安全是至關重要的,不少 Web3 錢包已經采取相關措施來對這種危險的簽名方法進行安全提示和限制。仍有一大部分加密錢包支持 eth_sign,其中少部分錢包提供 eth_sign 安全風險警告。如果用戶仍想要使用 eth_sign,他們可以選擇支持該功能的加密錢包。但是,用戶在使用這些錢包時需要特別注意安全警告,以確保其交易的安全性。[2023/5/11 14:57:14]
牽出其中一個解讀:
(來源:https://twitter.com/sentinelwtf/status/1496293768542429187)
該解讀里說的 bookmark 就是瀏覽器書簽,這個書簽里的內容可以是一段 JavaScript 惡意代碼,當 Discord 用戶點擊時,惡意 JavaScript 代碼就會在用戶所在的 Discord 域內執行,盜取 Discord Token,攻擊者獲得項目方的 Discord Token 后就可以直接自動化接管項目方的 Discord 賬戶相關權限。
慢霧:AToken錢包疑似遭受攻擊 用戶反饋錢包中資產被盜:據慢霧區情報,近期 AToken 錢包(atoken.com)疑似遭受到攻擊,用戶在使用 AToken 錢包后,幣被偷偷轉移走。目前已經有較多的用戶反饋錢包中的資產被盜。AToken 錢包官方推特在2021年12月20日發布了停止運營的聲明。官方 TG 頻道中也有多位用戶反饋使用 AToken 錢包資產被盜了,但是并沒有得到 AToken 團隊的回復和處理。
如果有使用 AToken 錢包的用戶請及時轉移資產到安全的錢包中。具體可以參考如下操作:
1. 立即將 AToken 錢包中的相關的資產轉移到新的錢包中。
2. 廢棄導入 AToken 或者使用 AToken 生成的助記詞或私鑰的錢包。
3. 參考慢霧安全團隊梳理的數字資產安全解決方案,對數字資產進行妥善的管理。
4. 留存相應有問題的 AToken 錢包 APP 的安裝包,用于后續可能需要的取證等操作。
5. 如果資產已經被盜,可以先梳理被盜事件的時間線,以及黑客的相關地址 MistTrack 可以協助挽回可能的一線希望。[2022/2/9 9:39:46]
背景知識
慢霧:有用戶遭釣魚攻擊,在OpenSea上架的NFT以極低匹配價格售出:據慢霧消息,有用戶在 OpenSea 掛單售賣的 NFT 被惡意的以遠低于掛單價匹配買。經慢霧安全團隊分析,此是由于該受害用戶遭受釣魚攻擊,錯誤的對攻擊者精心構造的惡意訂單進行簽名,惡意訂單中指定了極低的出售價格、買方地址為攻擊者以及出售 NFT 為受害用戶在 OpenSea 上架的待出售 NFT。攻擊者使用受害用戶已簽名的出售訂單以及攻擊者自己的購買訂單在 OpenSea 中進行匹配,并以攻擊者指定的極低價格成交,導致受害用戶的 NFT 以非預期的價格售出。[2021/12/11 7:31:47]
要理解該事件需要讀者有一定的背景知識,現在的瀏覽器都有自帶的書簽管理器,在提供便利的同時卻也容易被攻擊者利用。通過精心構造惡意的釣魚頁面可以讓你收藏的書簽中插入一段 JavaScript 代碼,當受害者點擊書簽時會以當前瀏覽器標簽頁的域進行執行。
以上圖為例,受害者打開了 discord.com 官網,并在這個頁面點擊了之前收藏的惡意的書簽“Hello,World!” 從而執行了一個彈窗語句,可以發現執行的源顯示的是 discord.com。
慢霧:警惕高危Apache Log4j2遠程代碼執行漏洞:據慢霧安全情報,在12月9日晚間出現了Apache Log4j2 遠程代碼執行漏洞攻擊代碼。該漏洞利用無需特殊配置,經多方驗證,Apache Struts2、Apache Solr、Apache Druid、Apache Flink等均受影響。Apache Log4j2是一款流行的Java日志框架,建議廣大交易所、錢包、DeFi項目方抓緊自查是否受漏洞影響,并盡快升級新版本。[2021/12/10 7:30:00]
這里有一個域的概念,瀏覽器是有同源策略等防護策略的,按理不屬于 discord.com 做出的操作不應該在 discord.com 域的頁面有響應,但書簽卻繞過了這個限制。
可以預見書簽這么個小功能隱含的安全問題,正常添加書簽的方式會明顯看到書簽網址:
稍微有安全意識的讀者應該會直接看到網址信息明顯存在問題。
當然如果是一個構造好誘導你拖拽收藏到書簽欄到頁面呢?可以看到 twitter 鏈接中的演示視頻就是構造了這么個誘導頁面:”Drag this to your bookmarked”。
也就是拖著某個鏈接即可添加到書簽欄,只要釣魚劇本寫得足夠真實,就很容易讓安全意識不足的用戶中招。
要實現拖拽即可添加到書簽欄只需要構造一個 a 標簽,下面是示例代碼:
書簽在點擊時可以像在開發者工具控制臺中的代碼一樣執行,并且會繞過 CSP(Content Security Policy)策略。
讀者可能會有疑問,類似 “javascript:()” 這樣的鏈接,在添加進入到瀏覽器書簽欄,瀏覽器竟然會沒有任何的提醒?
筆者這里以谷歌和火狐兩款瀏覽器來進行對比。
使用谷歌瀏覽器,拖拽添加正常的 URL 鏈接不會有任何的編輯提醒。
使用谷歌瀏覽器,拖拽添加惡意鏈接同樣不會有任何的編輯提醒。
使用火狐瀏覽器如果添加正常鏈接不會有提醒。
使用火狐瀏覽器,如果添加惡意鏈接則會出現一個窗口提醒編輯確認保存。
由此可見在書簽添加這方面火狐瀏覽器的處理安全性更高。
場景演示
演示采用的谷歌瀏覽器,在用戶登錄 Web 端 Discord 的前提下,假設受害者在釣魚頁面的指引下添加了惡意書簽,在 Discord Web 端登錄時,點擊了該書簽,觸發惡意代碼,受害者的 Token 等個人信息便會通過攻擊者設置好的 Discord webhook 發送到攻擊者的頻道上。
下面是演示受害者點擊了釣魚的書簽:
下面是演示攻擊者編寫的 JavaScript 代碼獲取 Token 等個人信息后,通過 Discord Server 的 webhook 接收到。
筆者補充幾點可能會產生疑問的攻擊細節:
1. 為什么受害者點了一下就獲取了?
通過背景知識我們知道,書簽可以插入一段 JavaScript 腳本,有了這個幾乎可以做任何事情,包括通過 Discord 封裝好的 webpackChunkdiscord_app 前端包進行信息獲取,但是為了防止作惡的發生,詳細的攻擊代碼筆者不會給出。
2. 為什么攻擊者會選擇 Discord webhook 進行接收?
因為 Discord webhook 的格式為
“https://discord.com/api/webhooks/xxxxxx”,直接是 Discord 的主域名,繞過了同源策略等問題,讀者可以自行新建一個 Discord webhook 進行測試。
3. 拿到了 Token 又能怎么樣?
拿到了 Token 等同于登錄了 Discord 賬號,可以做登錄 Discord 的任何同等操作,比如建立一個 Discord webhook 機器人,在頻道里發布公告等虛假消息進行釣魚。
總結
攻擊時刻在發生,針對已經遭受到惡意攻擊的用戶,建議立刻采取如下行動進行補救:
1. 立刻重置 Discord 賬號密碼。
2. 重置密碼后重新登錄該 Discord 賬號來刷新 Token,才能讓攻擊者拿到的 Token 失效。
3. 刪除并更換原有的 webhook 鏈接,因為原有的 webhook 已經泄露。
4. 提高安全意識,檢查并刪除已添加的惡意書簽。
作為用戶,重要的是要注意任何添加操作和代碼都可能是惡意的,Web 上會有很多的擴展看起來非常友好和靈活。書簽不能阻止網絡請求,在用戶手動觸發執行的那一刻,還是需要保持一顆懷疑的心。
本文到這邊就結束了,慢霧安全團隊將會揭露更多關于黑暗森林的攻擊事件,希望能夠幫助到更多加密世界的人。
By:耀@慢霧安全團隊
在加密世界, 2020年, 是 DeFi 的時代。 到目前為止, 2021年, 是 NFT 的時代。 大家都知道火熱的 jpeg 之夏吧? 2022年, 將是社區 DAO 的時代.
1900/1/1 0:00:00就在昨天,杭州互聯網法院依法公開開庭審理了某科技公司侵害作品信息網絡傳播權糾紛案并當庭宣判。該案應當是我國數字藏品侵權糾紛審結并公開宣判的首案.
1900/1/1 0:00:00距離瑞士蘇黎世乘火車不到半小時,在風景如畫的楚格鎮中心,有一座百年歷史的建筑,有著優美的壁畫外墻、古老的木天花板和柔和的百葉窗.
1900/1/1 0:00:00本文梳理自 Defiance Capital 創始人 Arthur 在個人社交媒體平臺上的觀點,律動 BlockBeats 對其整理翻譯如下:起初,以下內容僅寫給我們的投資組合公司和合作伙伴.
1900/1/1 0:00:00準確地說,元宇宙不是一個新的概念,它更像是一個經典概念的重生。1992年,美國著名科幻大師尼爾·斯蒂芬森在其小說《雪崩》中這樣描述元宇宙:“戴上耳機和目.
1900/1/1 0:00:00北京時間2022年4月15日11點18分,CertiK審計團隊監測到Rikkei Finance被攻擊,導致約合701萬元人民幣(2,671 BNB)資產遭受損失.
1900/1/1 0:00:00