作者:耀@慢霧安全團隊
背景
區塊鏈的世界遵循黑暗森林法則,在這個世界我們隨時可能遭受到來自不明的外部攻擊,作為普通用戶不進行作惡,但是了解黑客的作惡的方式是十分必要的。
慢霧安全團隊此前發布了區塊鏈黑暗森林自救手冊,其中提到了不少關于針對NFT項目方的Discord進行攻擊的手法,為了幫助讀者對相關釣魚方式有更清晰的認知,本文將揭露其中一種釣魚方法,即通過惡意的書簽來盜取項目方Discord賬號的Token,用來發布虛假信息等誘導用戶訪問釣魚網站,從而盜取用戶的數字資產。
釣魚事件
先來回顧一起Discord釣魚事件:2022年3月14日,一則推特稱NFT項目WizardPass的Discord社區被詐騙者入侵,目前已造成BAYC、Doodles、CloneX等NFT被盜,詳情如下:
Web3瀏覽器Opera二季度財報:營收同比增長21%至9410萬美元,凈利潤為1350萬美元:8月25日消息,納斯達克上市公司Web3瀏覽器開發商Opera公布二季度財報,二季度營收同比增長21%至9,410萬美元,其中,廣告營收達到5,380萬美元,同比增長25%;搜索收入達到3890萬美元,同比增長15%;技術許可和其他收入為150萬美元。
此外,二季度運營費用同比增加22%至8170萬美元,二季度Opera的月度活躍用戶(MAU)為3.16億,與第一季度相比略有下降,西歐和北美的用戶群占據15%。
整體來說,Opera二季度凈利潤為1,350萬美元,利潤率為14%。相比之下,2022年二季度凈虧損580萬美元。截止二季度末,Opera的現金頭寸為9800萬美元,比二季度初的8500萬美元現金頭寸增加了1300萬美元。Opera的資產負債表上還有總計1.96億美元的待售資產和應收賬款,反映了Opera持有OPay9.5%的股份以及2022年出售StarX的剩余應收賬款。[2023/8/25 10:40:58]
來源:https://twitter.com/sentinelwtf/status/1496293768542429187
IPFS發布可將推文存檔到IPFS的瀏覽器插件“Pin Tweet to IPFS”:1月12日消息,IPFS發布瀏覽器插件“Pin Tweet to IPFS”,支持用戶將推文存檔到IPFS,以幫助用戶以可驗證的方式存儲推文。目前IPFS正在使用Web Recorder團隊的工具來創建可驗證的Web Ar Chive Zip推文文件,以協助用戶通過這些文件上傳到IPFS網絡,并通過自己的IPFS節點或其他固定服務訪問它們。該插件現已上線Chrome和Edge瀏覽器插件商店,后續IPFS將繼續進行迭代,以加快存檔速度并添加更多驗證功能。[2023/1/12 11:07:56]
該解讀里說的bookmark就是瀏覽器書簽,這個書簽里的內容可以是一段JavaScript惡意代碼,當Discord用戶點擊時,惡意JavaScript代碼就會在用戶所在的Discord域內執行,盜取DiscordToken,攻擊者獲得項目方的DiscordToken后就可以直接自動化接管項目方的Discord賬戶相關權限。
BTFS數據瀏覽器BTFS Scan已正式升級為BTSCAN,并啟用新域名:據官方消息,BitTorrent File System(BTFS) 數據瀏覽器BTFS Scan已升級為BTSCAN,并啟用全新域名scan.bt。BTSCAN在原有數據基礎上,新增了BT Speed產品關鍵數據展示,包括BT Speed錢包地址數、BT Speed鏈上被激活地址數、BT Speed空投總數等。
據BTSCAN瀏覽器2021年7月28日數據顯示,BT Speed產品錢包賬戶數為266,178,530,被激活的波場鏈上地址數為2,715,415,累計空投達5,535,028 BTT。[2021/7/28 1:21:13]
背景知識
要理解該事件需要讀者有一定的背景知識,現在的瀏覽器都有自帶的書簽管理器,在提供便利的同時卻也容易被攻擊者利用。通過精心構造惡意的釣魚頁面可以讓你收藏的書簽中插入一段JavaScript代碼,當受害者點擊書簽時會以當前瀏覽器標簽頁的域進行執行。
Opera瀏覽器與Simplex合作為其用戶提供加密貨幣交易服務:2月24日消息,Opera瀏覽器宣布已與加密支付處理商Simplex合作,為其用戶提供加密匝道服務。加密匝道服務即類同于交易服務,可讓用戶為加密貨幣支付法幣費用,用戶可以通過Opera瀏覽器購買一系列加密貨幣。(CoinDesk)[2021/2/24 17:49:34]
以上圖為例,受害者打開了discord.com官網,并在這個頁面點擊了之前收藏的惡意的書簽“Hello,World!”從而執行了一個彈窗語句,可以發現執行的源顯示的是discord.com。
這里有一個域的概念,瀏覽器是有同源策略等防護策略的,按理不屬于discord.com做出的操作不應該在discord.com域的頁面有響應,但書簽卻繞過了這個限制。
可以預見書簽這么個小功能隱含的安全問題,正常添加書簽的方式會明顯看到書簽網址:
稍微有安全意識的讀者應該會直接看到網址信息明顯存在問題。
當然如果是一個構造好誘導你拖拽收藏到書簽欄到頁面呢?可以看到Twitter鏈接中的演示視頻就是構造了這么個誘導頁面:「Dragthistoyourbookmarked」。
也就是拖著某個鏈接即可添加到書簽欄,只要釣魚劇本寫得足夠真實,就很容易讓安全意識不足的用戶中招。
要實現拖拽即可添加到書簽欄只需要構造一個a標簽,下面是示例代碼:
Hello,World!
書簽在點擊時可以像在開發者工具控制臺中的代碼一樣執行,并且會繞過CSP策略。
讀者可能會有疑問,類似「javascript:()」這樣的鏈接,在添加進入到瀏覽器書簽欄,瀏覽器竟然會沒有任何的提醒?
筆者這里以谷歌和火狐兩款瀏覽器來進行對比。
使用谷歌瀏覽器,拖拽添加正常的URL鏈接不會有任何的編輯提醒。
使用谷歌瀏覽器,拖拽添加惡意鏈接同樣不會有任何的編輯提醒。
使用火狐瀏覽器如果添加正常鏈接不會有提醒。
使用火狐瀏覽器,如果添加惡意鏈接則會出現一個窗口提醒編輯確認保存。
由此可見在書簽添加這方面火狐瀏覽器的處理安全性更高。
場景演示
演示采用的谷歌瀏覽器,在用戶登錄Web端Discord的前提下,假設受害者在釣魚頁面的指引下添加了惡意書簽,在DiscordWeb端登錄時,點擊了該書簽,觸發惡意代碼,受害者的Token等個人信息便會通過攻擊者設置好的Discordwebhook發送到攻擊者的頻道上。
下面是演示受害者點擊了釣魚的書簽:
下面是演示攻擊者編寫的JavaScript代碼獲取Token等個人信息后,通過DiscordServer的webhook接收到。
筆者補充幾點可能會產生疑問的攻擊細節:
1.為什么受害者點了一下就獲取了?
通過背景知識我們知道,書簽可以插入一段JavaScript腳本,有了這個幾乎可以做任何事情,包括通過Discord封裝好的webpackChunkdiscord_app前端包進行信息獲取,但是為了防止作惡的發生,詳細的攻擊代碼筆者不會給出。
2.為什么攻擊者會選擇Discordwebhook進行接收?
因為Discordwebhook的格式為
“https://discord.com/api/webhooks/xxxxxx”,直接是Discord的主域名,繞過了同源策略等問題,讀者可以自行新建一個Discordwebhook進行測試。
3.拿到了Token又能怎么樣?
拿到了Token等同于登錄了Discord賬號,可以做登錄Discord的任何同等操作,比如建立一個Discordwebhook機器人,在頻道里發布公告等虛假消息進行釣魚。
總結
攻擊時刻在發生,針對已經遭受到惡意攻擊的用戶,建議立刻采取如下行動進行補救:
立刻重置Discord賬號密碼。
重置密碼后重新登錄該Discord賬號來刷新Token,才能讓攻擊者拿到的Token失效。
刪除并更換原有的webhook鏈接,因為原有的webhook已經泄露。
提高安全意識,檢查并刪除已添加的惡意書簽。
作為用戶,重要的是要注意任何添加操作和代碼都可能是惡意的,Web上會有很多的擴展看起來非常友好和靈活。書簽不能阻止網絡請求,在用戶手動觸發執行的那一刻,還是需要保持一顆懷疑的心。
親愛的ZT用戶: ZTETF板即將上線AMPBULL,AMPBEAR,並開啟AMPBULL/USDT,AMPBEAR/USDT交易對.
1900/1/1 0:00:00貨幣市場整體環境大幅度下跌,能否支撐比特幣再次走牛? 1、美聯儲加息縮表進展 美聯儲公布的3月會議紀要顯示,美聯儲認為每月縮減950億美元資產上限可能是合適的.
1900/1/1 0:00:00親愛的用戶: BitVito計劃于2022年4月22日14:00—15:00期間進行系統升級,本次升級期間,停止交易功能,有掛單的用戶會被強制撤單,現有持倉不受影響.
1900/1/1 0:00:00尊敬的用戶:?????????BKEX即將上線CAW,詳情如下:上線交易對:CAW/USDT??幣種類型:ERC20充值功能開放時間:已開放交易功能開放時間:2022年4月19日17:00提現功.
1900/1/1 0:00:00經Odaily星球日報不完全統計,4月11日-4月17日當周公布的海內外區塊鏈融資事件共50起,較前一周有一定增加;已披露融資總額約為16.5億美元,較前一周有大幅上升.
1900/1/1 0:00:00比特幣掉頭,短暫觸及41,000美元,然后穩定在40,000美元的水平。不僅比特幣上漲了近4%,整個全球加密貨幣市場也上漲了,當天所有主要的加密貨幣都上漲了.
1900/1/1 0:00:00