背景
區塊鏈的世界遵循黑暗森林法則,在這個世界我們隨時可能遭受到來自不明的外部攻擊,作為普通用戶不進行作惡,但是了解黑客的作惡的方式是十分必要的。
慢霧安全團隊此前發布了區塊鏈黑暗森林自救手冊
,其中提到了不少關于針對NFT項目方的Discord進行攻擊的手法,為了幫助讀者對相關釣魚方式有更清晰的認知,本文將揭露其中一種釣魚方法,即通過惡意的書簽來盜取項目方Discord賬號的Token,用來發布虛假信息等誘導用戶訪問釣魚網站,從而盜取用戶的數字資產。
釣魚事件
先來回顧一起Discord釣魚事件:2022年3月14日,一則推特稱NFT項目WizardPass的Discord社區被詐騙者入侵,目前已造成BAYC、Doodles、CloneX等NFT被盜,詳情如下:
牽出其中一個解讀:
慢霧:警惕Web3錢包WalletConnect釣魚風險:金色財經報道,慢霧安全團隊發現 Web3 錢包上關于 WalletConnect 使用不當可能存在被釣魚的安全風險問題。這個問題存在于使用移動端錢包 App 內置的 DApp Browser + WalletConnect 的場景下。
慢霧發現,部分 Web3 錢包在提供 WalletConnect 支持的時候,沒有對 WalletConnect 的交易彈窗要在哪個區域彈出進行限制,因此會在錢包的任意界面彈出簽名請求。[2023/4/17 14:08:53]
該解讀里說的bookmark就是瀏覽器書簽,這個書簽里的內容可以是一段JavaScript惡意代碼,當Discord用戶點擊時,惡意JavaScript代碼就會在用戶所在的Discord域內執行,盜取DiscordToken,攻擊者獲得項目方的DiscordToken后就可以直接自動化接管項目方的Discord賬戶相關權限。
慢霧:Solana公鏈上發生大規模盜幣,建議用戶先將熱錢包代幣轉移到硬件錢包或知名交易所:8月3日消息,據慢霧區情報,Solana公鏈上發生大規模盜幣事件,大量用戶在不知情的情況下被轉移SOL和SPL代幣,慢霧安全團隊對此事件進行跟蹤分析:
已知攻擊者地址:
Htp9MGP8Tig923ZFY7Qf2zzbMUmYneFRAhSp7vSg4wxV、CEzN7mqP9xoxn2HdyW6fjEJ73t7qaX9Rp2zyS6hb3iEu、5WwBYgQG6BdErM2nNNyUmQXfcUnB68b6kesxBywh1J3n、GeEccGJ9BEzVbVor1njkBCCiqXJbXVeDHaXDCrBDbmuy
目前攻擊仍在進行,從交易特征上看,攻擊者在沒有使用攻擊合約的情況下,對賬號進行簽名轉賬,初步判斷是私鑰泄露。不少受害者反饋,他們使用過多種不同的錢包,以移動端錢包為主,我們推測可能問題出現在軟件供應鏈上。在新證據被發現前,我們建議用戶先將熱錢包代幣轉移到硬件錢包或知名交易所等相對安全的位置,等待事件分析結果。[2022/8/3 2:55:22]
背景知識
慢霧:2021年上半年共發生78起區塊鏈安全事件,總損失金額超17億美元:據慢霧區塊鏈被黑事件檔案庫統計,2021年上半年,整個區塊鏈生態共發生78起較為著名的安全事件,涉及DeFi安全50起、錢包安全2起,公鏈安全3起,交易所安全6起,其他安全相關17起,其中以太坊上27起,幣安智能鏈(BSC)上22起,Polygon上2起,火幣生態鏈(HECO)、波卡生態、EOS上各1起,總損失金額超17億美元(按事件發生時幣價計算)。
經慢霧AML對涉事資金追蹤分析發現,約60%的資金被攻擊者轉入混幣平臺,約30%的資金被轉入交易所。慢霧安全團隊在此建議,用戶應增強安全意識,提高警惕,選擇經過安全審計的可靠項目參與;項目方應不斷提升自身的安全系數,通過專業安全審計機構的審計后才上線,避免損失;各交易所應加大反洗錢監管力度,進一步打擊利用加密資產交易的洗錢等違規行為。[2021/7/1 0:20:42]
要理解該事件需要讀者有一定的背景知識,現在的瀏覽器都有自帶的書簽管理器,在提供便利的同時卻也容易被攻擊者利用。通過精心構造惡意的釣魚頁面可以讓你收藏的書簽中插入一段JavaScript代碼,當受害者點擊書簽時會以當前瀏覽器標簽頁的域進行執行。
慢霧:yearn攻擊者利用閃電貸通過若干步驟完成獲利:2021年02月05日,據慢霧區情報,知名的鏈上機槍池yearnfinance的DAI策略池遭受攻擊,慢霧安全團隊第一時間跟進分析,并以簡訊的形式給大家分享細節,供大家參考:
1.攻擊者首先從dYdX和AAVE中使用閃電貸借出大量的ETH;
2.攻擊者使用從第一步借出的ETH在Compound中借出DAI和USDC;
3.攻擊者將第二部中的所有USDC和大部分的DAI存入到CurveDAI/USDC/USDT池中,這個時候由于攻擊者存入流動性巨大,其實已經控制CruveDAI/USDC/USDT的大部分流動性;
4.攻擊者從Curve池中取出一定量的USDT,使DAI/USDT/USDC的比例失衡,及DAI/(USDT&USDC)貶值;
5.攻擊者第三步將剩余的DAI充值進yearnDAI策略池中,接著調用yearnDAI策略池的earn函數,將充值的DAI以失衡的比例轉入CurveDAI/USDT/USDC池中,同時yearnDAI策略池將獲得一定量的3CRV代幣;
6.攻擊者將第4步取走的USDT重新存入CurveDAI/USDT/USDC池中,使DAI/USDT/USDC的比例恢復;
7.攻擊者觸發yearnDAI策略池的withdraw函數,由于yearnDAI策略池存入時用的是失衡的比例,現在使用正常的比例體現,DAI在池中的占比提升,導致同等數量的3CRV代幣能取回的DAI的數量會變少。這部分少取回的代幣留在了CurveDAI/USDC/USDT池中;
8.由于第三步中攻擊者已經持有了CurveDAI/USDC/USDT池中大部分的流動性,導致yearnDAI策略池未能取回的DAI將大部分分給了攻擊者9.重復上述3-8步驟5次,并歸還閃電貸,完成獲利。參考攻擊交易見原文鏈接。[2021/2/5 18:58:47]
動態 | 慢霧:9 月共發生 12 起較典型的安全事件,供應鏈攻擊趨勢愈發明顯:過去的 9 月區塊鏈生態共發生 12 起較典型的安全事件,包括:EOSPlay 遭受新型隨機數攻擊、資金盤項目 FairWin 智能合約權限管理缺陷、EOS 黑名單賬號 craigspys211 利用新晉 BP 黑名單缺陷轉移走 19.999 萬枚 EOS 等典型安全事件。此外,慢霧區塊鏈威脅情報(BTI)系統監測發現,針對區塊鏈生態的供應鏈攻擊越來越多,形如:去年 11 月慢霧披露的污染 NPM 模塊 EventStream、今年 7 月披露的對數字貨幣錢包 Agama 構建鏈的攻擊、今年 8 月披露的針對數字貨幣行情/導航站的 URL 劫持攻擊,還有 9 月慢霧披露的針對交易所使用的第三方統計、客服 js 的惡意代碼植入,進行實施盜幣攻擊。[2019/10/1]
以上圖為例,受害者打開了discord.com官網,并在這個頁面點擊了之前收藏的惡意的書簽“Hello,World!”從而執行了一個彈窗語句,可以發現執行的源顯示的是discord.com。
這里有一個域的概念,瀏覽器是有同源策略等防護策略的,按理不屬于discord.com做出的操作不應該在discord.com域的頁面有響應,但書簽卻繞過了這個限制。
可以預見書簽這么個小功能隱含的安全問題,正常添加書簽的方式會明顯看到書簽網址:
稍微有安全意識的讀者應該會直接看到網址信息明顯存在問題。
當然如果是一個構造好誘導你拖拽收藏到書簽欄到頁面呢?可以看到twitter鏈接中的演示視頻就是構造了這么個誘導頁面:”Dragthistoyourbookmarked”。
也就是拖著某個鏈接即可添加到書簽欄,只要釣魚劇本寫得足夠真實,就很容易讓安全意識不足的用戶中招。
要實現拖拽即可添加到書簽欄只需要構造一個a標簽,下面是示例代碼:
書簽在點擊時可以像在開發者工具控制臺中的代碼一樣執行,并且會繞過CSP(ContentSecurityPolicy)策略。
讀者可能會有疑問,類似“javascript:()”這樣的鏈接,在添加進入到瀏覽器書簽欄,瀏覽器竟然會沒有任何的提醒?
筆者這里以谷歌和火狐兩款瀏覽器來進行對比。
使用谷歌瀏覽器,拖拽添加正常的URL鏈接不會有任何的編輯提醒。
使用谷歌瀏覽器,拖拽添加惡意鏈接同樣不會有任何的編輯提醒。
使用火狐瀏覽器如果添加正常鏈接不會有提醒。
使用火狐瀏覽器,如果添加惡意鏈接則會出現一個窗口提醒編輯確認保存。
由此可見在書簽添加這方面火狐瀏覽器的處理安全性更高。
場景演示
演示采用的谷歌瀏覽器,在用戶登錄Web端Discord的前提下,假設受害者在釣魚頁面的指引下添加了惡意書簽,在Discord?Web端登錄時,點擊了該書簽,觸發惡意代碼,受害者的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機器人,在頻道里發布公告等虛假消息進行釣魚。
總結
攻擊時刻在發生,針對已經遭受到惡意攻擊的用戶,建議立刻采取如下行動進行補救:
1.立刻重置Discord賬號密碼。
2.重置密碼后重新登錄該Discord賬號來刷新Token,才能讓攻擊者拿到的Token失效。
3.刪除并更換原有的webhook鏈接,因為原有的webhook已經泄露。
4.提高安全意識,檢查并刪除已添加的惡意書簽。
作為用戶,重要的是要注意任何添加操作和代碼都可能是惡意的,Web上會有很多的擴展看起來非常友好和靈活。書簽不能阻止網絡請求,在用戶手動觸發執行的那一刻,還是需要保持一顆懷疑的心。
本文到這邊就結束了,慢霧安全團隊將會揭露更多關于黑暗森林的攻擊事件,希望能夠幫助到更多加密世界的人。
By:耀@慢霧安全團隊
頭條 ▌以太坊基金會運營報告:截至2022年一季度末財庫資金約16億美元,2021年共支出4800萬美元4月18日消息,以太坊基金會公布截至2022年第一季度的運營報告.
1900/1/1 0:00:00公鏈在區塊鏈世界猶如類似于操作系統平臺一樣的存在。以太坊憑借其智能合約、創新性及安全權性在眾多公鏈中脫穎而出,在其上構建了各式各樣的應用。
1900/1/1 0:00:00隨著越來越多的資本和品牌入局,“元宇宙”的熱度也被追捧到了新高。那么什么是元宇宙,普通人又該如何理解與融入呢? 什么是元宇宙? 元宇宙是利用科技手段進行鏈接與創造的,與現實世界映射和交互的虛擬世.
1900/1/1 0:00:00概要 民主與DAO之間的關系?這個話題在上周關于反侵占的對話中冒了出來,當時一位社區成員問道:“DAO是否可以看作是民主最先進的實例”.
1900/1/1 0:00:00伴隨著加密貨幣生態在近兩年的繁榮發展,數字資產正在從“早期采用者”階段走向“早期大眾”階段。按照獨立地址記,全球使用過以太坊上去中心化交易所的用戶數雖然在過去一年增長了4倍,但也僅有460萬.
1900/1/1 0:00:00Dep-DAO基于DREP底層公鏈發起的DAO組織生態,旨在打造一個去中心化組織,實施社區共建生態協同自治,在此基礎上DEP應運而生,搭載web3.0技術.
1900/1/1 0:00:00