原文作者:九九,慢雾安全团队
2022年6月27日,据慢雾区消息,XCarnival项目被曝出严重漏洞遭黑客攻击并盗走3,087个ETH。XCarnival是一个ETH链上的NFT借贷项目,目前项目团队正在修复漏洞并承诺会对受影响的用户提供解决方案。慢雾安全团队第一时间介入分析,并将结果分享如下:
相关信息
核心合约地址
P2Controller:
0x34ca24ddcdaf00105a3bf10ba5aae67953178b85
XNFT:
0x39360AC1239a0b98Cb8076d4135d0F72B7fd9909
xToken:
0x5417da20aC8157Dd5c07230Cfc2b226fDCFc5663
攻击者EOA地址
慢雾:Apple Store恶意钓鱼程序可模仿正常应用程序,盗取账号密码以绕过2FA:7月25日消息,慢雾首席信息安全官23pds发推提醒用户注意Apple ID出现的最新攻击案例,其中Apple Store出现恶意钓鱼程序,通过模仿正常应用程序盗取用户账号和密码,然后攻击者把自己的号码加入双重认证的信任号码,控制账号权限,用来绕过苹果的2FA。“加密货币用户务必注意,因为目前有不少用户、钱包的备份方案是iCloud备份,一旦被攻击,可能造成资产损失”。[2023/7/25 15:56:56]
0xb7cbb4d43f1e08327a90b32a8417688c9d0b800a
攻击合约地址
0xf70F691D30ce23786cfb3a1522CFD76D159AcA8d
0x234e4B5FeC50646D1D4868331F29368fa9286238
0x7B5A2F7cd1cc4eEf1a75d473e1210509C55265d8
慢雾:过去一周Web3生态系统因安全事件损失近160万美元:6月26日消息,慢雾发推称,过去一周Web3生态系统因安全事件损失近160万美元,包括MidasCapital、Ara、VPANDADAO、Shido、Slingshot、IPO、Astaria。[2023/6/26 22:00:21]
0xc45876C90530cF0EE936c93FDc8991534F8A6962
漏洞核心点分析
1.攻击者通过XNFT合约中的pledgeAndBorrow函数来进行抵押NFT并借出xToken。
慢雾:警惕Web3钱包WalletConnect钓鱼风险:金色财经报道,慢雾安全团队发现 Web3 钱包上关于 WalletConnect 使用不当可能存在被钓鱼的安全风险问题。这个问题存在于使用移动端钱包 App 内置的 DApp Browser + WalletConnect 的场景下。
慢雾发现,部分 Web3 钱包在提供 WalletConnect 支持的时候,没有对 WalletConnect 的交易弹窗要在哪个区域弹出进行限制,因此会在钱包的任意界面弹出签名请求。[2023/4/17 14:08:53]
在pledgeInternal函数中转入NFT并生成订单:
慢雾:Harmony Horizon bridge遭攻击简析:据慢雾安全团队消息,Harmony Horizon bridge 遭到黑客攻击。经慢雾 MistTrack 分析,攻击者(0x0d0...D00)获利超 1 亿美元,包括 11 种 ERC20 代币、13,100 ETH、5,000 BNB 以及 640,000 BUSD,在以太坊链攻击者将大部分代币转移到两个新钱包地址,并将代币兑换为 ETH,接着将 ETH 均转回初始地址(0x0d0...D00),目前地址(0x0d0...D00)约 85,837 ETH 暂无转移,同时,攻击者在 BNB 链暂无资金转移操作。慢雾 MistTrack 将持续监控被盗资金的转移。[2022/6/24 1:28:30]
2.接着调用withdrawNFT函数提取出质押的NFT,其中首先判断该订单是否被清算状态,如果不是则判断该订单的状态是否为NFT还未被提取且借款金额为0,如果通过即可提取抵押的NFT。
慢雾:iCloud 用戶的MetaMask钱包遭遇钓鱼攻击是由于自身的安全意识不足:据官方消息,慢雾发布iCloud 用戶的MetaMask钱包遭遇钓鱼攻击简析,首先用户遭遇了钓鱼攻击,是由于自身的安全意识不足,泄露了iCloud账号密码,用户应当承担大部分的责任。但是从钱包产品设计的角度上分析,MetaMask iOS App 端本身就存在有安全缺陷。
MetaMask安卓端在AndroidManifest.xml中有android:allowBackup=\"false\" 来禁止应用程序被用户和系统进行备份,从而避免备份的数据在其他设备上被恢复。
MetaMask iOS端代码中没有发现存在这类禁止钱包数据(如 KeyStore 文件)被系统备份的机制。默认情况下iCloud会自动备份应用数据,当iCloud账号密码等权限信息被恶意攻击者获取,攻击者可以从目标 iCloud 里恢复 MetaMask iOS App 钱包的相关数据。
慢雾安全团队经过实测通过 iCloud 恢复数据后再打开 MetaMask 钱包,还需要输入验证钱包的密码,如果密码的复杂度较低就会存在被破解的可能。[2022/4/18 14:31:38]
3.以上为攻击前生成订单的准备操作,接着攻击者开始利用生成的订单直接调用xToken合约中的borrow函数进行借款。
在borrowInternal函数中,会外部调用controller合约中的borrowAllowed函数来判断是否可以借款。
可以看到在borrowAllowed函数会调用orderAllowed函数进行订单相关信息的判断,但是在这两个函数中均没有进行_order.isWithdraw状态的判断。因此攻击者可以利用之前生成的订单来调用XToken的borrow函数来借款,而因为抵押的NFT在之前已经被提出,故攻击者可以不用还款来实现获利。
攻击交易分析
此处仅展示其中一笔攻击交易的细节,其余攻击交易的手法均一致,不再赘述。
攻击前准备——生成订单的交易:
0x61a6a8936afab47a3f2750e1ea40ac63430a01dd4f53a933e1c25e737dd32b2f
1.首先攻击者将NFT转入攻击合约并进行授权,接着调用xNFT合约中的pledgeAndBorrow函数在进行抵押NFT生成订单并借款的操作,此处需要注意一点是该函数可以控制传入的xToken,攻击者传入了自己构造的xToken合约地址,并且让借款数量为0,目的是为了满足后续能成功提出NFT时的不被清算且负债为0的条件。
2.攻击者紧接着调用withdrawNFT函数来进行提取抵押的NFT:
正式攻击交易:
0x51cbfd46f21afb44da4fa971f220bd28a14530e1d5da5009cfbdfee012e57e35
攻击者调用xToken合约的borrow函数,传入之前生成的订单的orderID,重复了该操作22次,而因为NFT在准备阶段已经提走,估计无需还款以此来获利。
总结
本次漏洞的核心在于借款的时候,没有进行订单中NFT是否被提走的状态的判断,导致攻击者可以在把NFT提走之后再利用之前生成的订单来借款而无需还款,以此来获利。针对此类漏洞,慢雾安全团队建议在进行借款操作时应做好订单状态中是否已经提走抵押品的判断,避免再次出现此类问题。
北京时间2022年7月6日18:18:26和2022年7月6日上午18:37:59,一个假冒的ShadeInuToken项目部署者从流动性池中移除大量的流动性.
1900/1/1 0:00:00一批Web2游戏风云人物,跑步入局Web3。作者?|?林檎编辑?|梓首图来源:Pinterest今年夏天,Web3的热度也在随着气温而升高.
1900/1/1 0:00:00链上游戏设计要基于链上环境,基于第一性原理的游戏设计思路。撰文:空岛,ParallelVentures投资经理随着熊市的深入,市场越发的无聊了,之前的主流叙事都尽显疲态,Defi的发展陷入了瓶颈.
1900/1/1 0:00:00随着2022年上半年的结束,比特币已经锁定了历史上最差的月度价格表现之一。在过去的30天里,价格下跌了37.9%,仅次于2011年的熊市,成为历史上最糟糕的月份之一.
1900/1/1 0:00:007月3日,港股上市公司美图发布内幕消息及盈利警告公告,指出截至2022年6月30日,公司可能录得约人民币2.749亿元至3.499亿元之间的净亏损.
1900/1/1 0:00:00背景信息2022年?7月10号,一个火热的NFT项目TheSaudis开启了freemint活动.
1900/1/1 0:00:00