区块链安全

对区块链用户钱包被盗的一次攻击溯源分析

最近我们SINE安全技术团队收到客户的求助,客户用了某些开源的代码后,自己的钱包被盗了,损失较大,经过我们的深入分析发现,客户是想找脚本去抢一些开盘的NFT,客户在github里找到了一个开源的脚本代码,于是就下载到了自己的服务器里,安装运行,并执行了该脚本。当上链交易成功后,客户钱包里的资金都被转走了。

640.png

这个黑客的攻击手法我们也溯源了一下,根据客户提供的github里的抢NFT脚本的URL地址,下载了该脚本,我们在本地进行了代码安全审计以及安全检测,发现确实被植入了后门,正常的开源项目是不会包含node_modules的,但这个开源的就有点可疑了,哪有无私奉献到这种地步,无利可图?通过检查脚本代码,并无发现任何后门,在这个依赖包里,我们发现了后门。

640 (1).png

攻击者更改了web3-eth这个包,将钓鱼变量置入到了这个thePending()函数里,其实就是等着链上成功交易的一个变量。它就会自动向攻击者发送用户的钱包私钥,进而窃取钱包里的资金。

这个黑客还是国内的,开源了许多工具和代码,大部分都是植入了木马后门用于盗取用户的私钥为主要的目的。建议大家以后不要随便的下载一些github里的开源代码和工具,有node_modules仓库的要注意,没有无私奉献到连这个也要上传到开源里。