作者:耀@慢霧安全團隊背景
區塊鏈的世界遵循黑暗森林法則,在這個世界我們隨時可能遭受到來自不明的外部攻擊,作為普通用戶不進行作惡,但是了解黑客的作惡的方式是十分必要的。慢霧安全團隊此前發布了區塊鏈黑暗森林自救手冊,其中提到了不少關于針對NFT項目方的Discord進行攻擊的手法,為了幫助讀者對相關釣魚方式有更清晰的認知,本文將揭露其中一種釣魚方法,即通過惡意的書簽來盜取項目方Discord賬號的Token,用來發布虛假信息等誘導用戶訪問釣魚網站,從而盜取用戶的數字資產。釣魚事件
先來回顧一起Discord釣魚事件:2022年3月14日,一則推特稱NFT項目WizardPass的Discord社區被詐騙者入侵,目前已造成BAYC、Doodles、CloneX等NFT被盜,詳情如下:
慢霧:DEUS Finance 二次被黑簡析:據慢霧區情報,DEUS Finance DAO在4月28日遭受閃電貸攻擊,慢霧安全團隊以簡訊的形式將攻擊原理分享如下:
1.攻擊者在攻擊之前先往DeiLenderSolidex抵押了SolidexsAMM-USDC/DEI的LP。
2.在幾個小時后攻擊者先從多個池子閃電貸借出143200000USDC。
3.隨后攻擊者使用借來的USDC在BaseV1Pair進行了swap操作,兌換出了9547716.9個的DEI,由于DeiLenderSolidex中的getOnChainPrice函數是直接獲取DEI-USDC交易對的代幣余額進行LP價格計算。因此在此次Swap操作中將拉高getOnChainPrice函數獲取的LP價格。
4.在進行Swap操作后,攻擊者在DeiLenderSolidex合約中通過borrow函數進行借貸,由于borrow函數中用isSolvent進行借貸檢查,而在isSolvent是使用了getOnChainPrice函數參與檢查。但在步驟3中getOnChainPrice的結果已經被拉高了。導致攻擊者超額借出更多的DEI。
5.最后著攻擊者在把用借貸出來DEI兌換成USDC歸還從幾個池子借出來的USDC,獲利離場。
針對該事件,慢霧安全團隊給出以下防范建議:本次攻擊的原因主要在于使用了不安全的預言機來計算LP價格,慢霧安全團隊建議可以參考Alpha Finance關于獲取公平LP價格的方法。[2022/4/28 2:37:18]
聲音 | 慢霧:EOS假充值紅色預警后續:慢霧安全團隊今早發布了 EOS 假充值紅色預警后,聯合 EOSPark 的大數據分析系統持續跟蹤和分析發現:從昨日開始,存在十幾個帳號利用這類攻擊技巧對數字貨幣交易所、錢包等平臺進行持續性攻擊,并有被真實攻擊情況。慢霧安全團隊在此建議各大交易所、錢包、DApp 做好相關防御措施,嚴格校驗發送給自己的轉賬交易在不可逆的狀態下確認交易的執行狀態是否為 executed。除此之外,確保以下幾點防止其他類型的“假充值”攻擊: 1. 判斷 action 是否為 transfer 2. 判斷合約賬號是否為 eosio.token 或其它 token 的官方合約 3. 判斷代幣名稱及精度 4. 判斷金額 5. 判斷 to 是否是自己平臺的充幣賬號。[2019/3/12]
書簽在點擊時可以像在開發者工具控制臺中的代碼一樣執行,并且會繞過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上會有很多的擴展看起來非常友好和靈活。書簽不能阻止網絡請求,在用戶手動觸發執行的那一刻,還是需要保持一顆懷疑的心。
撰寫:WilliamM.Peaster編譯:TechFlowintern"想象一下《星球大戰》或《權力的游戲》,如果該項目不是由迪斯尼或HBO擁有.
1900/1/1 0:00:00「我只知道一件事,那就是我一無所知」——蘇格拉底在今天的文章中,我將剖析有史以來最強大但經常被誤解的密碼學工具之一:零知識證明.
1900/1/1 0:00:00@“雙面惡魔” 2017年6月21日。伯明翰大學一間樸素的辦公室被人猛地推開。幾個便衣警察徑直走向一位穿著廉價黃色T恤,發際線明顯后移的老師——馬修·福爾德.
1900/1/1 0:00:00文章提要NFT賽道分析 回首2021,無疑是NFT賽道里程碑式的一年,它像一場風暴,以迅雷不及掩耳的態勢席卷了全球.
1900/1/1 0:00:00撰文:0x21&0x555,律動BlockBeats4月初,Azuki所帶來的空投,又一次點燃了市場的情緒,以Azuki、CloneX為首的藍籌NFT項目又迎來了一波的上漲.
1900/1/1 0:00:00CurveWar一直是去中心化金融中最受關注的話題之一。造成這種沖突的原因是協議希望他們的代幣具有深度流動性.
1900/1/1 0:00:00