http://www.7klian.com

揭秘以太坊中暗藏多年的“偷渡”裂痕,全球黑客正在猖獗偷币

是的,已往是,此刻更是,因为电子钱币的呈现,他们提款的速度变得更猖獗。

在 2017 年,我们的蜜罐监测到一起针对以太坊的全球大局限进攻事件,我们将其定名为以太坊“偷渡”裂痕。

快速裂痕测试

安装 python 的 web3 库,然后毗连 RPC 端口,提倡请求,假如获取到返回功效,便大概存在该裂痕。

今朝大部门的黑客利用 https://github.com/regcostajr/go-web3 举办频繁 API 请求,假如有看到大量 user-agent 为
{“jsonrpc”:”2.0″,”id”:2,”method”:”eth_sendTransaction”,”params”:[{“from”:”受害者钱包地点 3″,”gas”:”0x55f0″,”to”:”0xdc3431d42c0bf108b44cb48bfbd2cd4d392c32d6″,”value”:”0x112345fc212345000″}]}

因此我们抉择将我们所把握的具体数据发布给所有人,但愿能促使以太坊的开拓者认可并修复该裂痕。

print web3.eth.blockNumber

具体的用法参考官方文档:

https://etherscan.io/address/0xdc3431d42c0bf108b44cb48bfbd2cd4d392c32d6,余额为 330 ETH (未统计 erc20 token),最早进账为 2018-2-06,最新进账为 2018-3-20。

裂痕的要害构成,由未鉴权的 RPC API 处事及解锁账户后有必然的免暗码时间相团结,以下是解锁账户的 unlockAccount 函数:

以太坊今朝最风行的节点措施(Geth/Parity )都提供了 RPC API,用于对接矿池、钱包等其他第三方措施。

期待以太坊更新最新代码,利用修复了该裂痕的节点措施

黑客会结构 eth_sendTransaction 的转账操纵,并填写余额、牢靠的手续费:

可是由于有些以太节点是以太坊的分叉币,高度与以太坊的纷歧样,因此黑客纵然发明节点高度与以太坊的高度纷歧样,也不会放弃进攻。

3. 挪用 eth_getBalance,查询地点余额。

0x112345fc212345000

被进攻的用户,需要具备以下条件:

今朝我们把握了 3 个黑客的钱包收款地点,未转走的账户余额为 2220 万美金:

API 的 eth_sendTransaction 举办转账操纵。

2. 挪用 eth_accounts,获取该节点上的所有账户。

节点的 RPC 端口对外开放

近期也有中国的慢雾安详团队揭破了这种进攻手法:

{“jsonrpc”:”2.0″,”id”:2,”method”:”eth_sendTransaction”,”params”:[{“from”:”受害者钱包地点 1″,”gas”:”0x55f0″,”to”:”0xdc3431d42c0bf108b44cb48bfbd2cd4d392c32d6″,”value”:”0x112345fc212345000″}]}

当用户对本身的钱包举办相识锁(unlockAccount 函数),在解锁超时期间,无需再输入暗码,便可挪用 RPC

eth_accounts 的请求将返回一个账户地点列表:[0x1834axxxxxxxxxxxxxxxxxxxxxxxxxxx,0xa13jkcxxxxxxxxxxxxxxxxxxxxxxxxxxx,…… ]

85.14.240.84 (德国北莱茵)

19758522752314920960L
190.2.133.114 (库拉索)

当传入的超时大于 0 时,会提倡一个协程举办超时处理惩罚,假如传入的超时时间为 0,则是永久不会超时,账户一直处于解锁状态,直到节点历程退出。

黑客通过全球的端口处事扫描,发明 RPC 处事为以太坊的 RPC 接口时,挪用 eth_getBlockByNumber(‘last’,false),获取最新的区块高度。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

相关文章阅读