一、概 述
近期,启明星辰ADLab监测到了一起针对移动加密货币钱包的恶意攻击活动,被攻击的钱包平台均以数字钱包为切入口,主打Web3.0跨链交易、NFT数字藏品交易、元宇宙等热门领域的数字交易应用。Web3.0是基于区块链技术、以用户为主体的新型网络生态。随着Web3.0、虚拟数字人、NFT、元宇宙等新一代数字概念的兴起,大量人才、资本涌入,原来以加密货币钱包为主业的公司将目光瞄准交易环节以支持Web3.0等新平台的应用,而这种盲目而快速的投产,导致其开发的程序缺乏安全性,其中最关键的是这些APP并未做加固和防护,导致黑客对APP进行了恶意篡改,危害了交易环节的安全性。
我们本次发现的攻击活动正是以钱包APP为主要目标,利用搜索引擎进行传播的数字货币窃取活动,主要攻击群体为中国区的用户。我们发现在百度的默认推荐关键词下,主流钱包“imToken”相关关键词的搜索结果列表里排名前五的站点全部是黑客部署的仿冒网站(黑客可能对此类关键词做了 SEO 优化),仿冒网站与官网高度相似。取得仿冒网站上的样本后,我们通过分析和溯源发现这批攻击活动最早可以追溯到今年2月份,并且被仿冒的对象还涉及到“Coinbase Wallet ”、“MetaMask wallet”和“TokenPocket”等主流的数字钱包应用。
二、攻击分析
黑客采用的主要攻击手段是代码篡改和库注入技术,分别应用Android和IOS平台的钱包APP,对于Android平台,黑客采用反编译技术插入代码,然后再编译成为APK文件,由于IOS难以实现重编译技术,所以黑客采用动态库注入技术和Hook技术来实现。当受害者对钱包进行操作时,这些仿冒的APP就会偷偷地将对应加密货币钱包的“mnemonic phrase”(助记词)回传至黑客端点。钱包助记词可以代替私钥生成收币地址、签名交易,是用户在区块链世界资产的唯一凭证,谁拥有了助记词,就拥有了对应地址上的资产。
图1 攻击流程图
如图1所示,攻击者首先克隆并伪造“imToken” 、“Coinbase Wallet ”、“MetaMask wallet”、“TokenPocket”等数字钱包平台的官方网站,然后利用百度、搜狗、搜搜等搜索引擎来使得这些仿冒网站出现在靠前的页面(这些恶意应用程序通过客户在百度等网络爬虫中识别的连接传播,由于对 SEO 优化的智能处理,这些恶意应用程序的链接会到达百度等搜索站点中的热门位置,从而使它们排名靠前)。这些出现首页且靠前的搜索结果诱使受害者打开仿冒链接,并从这些仿冒网站下载安装带有恶意代码的钱包应用。因为这些恶意应用与真实应用从UI和功能上来说完全相同,被恶意篡改的代码只在特殊时机触发并在后台偷偷地上传受害者的钱包助记词,即使专业的使用者也很难辨别,攻击者窃取到助记词后,通过内部系统自动将相应的数字货币转移到黑客自己的加密货币账户。
三、传 播
我们发现,虽然黑客组织也通过社交媒体渠道、论坛等方式推广其恶意应用,不过推广仍以百度、搜狗、搜搜等搜索引擎渠道为主。攻击者通过修改原始钱包,向其中添加恶意代码,生成“imToken” 、“Coinbase Wallet ”、“MetaMask wallet”和“TokenPocket”这些数字钱包的后门版本。然后通过仿冒这些数字钱包的官方网站,再利用搜索引擎将这些仿冒网站排到靠前的页面来传播这些后门版本的应用。我们以百度搜索引擎为例进行说明:我们在百度搜索上输入”imtoken”会出现默认搜索关键词列表,随机选“imtoken钱包APP下载网址”,搜索结果如图2所示。
通过对第一页的10个搜索结果进行分析验证后,发现其中有7个属于该组织的仿冒网站,甚至最靠前的5条结果中没有一条属于官方链接,全部都是仿冒网站,官方链接只排在第6的位置。
图2 特定关键词的搜索结果
我们再在关键字中加入官方下载如“imtoken官方下载”进行搜索时,情况稍微有所改善,但是依然容易误导用户访问到仿冒网站。在首页的前5搜索结果中,有2个是该黑客组织的仿冒站点。
图3 特定关键词的搜索结果
图4是一些仿冒网站打开后的界面,图5是imtoken的官方界面。可以看到,攻击者高度克隆了imtoken的官网界面来用于迷惑攻击目标。
图4 仿冒网站界面
图5 官方网站界面
我们将某次搜索结果(每次搜索同样的关键词时,搜索结果都不完全一致)第一页中前4个仿冒网站的相关数据列到表1。如果我们使用PC浏览器访问仿冒页面,点击仿冒页面中的立即下载按钮,其会首先跳转到中间地址,然后加载APP的托管地址(这些中间地址和托管地址每次会发生变化,我们仅列出某次访问时的地址),提示用户用手机扫描二维码下载(如图6所示);如果我们使用手机访问仿冒页面并点击立即下载,则页面会直接下载相对应的APK文件(Android)或者配置文件(iPhone),见图7所示。
仿冒站点 | 跳转地址 | APP托管地址 |
http://www.qyghw.net/ | https://imtoken-intl.cc/sg-v69 | https://imtokensg.suyuanbj.com/jcind |
https://dlszxx.vip/
| https://imtoken-intl.work/dbv615-05-oss | https://dlszxx.vip/ |
http://zhqsng.com/
| https://imtoken-intl.site/bd318-v69 | https://imtoken318.suyuanbj.com/hnwjt |
https://www.xahazx.cn/ | https://imtoken-intl.work/dbv615-05-oss | https://imtoken.suyuanbj.com/v4z5c |
表1 4个仿冒网站的相关链接
图6 APP托管地址
图7 Android和iPhone手机下载截图
这些仿冒页面是通过一个中间跳转页面加载得到的,我们以仿冒网站“https://www.xahazx.cn”为例进行说明:该页面如图8所示,不过如果我们向下拉该仿冒页面,就可以看到中间跳转页面,图9(注意右边滚动条位置的变化)。
图8 仿冒网站界面
图9 中间跳转网站界面
四、关联分析
我们从最开始拿到的imToken样本进行关联分析,分别关联到了该黑客组织利用克隆网站传播恶意数字货币钱包“Coinbase Wallet ”和“MetaMask wallet”,另外虽然关联到的恶意域名“tokenpocket.homes”不能访问了,但是根据该黑客组织的攻击特征,我们相信该域名曾用于分发恶意“TokenPocket”数字货币钱包。下面我们就此次的恶意钱包关联分析进行介绍。
我们从捕获到的imToken样本开始关联分析。此imToken 样本 的下载地址为“https://lmtoken.earth/”(见图10)
图10 克隆网站
我们访问该页面,并使用burpsuite抓包,看到了该页面代码中的图11一段代码,该段代码根据访问设备的不同(Android、iPhone或PC端),展示不同的界面以引导受害者进行应用下载。
图11 页面代码抓包
我们将不同的设备对应的下载地址,列到表2中。可以看到,PC端和Android端对应的下载地址相同,均为“https://lmtoken.earth/apk/imToken-intl-v2.apk”,而iPhone端地址为“https://imtoken.dqpxhi.xyz/3g2uv”,该地址存放了下载恶意APP需要安装的配置文件。
访问环境 | 下载地址 |
PC浏览器 | https://lmtoken.earth/apk/imToken-intl-v2.apk |
Android手机 | https://lmtoken.earth/apk/imToken-intl-v2.apk |
iPhone手机 | https://imtoken.dqpxhi.xyz/3g2uv |
表2 不同的设备对应的下载地址
Android端访问该仿冒网站的首页截图和下载截图见图12,iPhone访问该仿冒网站首页的截图见图13,我们点击App Store下载,其会先从“https://imtoken.dqpxhi.xyz/3g2uv”下载配置文件,不过,该地址目前已经不能访问了,所以我们仅列出了iPhone打开的界面。
图12 仿冒网站的首页截图和下载截图
图13 iPhone打开的界面
我们以仿冒域名“lmtoken.earth”为线索进行关联分析,如图14所示:域名“lmtoken.earth”在VT上有的三条解析记录,可以看到,该域名在今年2月27日被解析到的IP地址为“142.4.108.251”,3月23日被解析到的IP地址分别为“172.67.216.146”和“104.21.86.75”。
图14 域名“lmtoken.earth”在VT上的解析记录
在对这几个IP地址分析后,我们发现IP地址“142.4.108.251”在2月27日关联到如图15的几个可疑的域名,其中有3个域名被VT报毒,我们从关联到的这几个域名的字面意思,不难看出它们是用作伪造数字货币钱包 “Coinbase Wallet”、“MetaMask wallet”、“imToken ”和“TokenPocket”的仿冒域名。所以我们将进一步对这几个域名进行分析。
图15 关联到的可疑域名
我们将这几个域名和它们当前的访问状态列到表3中,从表3中,我们可以知道,除了域名“colnbase.earth”和“lmtoken.earth”目前可以正常访问外,其他的域名都不可以正常访问,其中域名“metamasks.homes”和“metamask.earth”还被Edge和Safari浏览器判定为恶意。
域名 | 状态 |
colnbase.earth | 正常 |
colnbase.homes | 不能访问 |
metamasks.homes | Edge和Safari警告(不能访问) |
lmtoken.earth | 正常 |
metamask.earth | Edge和Safari警告(不能访问) |
tokenpocket.homes | 不能访问 |
lmtoken.homes | 不能访问 |
表3 相关域名
对这些域名进一步分析后,我们发现域名“colnbase.homes”关联到恶意APP“CoinbaseWallet.apk”,而该恶意应用又关联到多个恶意的域名,见图16。经验证域名“som-coinbase.com”和“token18.app”目前可以正常访问,其他的域名已经失效。我们下面就针对这两个还可以正常访问的域名进行详细分析。
图16关联到的域名
首先是域名“som-coinbase.com”,其首页界面如图17所示,可以看到其克隆的是数字货币钱包“Coinbase Wallet”的官方页面。
图17 克隆数字货币钱包“Coinbase Wallet”主页
我们点击“Download Coinbase Wallet”并使用burpsuite抓包分析,见图18。可以看到,网页中的js代码会根据访问者的浏览器的“user agent”不同,将访问者引导到不同的网站去下载恶意应用。
图18 下载页面抓包
我们将不同访问环境对应的下载地址列到表4中,我们看到电脑端和安卓端的下载地址相同,都是“https://som-coinbase.com/coinbase.apk”,而苹果端为“https://pk3md.com/3xrJL.html”,不过目前已经不能访问。
访问环境 | 下载地址 |
PC浏览器 | https://som-coinbase.com/coinbase.apk |
Android手机 | https://som-coinbase.com/coinbase.apk |
iPhone手机 | https://pk3md.com/3xrJL.html(不能访问) |
表4 不同访问环境对应的下载地址
我们分别使用Android手机和iPhone访问网站“https://som-coinbase.com”。我们发现Chrome和Safari浏览器均给出了警告。继续访问后,界面相同,不同的是点击下载按钮后,android会下载APK到设备,而iPhone会下载配置文件到设备。因为iPhone端的页面和Android相同,并且配置文件下载地址已经不能访问,所以图19仅列出Android端的主页和下载截图。
图19 Android端主页和下载界面
同样地,我们接着分析域名“token18.app”,我们分别使用Edge和Safari浏览器访问“https://token18.app”,结果发现Edge和Safari都给出了危险警告,见图20。不过使用Firefox浏览器,则可以正常访问该地址,仿冒主页见图20。
图20 Edge和Safari都给出了危险警告
图21 仿冒主页
当我们点击“Download now”按钮后,网页会判断不同的访问环境,以展示不同的下载界面,我们将不同的下载界面对应的下载地址列到表5中。
访问环境 | 下载地址 |
Chrome浏览器 | https://ytap.oss-cn-guangzhou.aliyuncs.com/metamask-chrome-10.8.2.zip |
Firefox浏览器 | https://ytap.oss-cn-guangzhou.aliyuncs.com/metamask-firefox-10.8.2.zip |
Android手机 | https://ytap.oss-cn-guangzhou.aliyuncs.com/metamask.apk |
iPhone手机 | https://birkwb.com/oss/embedded.mobileprovision https://birkwb.com/Vek3.mobileconfig |
表5 不同的下载界面对应的下载地址
因为下载界面区别不大,我们仅将Android手机访问后的下载页面列到图22中,Androids手机和iPhone端点击下载后的界面如图23所示,其中android端会直接下载APK到设备,而iPhone则下载两个配置文件“embedded.mobileprovision”和“Vek3.mobileconfig”后安装。
图22 Android端的下载页面
图23点击下载后的界面(Android和iPhone)
五、恶意代码分析
我们下面以Android版本后门应用“imToken”和“Coinbase Wallet ”钱包为实例来分析攻击者是如何窃取受害者的数字货币钱包“助记词”的。
5.1 “imToken”钱包样本分析
5.1.1 后门代码分析
该样本为后门版本的“imToken”钱包应用,我们逆向该恶意样本后,发现图24的后门代码,其目的是将用户的“助记词”回传到攻击者控制的远程服务器。
图24 后门代码
查看其交叉引用(见图25),我们看到一共有两处引用了该后门代码,从字面意思“createIdentity”和“recoverIdentity”来看,分别是创建账户和恢复账户时调用该段后门代码。字符串“aHR0cHM6Ly9hcGkudDBrZW5wb2NrZXQueHl6L3Uvc21zLw==”Base64解码后为“https://api.t0kenpocket.xyz/u/sms/”,为恶意服务器的地址。后门代码是在生成助记词并以加密形式存储之前被调用,这样受害用户在创建新钱包或将现有钱包添加到新安装的恶意应用程序的时候,助记词会被拦截并回传到攻击者控制的远程服务器。
图25 后门代码的交叉引用
5.1.2 验证回传时机
我们在Android手机上安装该恶意应用后运行,如图26所示,该恶意应用打开后,用户可以选择创建账户或恢复账户来进入该应用。
图26 恶意应用开始的界面
我们分别创建和恢复账户时,对该应用抓包(见图27和图28),可以看到,当受害者创建或恢复账户时,恶意应用将受害者的“助记词”回传到攻击者控制的远程服务器。
图27 用户创建账户时回传助记词
图28 用户恢复账户时回传助记词
5.2 “Coinbase Wallet ”钱包样本分析
5.2.1 后门代码分析
该样本为后门版本的“Coinbase Wallet ”钱包应用,我们逆向该恶意样本后,发现图29的后门代码,可以看到,其后门代码和前文后门版本的“imToken”钱包非常相似。同样,其作用是将窃取的助记词发送到攻击者控制的远程服务器。该后门代码有一处调用,调用函数为“saveMnemonicToStorage”(见图30),字符串“aHR0cHM6Ly9jb2xuYmFzZS5ob21lcy91L3Ntcy8=”Base64解码后为“https://colnbase.homes/u/sms/”,为恶意服务器的地址。
图29 后门代码
图30 后门代码的调用
我们查看函数“saveMnemonicToStorage”的交叉引用,发现总共调用该函数的地方有6处(见图31,其中一个调用包含新建钱包和登录钱包),经分析我们发现这些引用处分别是创建钱包、登录钱包、修改生物识别许可(指纹ID,面部ID)、切换认证方式为生物识别许可、切换认证方式为PIN码以及修改PIN码。
图31 函数“saveMnemonicToStorage”的交叉引用
同样地,我们在Android手机上安装该后门APP来验证“助记词”的回传时机。验证过程如下。
5.2.2 验证回传时机
5.2.2.1 新建钱包
打开“Coinbase Wallet”后门应用后,我们选择新建钱包,按照操作步骤设置PIN码后(见图32),我们使用burpsuite抓包(见图33),可以看到,恶意应用向恶意服务器地址“https://colnbase.homes/u/sms/”发送了窃取到的“助记词”。
图32 新建钱包
图33 新建钱包时抓包
5.2.2.2 登录钱包
如果我们选择“I already have a wallet”,使用助记词登录钱包,按照操作步骤设置PIN码后(见图34),我们同样使用burpsuite抓包(见图35),可以看到,恶意应用向恶意服务器地址“https://colnbase.homes/u/sms/”发送了窃取到的“助记词”。
图34 登录已有钱包
图35 登录已有钱包时抓包
5.2.2.3 修改PIN码
接着,我们登录成功钱包后,选择修改PIN码(见图36),我们再次使用burpsuite抓包(见图37),可以看到,恶意应用向恶意服务器地址“https://colnbase.homes/u/sms/”发送了窃取到的“助记词”。
图36 修改PIN码
图37 修改PIN码时抓包
5.2.2.4 其他时机
我们也验证了应用锁定验证方式切换的时候,后门代码被调用的情况。当锁定方式由PIN码切换成生物特征ID(指纹ID或面部ID)或者由生物特征ID切换成PIN码时,助记词都会被回传到攻击者控制的远程服务器(图38仅列出由PIN码切换为生物特征ID的界面)。另外,可能是由于我们的Android设备不具有面部ID,所以不能触发修改生物验证(指纹ID和面部ID之间切换)这种情况的后门代码触发时机。
图38 由PIN码切换为生物特征ID的界面
六、总 结
随着Web3.0热度的高升,大量数字货币钱包,数字货币资产管理应用也得到大量的用户流量。大部分用户下载这些APP的渠道仍然以搜索引擎为主,而本次攻击针对中国的搜索引擎做了专门的SEO优化,使得这些恶意的仿冒APP排名靠前,极大地增加了仿冒APP的传播范围。由于仿冒APP几乎采用原APP所有代码,只是在APP加入了极为少量的恶意代码,导致APP使用者甚至是专业的用户都无法分辨,因此APP加固和保护的缺失,是黑客能够攻击成功的重要原因。目前诸如Web3.0、NFT、元宇宙等热门新兴领域严重依赖于区块链进行资产的交易,这也会促使更多黑客加入这个黑色产业链条。自从加密数字货币诞生以来,就成为了地下灰色市场最为青睐的交易品之一。由于虚拟货币的匿名性的特点,使得不法分子尤其对其偏爱,围绕着虚拟货币的网络攻击也逐年增加,以获取虚拟货币为目标的网络犯罪活动也更是急剧增长,这已经发展成为一个不可忽略的安全问题。最后,我们提醒广大用户从官方商店安装应用程序,不安装来源未知的应用程序。在不得不从第三方下载站点下载软件时,保持警惕,认真甄别,防止误下恶意应用,给自己造成不必要的麻烦和损失。
声明:本文来自ADLab,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。