背景概述
2022年8月3日,Solana公链上发生大规模盗币事件,大量用户在不知情的情况下被转移SOL和SPL代币。慢雾安全团队第一时间介入分析,并在Slope团队的邀请下对Slope钱包应用进行分析,分析表明:Slope钱包在2022年6月24日及之后发布的版本存在向第三方应用监控服务发送私钥或助记词信息的现象。
但从对Slope钱包应用进行调查到现在,无法明确证明此次事件的根源就是Slope钱包的问题,于是慢雾安全团队开始对Slope的服务器进行分析取证。
分析过程
事件发生之后各方的关注点主要聚焦在调查本次事件的根源以及资金的追踪和挽救的可能性。于是慢雾安全团队制定相关的计划,开始从链下和链上两个部分着手调查和分析。
在事件根源调查这个方向上,慢雾安全团队重点专注在对Slope服务器的分析取证。这里面有大量且复杂的工作需要推进,也需要有更多明确的证据来解释这次的大规模盗币事件的根源。
资金追踪和挽救的可能性这部分工作,慢雾安全团队主要依靠MistTrack的追踪分析能力、标签数据能力并结合情报能力,尽最大的努力识别和追踪黑客的链上行为。并且也和Slope团队沟通交流挽救的可能性,Slope团队也在尝试与黑客沟通希望通过发布漏洞赏金的方式,鼓励黑客归还资产,共同维护Solana这个生态的健康发展。
本篇仅向社区用户同步阶段性的调查情况,还有很多的分析工作正在进行,并且不断推进。各方人员不仅是慢雾,还有其他第三方安全团队,以及一些特殊力量也在努力帮忙调查中,希望这次事件最终能够有相对明确的结论。
注:本文所提到的Sentry服务指的是Slope团队私有化部署的Sentry服务,并非使用Sentry官方提供的接口和服务。
慢雾:攻击Ronin Network的黑客地址向火币转入3750枚 ETH:3月30日消息,慢雾发推称,攻击Axie Infinity侧链Ronin Network的黑客地址向交易所火币转入3750枚ETH。此前金色财经报道,Ronin桥被攻击,17.36万枚ETH和2550万USDC被盗。[2022/3/30 14:26:38]
一些疑问点
在同步分析的情况之前,我们先来回答上篇文章的分析过程中的一些疑问点:
1.Sentry的服务收集用户钱包助记词的行为是否属于普遍的安全问题?
答:Sentry主要用于收集相关应用服务在运行状态时出现的异常或者错误日志信息,在配置错误的情况下,可能会收集到预期之外的数据,如:私钥或助记词等信息,因此并非普遍存在的安全问题。开发人员在使用第三方应用监控服务切记不能在生成环境中开启Debug模式。
2.Phantom使用了Sentry,那么Phantom钱包会受到影响吗?
答:虽然Phantom使用了第三方应用监控服务但是慢雾安全团队通过对Phantom钱包历史各版本的监测,并未明显发现Sentry上传私钥/助记词的行为。
3.SolanaFoundation提供的调研数据显示本次事件近60%被盗用户使用Phantom钱包,30%左右地址使用Slope钱包,其余用户使用TrustWallet等,那这60%被盗用户被黑的原因是什么呢?
答:经过比对发现服务器上的私钥和助记词派生出来的地址与受害者地址有交集的有5个ETH地址和1388个Solana地址。目前的调查情况看,还没有明确的证据能够解释另外部分用户钱包被黑的原因。
4.Sentry作为一个使用非常广泛的服务,会不会是Sentry官方遭遇了入侵?从而导致了定向入侵加密货币生态的攻击?
慢雾:BSC链上项目BXH遭受攻击分析:10月30日消息,据慢雾区情报,2021年10月30日,币安智能链上(BSC)去中心化交易协议BXH项目遭受攻击,被盗约1.3亿美金。经慢雾安全团队分析,黑客于27日13时(UTC)部署了攻击合约0x8877,接着在29日08时(UTC)BXH项目管理钱包地址0x5614通过grantRole赋予攻击合约0x8877管理权限。30日03时(UTC)攻击者通过攻击合约0x8877的权限从BXH策略池资金库中将其管理的资产转出。30日04时(UTC)0x5614暂停了资金库。因此BXH本次被盗是由于其管理权限被恶意的修改,导致攻击者利用此权限转移了项目资产。[2021/10/30 6:22:02]
答:目前暂无证据表明Sentry官方遭到了入侵和攻击,Slope钱包使用的Sentry是内部搭建的服务,因此和官方服务被入侵无直接关系。
链下分析部分
链下部分慢雾安全团队主要聚焦排查链下服务器、相关后台等被入侵的可能性,工作的重点是对Slope服务器进行外围服务器资产风险排查,服务器的入侵痕迹排查,Sentry数据库分析,服务器镜像分析,DNS劫持的可能性分析。如下是排查和分析的情况:
1.外围服务器资产风险排查
Slope团队知道Slope钱包回传助记词和私钥信息之后,第一时间就关停了Slope钱包相关的服务。因此Slope钱包相关的服务已经不能通过直接访问,慢雾安全团队依靠互联网搜索引擎等工具对Slope外围服务器资产进行信息收集,包括slope.finance域名下的子域名和IP等进行模拟渗透测试分析,排查从外围可能存在的入侵风险点,通过分析和渗透测试并未发现存在可被直接入侵的风险点。
2.服务器的入侵痕迹排查
慢雾:Avalanche链上Zabu Finance被黑简析:据慢雾区情报,9月12日,Avalanche上Zabu Finance项目遭受闪电贷攻击,慢雾安全团队进行分析后以简讯的形式分享给大家参考:
1.攻击者首先创建两个攻击合约,随后通过攻击合约1在Pangolin将WAVAX兑换成SPORE代币,并将获得的SPORE代币抵押至ZABUFarm合约中,为后续获取ZABU代币奖励做准备。
2.攻击者通过攻击合约2从Pangolin闪电贷借出SPORE代币,随后开始不断的使用SPORE代币在ZABUFarm合约中进行`抵押/提现`操作。由于SPORE代币在转账过程中需要收取一定的手续费(SPORE合约收取),而ZABUFarm合约实际接收到的SPORE代币数量是小于攻击者传入的抵押数量的。分析中我们注意到ZABUFarm合约在用户抵押时会直接记录用户传入的抵押数量,而不是记录合约实际收到的代币数量,但ZABUFarm合约在用户提现时允许用户全部提取用户抵押时合约记录的抵押数量。这就导致了攻击者在抵押时ZABUFarm合约实际接收到的SPORE代币数量小于攻击者在提现时ZABUFarm合约转出给攻击者的代币数量。
3.攻击者正是利用了ZABUFarm合约与SPORE代币兼容性问题导致的记账缺陷,从而不断通过`抵押/提现`操作将ZABUFarm合约中的SPORE资金消耗至一个极低的数值。而ZABUFarm合约的抵押奖励正是通过累积的区块奖励除合约中抵押的SPORE代币总量参与计算的,因此当ZABUFarm合约中的SPORE代币总量降低到一个极低的数值时无疑会计算出一个极大的奖励数值。
4.攻击者通过先前已在ZABUFarm中有进行抵押的攻击合约1获取了大量的ZABU代币奖励,随后便对ZABU代币进行了抛售。
此次攻击是由于ZabuFinance的抵押模型与SPORE代币不兼容导致的,此类问题导致的攻击已经发生的多起,慢雾安全团队建议:项目抵押模型在对接通缩型代币时应记录用户在转账前后合约实际的代币变化,而不是依赖于用户传入的抵押代币数量。[2021/9/12 23:19:21]
主要对第三方应用监控服务器进行内部排查,包括服务器登录日志,系统历史操作命令,可疑进程,可疑网络连接,可疑系统计划任务,数据删除和获取操作等,服务器内部还有5个Docker服务也进行同样的入侵痕迹排查。排查发现几个可疑登录IP为:113.*.*.*,114.*.*.*,153.*.*.*,这些IP是在06.24之前访问过第三方应用监控服务的后台。虽然这发生在回传私钥和助记词的时间之前,但是仍然存在可疑。
动态 | 慢雾:Electrum“更新钓鱼”盗币攻击补充预警:Electrum 是全球知名的比特币轻钱包,支持多签,历史悠久,具有非常广泛的用户群体,许多用户喜欢用 Electrum 做比特币甚至 USDT(Omni) 的冷钱包或多签钱包。基于这种使用场景,Electrum 在用户电脑上使用频率会比较低。Electrum 当前最新版本是 3.3.8,而已知的 3.3.4 之前的版本都存在“消息缺陷”,这个缺陷允许攻击者通过恶意的 ElectrumX 服务器发送“更新提示”。这个“更新提示”对于用户来说非常具有迷惑性,如果按提示下载所谓的新版本 Electrum,就可能中招。据用户反馈,因为这种攻击,被盗的比特币在四位数以上。本次捕获的盗币攻击不是盗取私钥(一般来说 Electrum 的私钥都是双因素加密存储的),而是在用户发起转账时,替换了转账目标地址。在此我们提醒用户,转账时,需要特别注意目标地址是否被替换,这是近期非常流行的盗币方式。并建议用户使用 Ledger 等硬件钱包,如果搭配 Electrum,虽然私钥不会有什么安全问题,但同样需要警惕目标地址被替换的情况。[2020/1/19]
3.PostgreSQL数据库分析
由于助记词和私钥被Slope钱包的第三方应用监控服务回传到服务器上,所以慢雾安全团队也对服务器中可能存在私钥或助记词的位置进行了分析,分析发现私钥或助记词较大可能会留存在如下位置:
Sentry的数据库表中
PostgreSQL的数据库日志中
镜像磁盘已删除的数据中
Docker运行时的数据文件中
在分析过程中发现第三方应用监控服务采用了PostgreSQL数据库,其中nodestore_node表的data字段里发现存在第三方应用监控服务采集的私钥和助记词数据。经过分析调查得到以下信息:
分析 | 慢雾:攻击者拿下了DragonEx尽可能多的权限 攻击持续至少1天:据慢雾安全团队的链上情报分析,从DragonEx公布的“攻击者地址”的分析来看,20 个币种都被盗取(但还有一些DragonEx可交易的知名币种并没被公布),从链上行为来看攻击这些币种的攻击手法并不完全相同,攻击持续的时间至少有1天,但能造成这种大面积盗取结果的,至少可以推论出:攻击者拿下了DragonEx尽可能多的权限,更多细节请留意后续披露。[2019/3/26]
私钥和助记词数据内容在nodestore_node表的数据库记录时间为2022.7.28-2022.8.5。
慢雾安全团队通过对数据解密和分析,发现私钥或助记词数据内容中记录的最早是2022.6.29上传的数据,也就是说Sentry在6月29号采集的数据延迟了一个月的时间才在2022.7.28开始陆续被存储到了PostgreSQL数据库的nodestore_node表,但是这部分延时的数据占较少,大部分的私钥和助记词采集的时间是集中在2022.07.28-2022.08.05。
进一步排查数据库操作日志,发现在7.28之前nodestore_node表存在SQL语句执行失败的记录,原因是键值冲突,经过深入排查和沟通发现是由于Kafka服务出错导致没有进行数据写入。
由于部分数据在日志记录和数据恢复的时候暂时不能恢复出完整的数据,需要进一步对数据进行修复,因此优先解密可以被完整恢复的数据,解密出来的地址数量为189个ETH地址和4914个Solana地址,有5073组助记词,而链上黑客事件的钱包地址有42个ETH地址和9231个Solana地址,经过比对发现服务器上的私钥和助记词派生出来的地址与受害者有交集的地址有5个ETH地址和1388个Solana地址。
在数据库操作日志中还发现另一个内部测试的应用com.slope.game在3月份也存在私钥和助记词的上报数据,该内部测试应用并未对外发布。
4.服务器镜像分析
慢雾安全团队对Sentry的云服务器的镜像进行分析,并对服务器磁盘已删除的数据进行恢复,并在恢复后的数据中发现了私钥和助记词信息。
5.DNS劫持的可能性分析
慢雾安全团队通过各方的能力以及全球情报资源,包括对DNS解析数据查询和分析,目前暂无明确证据能够证明域名o7e.slope.finance曾经发生过DNS劫持事件。
链下调查和分析的阶段性结论:
就现阶段的调查和分析的情况看,未发现外围服务器可以直接被入侵的风险点;未发现服务器被入侵的痕迹但是对可疑IP仍需要继续调查;DNS劫持的可能性较小;已在数据库表、数据库日志文件、磁盘已删除文件恢复后的数据中发现了私钥和助记词信息。
链上分析部分
链上部分主要聚焦于风险资金评估、被盗资金转移和黑客痕迹分析,重点梳理分析了以下几点内容:
1.风险资金评估
根据Solana链、ETH链、BSC链的被盗资金情况,慢雾安全团队将风险资金分为以下两类:
风险资金:黑客具有地址权限的资金。
疑似风险资金:黑客可能具有地址权限的资金。
根据以下地址列表进行风险资金评估:
被盗地址助记词映射到其他链的地址
被盗地址助记词通过派生路径推导出来的地址
排除风险资金地址列表,根据以下地址列表进行疑似风险资金评估:
Slope服务器上存在助记词/私钥记录的地址
Slope服务器上存在的助记词映射到其他链的地址
Slope服务器上存在的助记词通过派生路径推导出来的地址
未发现大额可转移风险的资金和可能存在风险的资金。
2.被盗资金统计
为了避免一些垃圾币对被盗资金的影响,我们在统计过程中只统计主流币种的被盗资金:
Solana链:SOL、USDC、USDT、BTC和ETH。
ETH链:ETH、USDT、USDC和PAXG。
被盗币种价值取被盗当日价格。
1SOL=$38.54
1BTC=$22,846.51
1ETH=$1,618.87
1PAXG=$1,759.64
1BNB=$298.36
对Slope服务器上的已解密的私钥和助记词对应派生出来的地址与链上统计的受害者地址进行分析,有交集的地址有5个ETH地址和1388个Solana地址,对这些存在交集的地址做被盗资金统计如下,此部分被盗资金占到总被盗资金的31.42%。
3.资金转移分析
Solana链:
资金截止发文时间未进一步转移。
ETH链:
21,801USDT转移到个人钱包地址。慢雾安全团队正在与各方沟通配合努力追查黑客的身份。
剩余大部分资金兑换为ETH后转移到Tornado.Cash。
BSC链:
资金截止发文时间未进一步转移。
4.黑客链上时间线分析
根据黑客链上行为梳理出时间线如下图:
5.黑客痕迹分析
黑客地址列表如下:
疑似黑客地址列表如下:
第一笔转入
Solana链黑客钱包1、2、3和4的链上第一笔转入交易都是来自Solana链疑似黑客钱包的0.1SOL的转账。根据对链上痕迹的分析,评估Solana链疑似黑客钱包可能是黑客地址,也存在更大可能是受害者地址。
黑客过程中使用工具
TransitSwap
Uniswap
MetaMaskSwap
黑客变现方式
转移到疑似OTC个人钱包地址。
转移到Tornado.Cash。
黑客地址与交易所/平台的关联
直接关联:
TRON链,黑客8月5日存款USDT到Binance
存款地址:TE4bkS2PYqWxijgh5eqEz9A5jLn7HcS6fn
存款交易:b6615bf10b2e619edc9315a08f89732664adc9d385c980f77caa6e82872fe376
TRON链,黑客8月5日从Binance提款TRX
提款交易:0e012643a7db1b8c5d1f27447b16e313d4b3f89efaa22b3661188fe399cd2d0e
ETH链,黑客8月5日从Binance提款ETH
提款交易:0xd035e009173e968d8f72de783f02655009d6f85ef906121e5b99b496a10283dd
ETH链,黑客8月8日从Binance提款USDC
提款交易:0xff60f24f8ebd874a1e5da8eae44583af554af9a109a9bd7420da048f12c83cdc
ETH链,黑客8月10日从Binance提款USDC
提款交易:0xc861c40c0e53f7e28a6f78ec9584bfb7722cec51843ddf714b9c10fc0f311806
TRON链,黑客8月10日从Binance提款USDT
提款交易:10c4186e4d95fb2e4a1a31a18f750a39c0f803d7f5768108d6f219d3c2a02d26
间接关联:
Solana链疑似黑客钱包1月8日从Binance提款SOL
提款交易:668jpJec7hiiuzGDzj4VQKSsMWpSnbzt7BLMGWQmrGvHVQQbNGc3i1g8dCj2F5EAxFT8oDG5xWPAeQUMEMBTjhZs
Solana链疑似黑客钱包存在与SolrazrIDOprogram交互的链上痕迹
交易:2LxLhL7oAiTyHGrAXCZEJyazQQLM7veaKvqUZL6iPkonL4wPLHcwV66MFX3ERyWvJtdd2wFdKfgKUuT1oAv2XepK
疑似OTC个人钱包地址与Binance、Kucoin和OKX多个交易所存在存款和提款关系
黑客Solana链交易记录汇总表Sentry回传问题导致可能暴露的Slope地址被盗交易表
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。