世界上有一群人,互联网对于他们来说就是提款机。
是的,过去是,现在更是,因为电子货币的出现,他们提款的速度变得更疯狂。
在2017年,我们的蜜罐监测到一起针对以太坊的全球大规模攻击事件,我们将其命名为以太坊“偷渡”漏洞。通过该漏洞,黑客可以在没有服务器权限、没有keystore密码权限的情况下,转走钱包中的所有余额。
而如此严重的漏洞,1年前就在reddit.com被曝光有黑客在利用,并且最早可追溯到2016年的2月14号就有黑客通过此漏洞窃取到比特币,近期也有中国的慢雾安全团队揭露了这种攻击手法:查看原文链接
在长达2年的时间里,并没有多少用户关注到,以太坊也没有进行针对性的防护措施,直到今日,以太坊的最新代码中依然没有能够抵御这种攻击。
最近一周,以太坊网络新增235.25万枚NFT资产:金色财经报道,NFTScan数据显示,最近一周,以太坊网络新增2352571枚NFT资产,平均每天新增铸造33.6万枚NFT资产。[2022/7/5 1:51:09]
因此我们决定将我们所掌握的详细数据公布给所有人,希望能促使以太坊的开发者承认并修复该漏洞。
漏洞成因
以太坊目前最流行的节点程序都提供了RPCAPI,用于对接矿池、钱包等其他第三方程序。
默认情况下,节点的RPC服务是无需密码就可以进行接口调用,官方实现的RPCAPI也并未提供设置RPC连接密码的功能,因此,一旦将RPC端口暴露在互联网,将会非常危险。
而我们所捕获的以太坊“偷渡”漏洞,正是利用了以太坊默认对RPC不做鉴权的设计。
CoinShares:Solana已成为以太坊有力的竞争对手:8月24日消息,欧洲数字资产投资平台CoinShares最近发布的数字资产资金流向报告中提到,Solana相关的投资产品上周吸引机构投资者投入710万美元资金,而与以太坊相关的投资产品只有320万美元资金流入。CoinShares强调,Solana已成为以太坊有力的竞争对手,相较于以太坊提供了更为灵活的基础设施和更快的交易结算。(Financemagnates)[2021/8/24 22:34:15]
被攻击的用户,需要具备以下条件:
1、节点的RPC端口对外开放2、节点的RPC端口可直接调用API,未做额外的鉴权保护3、节点的区块高度已经同步到网络的最新高度,因为需要在该节点进行转账,如果未达到最高度,无法进行转账
当用户对自己的钱包进行了解锁,在解锁超时期间,无需再输入密码,便可调用RPCAPI的eth_sendTransaction进行转账操作。
以太坊推送通知服务项目EPNS与Uniswap开展试点项目:金色财经报道,以太坊推送通知服务项目EPNS宣布与Uniswap共同开展试点项目,正合作开发核心EPNS协议。双方将合作为Web3与去中心化应用建立ETH通讯层。[2021/4/1 19:34:46]
漏洞的关键组成,由未鉴权的RPCAPI服务及解锁账户后有一定的免密码时间相结合,以下是解锁账户的unlockAccount函数:
代码路径:go-ethereum/internal/jsre/deps/api.go
通过函数的实现代码可见,解锁账户的api允许传入超时时间,默认超时为300秒,
真正进行解锁的函数TimedUnlock实现如下:
代码路径:go-ethereum/accounts/keystore/keystore.go
DeFi Bridge已于12月3日启动,FIL可在以太坊网络转换为renFIL:12 月 3 日,ConsenSys 去中心化金融项目 Codefi 宣布“DeFi Bridge”已经启动,Filecoin 代币 FIL 可在以太坊网络转换为 renFIL。[2020/12/3 23:00:06]
当传入的超时大于0时,会发起一个协程进行超时处理,如果传入的超时时间为0,则是永久不会超时,账户一直处于解锁状态,直到节点进程退出。
攻击手法揭秘
1.寻找对外开放以太坊RPC端口的服务器,确认节点已经达到以太坊网络的最高区块高度
黑客通过全球的端口服务扫描,发现RPC服务为以太坊的RPC接口时,调用eth_getBlockByNumber(‘last’,false),获取最新的区块高度。
PAX Treasury在以太坊网络增发682.9万枚BUSD:金色财经报道,Whale Alert数据显示,北京时间9月16日00:25,PAX Treasury在以太坊网络增发6,829,153枚BUSD,增发哈希为0x229d9e950da28012ac750d2d20f31b913aca9ed8034e40823a4b11a84e61e5dc。[2020/9/16]
但是由于有些以太节点是以太坊的分叉币,高度与以太坊的不一样,因此黑客即使发现节点高度与以太坊的高度不一样,也不会放弃攻击。
2.调用eth_accounts,获取该节点上的所有账户。
eth_accounts的请求将返回一个账户地址列表:
3.调用eth_getBalance,查询地址余额。
这个过程黑客可在自己的服务器完成以太坊的余额查询,因为以太坊的区块链账本数据库是随意公开获取的。
有部分黑客没有搭建以太坊的全节点,没有自行查询余额,因此也会在被攻击服务器进行eth_getBalance操作。
4.持续调用转账操作,直到刚好用户用密码解锁了钱包,完成非法转账操作的“偷渡”
黑客会构造eth_sendTransaction的转账操作,并填写余额、固定的手续费:
用户使用钱包,输入密码解锁了钱包,此时钱包余额会立即被转走。
快速漏洞测试
安装python的web3库,然后连接RPC端口,发起请求,如果获取到返回结果,便可能存在该漏洞。
参考:http://web3py.readthedocs.io/en/stable/quickstart....
fromweb3importWeb3,HTTPProvider,IPCProvider
web3=Web3(HTTPProvider(‘http://ip:port’))
web3.eth.blockNumber
黑客解密及IOCs情报
黑客钱包
目前我们掌握了3个黑客的钱包收款地址,未转走的账户余额为2220万美金:
https://etherscan.io/address/0x957cD4Ff9b3894FC78b...,余额为38,076ETH,最早进账为2016-2-14,最新进账为2018-3-21
https://etherscan.io/address/0x96a5296eb1d8f8098d3...,余额为321ETH,最早进账为2016-8-10,最新进账为2017-11-28。
https://etherscan.io/address/0xdc3431d42c0bf108b44...,余额为330ETH,最早进账为2018-2-06,最新进账为2018-3-20。
黑客攻击源IP
146.0.249.87162.251.61.133190.2.133.11485.14.240.84
目前大部分的黑客使用https://github.com/regcostajr/go-web3进行频繁API请求,如果有看到大量user-agent为“Go-http-client/1.1”的POST请求时,请记录下请求内容,确认是否为恶意行为。
紧急响应及修复建议
1,、关闭对外暴露的RPC端口,如果必须暴露在互联网,请使用鉴权:https://tokenmarket.net/blog/protecting-ethereum-j...2、借助防火墙等网络防护软件,封堵黑客攻击源IP3、检查RPC日志、web接口日志,是否有异常大量的频繁请求,检查请求内容是否为eth_sendTransaction4、等待以太坊更新最新代码,使用修复了该漏洞的节点程序
图片来源:视觉中国 一、比特币的应用场景与强监管风险1.1比特币是完美的违法交易支付工具比特币最大的作用是什么?我们可以通过一个简单的比特币应用场景来解释比特币的作用.
1900/1/1 0:00:00证券时报记者卓泳 新技术的出现往往挑逗人们的好奇心和求知欲,但同时也会让人在未知的世界中焦虑不安无所适从.
1900/1/1 0:00:00导读:Steem打造的是一个去中心化的社交平台,用户输出有价值的内容可以获得代币的奖励。背景:在互联网快速发展的今天,社交通讯成为生活生不可或缺的一部分,诸如微博,Facebook,推特等等社交.
1900/1/1 0:00:00摘要:进入2018年以来,区块链成为创投行业竞相追逐的风口,特别是三点钟无眠群的成立让投资热潮持续升温,而包括人民日报在内的官媒频频发出利好信号,让我们相信,属于“区块链的大时代”正在来临.
1900/1/1 0:00:00研究人员发现,SpriteCoin钱包将锁定您的文件并要求赎金。如果你付钱,黑客只是安装更多的恶意软件。一个恶意的软件声称可以帮助你存储一个名为SpriteCoin的加密货币.
1900/1/1 0:00:00今日,一篇名为《梁诗雅,我话208万祝你新婚快乐!》的文章刷爆了朋友圈,大概内容就是被女朋友嫌弃太穷而分手的男生在几年后因为手持的比特币升值而成为百万富翁,特意写信来告知将要结婚的前女友.
1900/1/1 0:00:00