主页 > 苹果可以下载imtoken钱包吗 > 黑客揭秘!扫码转账控制你的数字钱包
黑客揭秘!扫码转账控制你的数字钱包
介绍
近期,丢币、盗币事件频发,各种盗币方式层出不穷。 不得不说,这些攻击者很聪明。 这无疑给币圈朋友们敲响了警钟。
为了让大家对近期发生的盗币事件有一个清晰的认识,加强防范,本文总结了零时科技安全团队近期得到协助的盗币事件类型,大致可以分为以下四类:
下面简单介绍一下以上四种盗币过程:
冒充客服骗取私钥
1. 攻击者冒充客户潜伏在社区
2. 当用户在转账或提取收入时寻求帮助,攻击者会及时联系用户协助处理
3、通过耐心解答,发送工单系统伪装成去中心化桥梁,让用户输入助记词解决自己的交易异常
4、攻击者获取私钥后,窃取资产并封禁用户
二维码被盗事件
1、攻击者将预先准备好的恶意二维码发送给用户;
2、攻击者诱导用户使用钱包扫描二维码进行转账;
3、用户输入指定金额后确认转账交易(实际操作为用户批准授权攻击者USDT的过程);
4、随后什么钱包可以收usdt,用户钱包内大量USDT丢失(攻击者调用TransferFrom转出用户的USDT)。
获取空投窃取事件
1、攻击者冒充交易平台或DeFi项目;
2. 攻击者通过媒体社区发起空投活动;
3、攻击者诱导用户使用钱包扫描二维码领取空投;
4、用户扫码点击领取空投(其实也是用户批准授权攻击者USDT的过程);
5.然后从受害者账户转出大量USDT(攻击者调用TransferFrom转入用户的USDT)
交易所客服诈骗事件
1、攻击者冒充币安、火币等交易所客服;
2、攻击者告知用户账户异常并触发风控,需要解除异常状态才能使用资金;
3、攻击者客服诱导用户将资金转入安全账户(实际为黑客账户),并升级受害账户;
4. 用户转入安全账户后,攻击者立即封禁用户。
在上述盗币事件中,二维码盗币是目前发生频率最高的盗币事件类型,客户反馈也最多。 因此,本文将对扫码盗窃事件进行详细的分析和复现,让读者更清楚地了解此次攻击或盗币过程,防止资金被盗。
扫描被盗币过程分析
二维码被盗事件回顾 我们将从攻击者的角度来回顾一下二维码被盗的整个过程。
测试使用的攻击地址为:
TMmunHQsjSdUKZT1suksWBM7n6jVWkUGwL
攻击者在测试中使用的资产收款地址为:
TKjxdVUpyqwmqMGUh9kyRg196f1zesb3m9
测试使用的合约是TRON链上的USDT合约:
TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t
测试中使用的受害者地址为:
THcDZSMmGdecaB2uAygPvHM7uzdE2Z4U9p
第一步:攻击者制作扫码盗币二维码
这一步主要是让攻击者将token授权写入二维码中,这也是攻击成功最重要的基础功能。 在这一步中,攻击者需要创建自己的钱包地址,并调用USDT合约API和approve()接口。
二维码需要实现的功能:
// 调用TRON链上的USDT合约,调用合约的approve方法授权9000000000 USDT到攻击者地址。
USDTToken.approve(TMmunHQsjSdUKZT1suksWBM7n6jVWkUGwL, 9000000000)
之后在Web端实现该功能,最终得到盗币二维码如下:
第二步:攻击者制作后台提现功能
这一步是攻击者诱导用户对资金进行授权后的转账操作。 在这一步中,攻击者需要调用USDT合约API和transferfrom()接口。
后台提现中需要实现的功能如下:
// 调用TRON链上的USDT合约,调用合约的transferFrom方法,将大于0小于9000000000 USDT转入攻击者地址。
USDTToken.transferFrom(TMmunHQsjSdUKZT1suksWBM7n6jVWkUGwL, TKjxdVUpyqwmqMGUh9kyRg196f1zesb3m9, 0
第三步:攻击者将盗取的二维码发送给受害用户,诱导用户向二维码转账
这一步是攻击者要成功的最重要的一步。 如果受害者扫描二维码并转账,则转账成功; 否则,如果受害者不扫描二维码或转账,攻击就会失败。
因此,攻击者可能会通过各种手段诱导受害人扫码转账。 常用的归纳方法如下:
第四步:受害用户扫描二维码转账
这一步是受害用户执行的操作。 攻击者诱导用户同意扫描二维码转账后,会收到如下二维码:
用户用TokenPocket钱包扫码,会得到如下页面:
用户在这里的初衷是向二维码转账,但是这里需要注意的是,当用户输入要发送的转账金额时,这里执行的操作不是transfer转账,而是authorization approve,如下页所示:
我们在页面端可以更清楚的看到这一步执行的交易明细,如下图:
这里可以清楚的看到扫描二维码点击发送交易后,这里的请求方式是approve,授权地址是TMmunHQsjSdUKZT1suksWBM7n6jVWkUGwL,授权金额是9000000000.USDT,当然前提是用户的钱包有那么多资金,只要用户钱包里的USDT不超过900亿,就可以转出。 可以查询链上的此授权交易:
第五步:攻击者通过后台提取受害者的用户资金
这一步是攻击者的最后一步,也就是提取用户授予的USDT,如下图所示:
用户扫码转账(实际授权)后,攻击者后台会显示用户当前钱包授权的USDT数量。 这里可以看到用户钱包余额为1 USDT。 此时攻击者进行收款,即调用transferFrom to 将资金转入自己的钱包,如下图,并进行了3U和1U的两个测试,10%的手续费将最终返还后由平台扣除:
至此,攻击完成什么钱包可以收usdt,攻击者盗取了受害者钱包中剩余的USDT。 这只是对一个用户的测试,攻击者实际骗取的金额远不止于此。 整个盗币事件之所以得逞,仅仅是因为二维码中的approve授权,而如果用户在转账时仔细核对交易细节,可能会及时发现交易的套路,从而保护自己的利益。自有资金。
通过调查,我们了解到,目前扫码盗币的方式已经规模化,不仅支持波场链,还支持ETH链,形成了一个小型产业链:
该技术专门负责开发程序和构建自动化平台。 本平台可自动生成钓鱼二维码,生成代理账户,管理员可自动收缴受害者钱包资产;
代理负责推广平台生成的钓鱼二维码,然后让更多人扫描授权,成功后获得分红;
管理员获取收益,将授权成功的钱包资产转走,并向代理人进行分红(上述平台扣除10%的手续费向代理人进行分红);
管理员将被盗资产转移至其他交易平台进行资产兑换洗钱。
代码分析
这里我们从代码层面来分析原理,其实很简单:
首先,用户收到一个转账二维码,扫描后会进入这个页面:
在该页面输入转账金额,点击按钮时,会触发一个js操作,如下:
从这个js可以看出这不是转账,而是approve操作。
授权成功后,本平台后台可以自动收款,即通过transferfrom方法,将受害者钱包中的钱转出。
因此,整个过程是完全自动化的。
以上所有过程都是基于对USDT被盗过程的分析。 事实上,攻击者可以攻击任何合约Token,只需要修改合约Token的地址和abi即可。
为了广大币圈用户能够有效保护自己的资金资产,针对上述币圈被盗事件,零时科技安全团队给出如下建议:
安全建议
扫描关注零时技术服务号
实时掌握区块链安全威胁情报
出品 | 零时技术安全团队
·结尾·
过去的推荐