文/Lisa&Kong
近期,我們發現多起關于eth_sign簽名的釣魚事件。
釣魚網站1:https://moonbirds-exclusive.com/
當我們連接錢包后并點擊Claim后,彈出一個簽名申請框,同時MetaMask顯示了一個紅色提醒警告,而光從這個彈窗上無法辨別要求簽名的到底是什么內容。
其實這是一種非常危險的簽名類型,基本上就是以太坊的“空白支票”。通過這個釣魚,騙子可以使用您的私鑰簽署任何交易。
除此之外,還有一種釣魚:在你拒絕上述的sign后,它會在你的MetaMask自動顯示另一個簽名框,趁你沒注意就騙到你的簽名。而看看簽名內容,使用了SetApprovalForAll方法,同時Approvedasset的目標顯示為AllofyourNFT,也就是說,一旦你簽名,騙子就可以毫無節制地盜走你的所有NFT。如下:
慢霧:過去一周加密領域因安全事件累計損失3060萬美元:7月24日消息,據慢霧統計,上周加密領域因遭遇攻擊累計損失3060萬美元,攻擊者利用了不同的攻擊向量。這些事件包括Alphapo熱錢包被盜(損失2300萬美元)、Conic Finance遭閃電貸攻擊(損失30萬美元)以及重入攻擊(損失320萬美元)、GMETA發生RugPull(損失360萬美元)、BNO遭閃電貸攻擊(損失50萬美元)等。[2023/7/24 15:55:56]
釣魚網站2:https://dooooodles.org/
我們使用MistTrack來分析下騙子地址:
慢霧:過去一周Web3生態因安全事件損失約2400萬美元:6月19日消息,據慢霧發推稱,過去一周Web3生態系統因安全事件損失約2400萬美元,包括Atlantis Loans、Ben Armstrong、TrustTheTrident、FPG、Sturdy、Pawnfi、Move VM、Hashflow、DEP/USDT與LEV/USDC、Midas Capital,總計23,795,800美元。[2023/6/19 21:46:18]
0xa594f48e80ffc8240f2f28d375fe4ca5379babc7
慢霧:昨日MEV機器人攻擊者惡意構造無效區塊,建議中繼運營者及時升級:金色財經報道,慢霧分析顯示,昨日MEV機器人被攻擊的問題原因在于即使信標區塊不正確,中繼仍將有效載荷(payload)返回給提議者,導致了提議者在另一個區塊被最終確定之前就能訪問區塊內容。攻擊者利用此問題,惡意構造了無效的區塊,使得該區塊無法被驗證,中繼無法進行廣播(狀態碼為202)從而提前獲得交易內容。mev-boost-relay昨日已緊急發布新版本緩解此問題,建議中繼運營者及時升級中繼。
據此前報道,昨日夾擊MEV機器人的惡意驗證者已被Slash懲罰并踢出驗證者隊列。[2023/4/4 13:43:37]
通過分析,騙子多次調用SetApprovalForAll盜取用戶資產,騙子地址目前已收到33個NFT,售出部分后獲得超4ETH。
慢霧:Nomad事件中仍有超過9500萬美元被盜資金留在3個地址中:8月2日消息,慢霧監測顯示,Nomad攻擊事件中仍有超過9500萬美元的被盜資金留在3個地址中。其中0xB5C55f76f90Cc528B2609109Ca14d8d84593590E中仍有1084枚ETH、120萬枚DAI、103枚WBTC等約800萬美元的加密資產,該地址也負責將1萬枚WETH轉移到另一地址以及將其他USDC轉移;第二個地址0x56D8B635A7C88Fd1104D23d632AF40c1C3Aac4e3目前仍有1.28萬枚ETH、1.02萬枚WETH、80萬DAI等約4700萬美元的加密資產;第三個地址0xBF293D5138a2a1BA407B43672643434C43827179在收到3866.6萬USDC后兌換為了DAI,目前有約3970萬美元的加密資產。
目前慢霧經過梳理后,無法將地址3與其他兩個地址連接起來,但這些攻擊具有相同的模式。[2022/8/2 2:53:04]
回到正題,我們來研究下這種釣魚方法。首先,我們看看MetaMask官方是如何說明的:
聲音 | 慢霧:ETDP錢包連續轉移近2000 ETH到Bitstamp交易所,項目方疑似跑路:據慢霧科技反洗錢(AML)系統監測顯示,自北京時間 12 月 16 日凌晨 2 點開始,ETDP 項目方錢包(地址 0xE1d9C35F…19Dc1C3)連續轉移近 2000 ETH 到 Bitstamp 交易所,另有 3800 ETH 分散在 3 個新地址中,未發生進一步動作。慢霧安全團隊在此提醒交易所、錢包注意加強地址監控,避免相關惡意資金流入平臺。[2019/12/16]
也就是說,MetaMask目前有六種簽名方法,只有一種方式會出現MetaMask警告,發生在eth_sign的簽名情況下,原因是eth_sign方法是一種開放式簽名方法,它允許對任意Hash進行簽名,這意味著它可用于對交易或任何其他數據進行簽名,從而構成危險的網絡釣魚風險。
根據MetaMask官方文檔說明,eth_sign方法是可以對任意哈希進行簽名的,而我們在簽署一筆交易時本質上也是對一串哈希進行簽名,只不過這中間的編碼過程都由MetaMask替我們處理了。我們可以再簡單回顧下從編碼到交易廣播的過程:
在進行交易廣播前,MetaMask會獲取我們轉賬的對象、轉賬的金額、附帶的數據,以及MetaMask自動幫我們獲取并計算的nonce、gasPrice、gasLimit參數進行RLP編碼得到原始交易內容。如果是合約調用,那么to即為合約地址,data即為調用數據。
rlp=require('rlp');//Usenon-EIP115standardconsttransaction={??nonce:'',??gasPrice:'',??gasLimit:'',??to:'0x',??value:'',??data:'0x'};//RLPencodeconstrawTransaction=rlp.encode();
隨后再對此內容進行keccak256哈希后得到一串bytes32的數據就是所需要我們簽名的數據了。
//?keccak256?encodeconst?msgHex?=?rawTransaction.toString('hex');const?msgHash?=?Web3.utils.keccak256('0x'+?msgHex);
我們使用MetaMask對這串數據簽名后就會得到r,s,v值,用這三個值再與nonce/gasPrice/gasLimit/to/value/data進行一次RLP編碼即可得到簽名后的原始交易內容了,這時候就可以廣播發出交易了。
rlp=require('rlp');consttransaction={??nonce:'',??gasPrice:'',??gasLimit:'',??to:'',??value:'',??data:'',??v:'',??r:'',??s:''};//RLPencodeconstsignedRawTransaction=rlp.encode();
而如上所述,eth_sign方法可以對任意哈希進行簽名,那么自然可以對我們簽名后的bytes32數據進行簽名。因此攻擊者只需要在我們連接DApp后獲取我們的地址對我們賬戶進行分析查詢,即可構造出任意數據讓我們通過eth_sign進行簽名。
這種釣魚方式對用戶會有很強的迷惑性,以往我們碰到的授權類釣魚在MetaMask會給我直觀的展示出攻擊者所要我們簽名的數據。如下所示,MetaMask展示出了此釣魚網站誘導用戶將NFT授權給惡意地址。
而當攻擊者使用eth_sign方法讓用戶簽名時,如下所示,MetaMask展示的只是一串bytes32的哈希。
總結
本文主要介紹eth_sign簽名方式的釣魚手法。雖然在簽名時MetaMask會有風險提示,但若結合釣魚話術干擾,沒有技術背景的普通用戶很難防范此類釣魚。建議用戶在遇到此類釣魚時提高警惕,?認準域名,仔細檢查簽名數據,必要時可以安裝安全插件,如:RevokeCash、ScamSniffer等,同時注意插件提醒。
Tags:ETATAMETHMETMETAD幣metamask小狐貍錢包安卓版ethw幣總量多少Meta Hangry Games
隱私賽道為何一直受到頂級風投青睞?細數發展脈絡和前景。原文標題:《TheSwordofDamoclesinBlockchain:PrivacyandRegulation》撰文:JimmyQi、S.
1900/1/1 0:00:00DeFi數據 1.DeFi代幣總市值:442.11億美元 DeFi總市值數據來源:coingecko2.過去24小時去中心化交易所的交易量29.
1900/1/1 0:00:009月20日,由萬向區塊鏈實驗室主辦的第八屆區塊鏈全球峰會在上海舉行。微軟CTO經濟學家及社會技術專家辦公室研究員RadicalxChange創始人—E.GlenWeyl在其演講中介紹了靈魂綁.
1900/1/1 0:00:00互聯網的許多早期支持者主張永遠保持自由和開放,使其成為全人類的無邊界和無監管的工具。在過去的20年里,隨著政府對濫用行為的打擊,這一愿景失去了一些明確性.
1900/1/1 0:00:00作者:SusanFeng美聯儲Minneapolis銀行行長NeelKashkari在周二重申美聯儲的緊縮政策.
1900/1/1 0:00:00僅靠一個項目上演逆襲好戲?熊市里,奇跡依然在不斷發生…加密錢包被盜事件越發頻繁,方式層出不窮,防不勝防。5月底,一個叫Hanwe的NFT玩家由于電腦中了木馬,被盜走了85ETH.
1900/1/1 0:00:00