后偷渡時(shí)代的盜幣方式之爆破攻擊區(qū)塊鏈
對(duì)于暫時(shí)無法關(guān)閉對(duì)公網(wǎng)暴露的RPC接口的節(jié)點(diǎn),在不使用personal.unlockAccount()的情況下,仍然存在被盜幣的可能。
對(duì)于暫時(shí)無法關(guān)閉對(duì)公網(wǎng)暴露的RPC接口的節(jié)點(diǎn),在不使用personal.unlockAccount()的情況下,仍然存在被盜幣的可能。
漏洞復(fù)現(xiàn)
被攻擊節(jié)點(diǎn)啟動(dòng)參數(shù)為:geth–testnet–rpc–rpcaddr 0.0.0.0–rpcapi eth,personal console
攻擊者的攻擊步驟為:
1.攻擊者探測(cè)到目標(biāo)開放了RPC端口->獲取當(dāng)前節(jié)點(diǎn)的區(qū)塊高度、節(jié)點(diǎn)上的賬戶列表以及各賬戶的余額。根據(jù)蜜罐捕獲的數(shù)據(jù),部分攻擊還會(huì)通過personal_listWallets接口進(jìn)行查詢,尋找當(dāng)前節(jié)點(diǎn)上已經(jīng)unlocked的賬戶。
2.調(diào)用personal_unlockAccount接口嘗試解密用戶賬戶。假如用戶使用了弱口令,攻擊者將會(huì)成功解鎖相應(yīng)賬戶。
3.攻擊者可以將解鎖賬戶中的余額全部轉(zhuǎn)給自己。
攻擊流程如下圖所示:
升級(jí)的爆破方式
根據(jù)偷渡漏洞的原理可以知道該攻擊方式有一個(gè)弊端:如果有兩個(gè)攻擊者同時(shí)攻擊一個(gè)節(jié)點(diǎn),當(dāng)一個(gè)攻擊者爆破成功,那么這兩個(gè)攻擊者都將可以取走節(jié)點(diǎn)中的余額。
誰付出了更多的手續(xù)費(fèi),誰的交易將會(huì)被先打包。這也陷入了一個(gè)惡性循環(huán),盜幣者需要將他們的利益更多地分給打包的礦工才能偷到對(duì)應(yīng)的錢。也正是因?yàn)檫@個(gè)原因,蜜罐捕獲到的爆破轉(zhuǎn)賬請(qǐng)求從最初的 personal_unlockAccount 接口逐漸變成了 personal_sendTransaction 接口。
personal_sendTransaction接口是Geth官方在2018/01新增了一個(gè)解決偷渡漏洞的RPC接口。使用該接口轉(zhuǎn)賬,解密出的私鑰將會(huì)存放在內(nèi)存中,所以不會(huì)引起偷渡漏洞相關(guān)的問題。攻擊者與時(shí)俱進(jìn)的攻擊方式不免讓我們驚嘆。
蜜罐捕獲攻擊JSON‐RPC相關(guān)數(shù)據(jù)分析
探測(cè)的數(shù)據(jù)包
對(duì)蜜罐捕獲的攻擊流量進(jìn)行統(tǒng)計(jì),多個(gè) JSON-RPC 接口被探測(cè)或利用:
其中eth_blockNumber、eth_accounts、net_version、personal_listWallets等接口具有很好的前期探測(cè)功能,net_version可以判斷是否是主鏈,personal_listWallets則可以查看所有賬戶的解鎖情況。
personal_unlockAccount、personal_sendTransaction、eth_sendTransaction等接口支持解鎖賬戶或直接進(jìn)行轉(zhuǎn)賬。
可以說,相比于第一階段的攻擊,后偷渡時(shí)代針對(duì)JSON-RPC的攻擊正呈現(xiàn)多元化的特點(diǎn)。
爆破賬號(hào)密碼
蜜罐在2018/05/24第一次檢測(cè)到通過unlockAccount接口爆破賬戶密碼的行為。截止2018/07/14蜜罐一共捕獲到809個(gè)密碼在爆破中使用。
攻擊者主要使用personal_unlockAccount接口進(jìn)行爆破,爆破的payload主要是:
在所有的爆破密碼中有一個(gè)比較特殊:ppppGoogle;該密碼在personal_unlockAccount和personal_sendTransaction接口均有被多次爆破的痕跡。
轉(zhuǎn)賬的地址
蜜罐捕獲到部分新增的盜幣地址有:
攻擊來源 IP
區(qū)塊鏈技術(shù)與虛擬貨幣的火熱,賦予了鏈上貨幣們巨大的經(jīng)濟(jì)價(jià)值,每個(gè)人都想在區(qū)塊鏈浪潮中分得一杯羹。黑客們更是如此,他們作為盜幣者,絞盡腦汁的想著各個(gè)角度攻擊區(qū)塊鏈與合約。當(dāng)黑客棲身于礦工,他們不但能挖出區(qū)塊,也能挖出漏洞。
1.TMT觀察網(wǎng)遵循行業(yè)規(guī)范,任何轉(zhuǎn)載的稿件都會(huì)明確標(biāo)注作者和來源;
2.TMT觀察網(wǎng)的原創(chuàng)文章,請(qǐng)轉(zhuǎn)載時(shí)務(wù)必注明文章作者和"來源:TMT觀察網(wǎng)",不尊重原創(chuàng)的行為TMT觀察網(wǎng)或?qū)⒆肪控?zé)任;
3.作者投稿可能會(huì)經(jīng)TMT觀察網(wǎng)編輯修改或補(bǔ)充。