作者:亚当·托马斯(Adam Thomas)和Jérôme Segura,还有来自Vasilios Hioueras和S!国际扶轮

自2018年12月至少晚些时候,许多人的流行用户银金矿比特币钱包已经成为一系列网络钓鱼攻击的受害者,据我们估计,这些攻击共捕获了超过771个比特币——按当前汇率计算,大约相当于400万美元。

威胁行为者能够利用Electrum软件的一个弱点,诱骗用户下载恶意版本的钱包。

因此,在二月背后琥珀金,开发商决定开发自己的软件相同的缺陷,以便将用户重定向到下载最新的补丁版本。该软件是这样的麻烦,在行进,开发人员开始利用公众未知的另一个漏洞,基本上攻击易受攻击的客户,以防止它们连接到坏节点。

不久后,一个僵尸网络发起服务(DDoS)攻击分布式拒绝这被认为是对试图修复bug的开发人员的报复。攻击者逆转了这一情况,使合法节点不堪重负,老客户端不得不连接到恶意节点。

在这篇文章中,我们阐明了用来推动恶意的Electrum更新的钓鱼方案,讨论了被盗资金的去向,最后看看与DDoS僵尸网络直接相关的恶意软件感染。

101年银金矿的钱包

为了更好地了解这些攻击是如何如此成功的,对Electrum钱包的功能有一个基本的了解是很有帮助的。

被称为“轻量级”比特币钱包的Electrum实现了中本聪(Satoshi Nakamoto)的比特币中描述的技术的变体白皮书称为简化支付验证(SPV)。SPV允许用户发送和接收交易,而无需下载比特币区块链的完整副本(其大小为数百gb)。

相反,Electrum在客户机/服务器配置中操作。默认情况下,钱包(客户端)被编程为连接到对等网络(服务器),以验证交易是否有效。

虽然这一直是一种相当安全的交易方法,但攻击者利用了任何人都可以作为公开的Electrum对等体进行操作的事实。如下所示,在Electrum网络上活跃的对等体数量有了实质性的增长:

Source: http://vps.hsmiths.com:49001/munin/hsmiths.com/vps.hsmiths.com/electrumx_peers.html

假的Electrum钱包更新通知

2018年12月26日,Electrum的开发人员在官方GitHub页面上发出公共警告,提供有关正在进行的攻击的一些信息:

对用户:当你广播一个事务时,服务器可以告诉你关于事务的错误。在3.3.3之前的Electrum版本中,这个错误是任意文本,更糟糕的是,它是HTML/富文本(因为这是Qt的默认)。因此,你所连接的服务器可能会试图通过告诉你安装恶意软件(伪装成更新)来欺骗你。你应该从官方网站更新Electrum,这样服务器就不会再这样对你了。如果你看到这些信息/弹出窗口,只要确保你没有遵循它们,你没有安装他们告诉你安装的东西。这些信息只是信息,它们自己不会伤害你。

威胁行动者基本上进行了女巫攻击在琥珀金网络比诚实节点引入更多的恶意节点上。

显示恶意节点合法琥珀金电子钱包应用

如果用户连接到恶意节点(极有可能),并试图通过它发送交易,它将被阻止,因为Electrum的弱点,允许接收和显示任意HTML/富文本,如虚假的更新消息如下所示:

尝试发送比特币时,网络钓鱼代码注入琥珀金应用

攻击的第二阶段欺骗用户安装恶意版本的Electrum钱包。从12月21日到12月27日,两个不同的流氓项目在Github上活跃。

hxxps: / / github.com/electrum-project/electrum/releases/tag/3.4.1
hxxps: / / github.com/electrum-wallet/electrum/releases
恶意的Electrum应用程序库

恶意琥珀金钱包

出于实用的目的,我们将参考以下的恶意软件为Variant 1和变体2,但是,进一步的研究发现,这背后具体的广告系列的演员已经运行了一段时间。因此,它很可能是有前12月21日2018年变体本恶意软件存在的其它变型1和2似乎是由基于恶意软件的几个区别不同的行动者进行操作。

变体1

变体1是事实,恶意软件作者已经实现的功能被盗钱包钥匙和种子数据上传到远程服务器的唯一。其他已尽力确保本功能也一直被混淆命名initmodules.py通常不会在琥珀金发现了一个文件中的数据泄露的代码隐藏。

盗贼模块,负责数据泄露

如上所述,渗出域不是在上面的代码可见和恶意软件的执行过程中,而不是构成。这很可能是为了使代码包含在initmodules.py出现合法使用的恶意软件编写者的技术。

除了盗窃钱包数据,钱包中的任何余额都被发送到攻击者控制下的几个预先编程的公共地址之一。选择的目的地址取决于受感染用户的Electrum钱包使用的地址格式。

payto - pubkeyhash (P2PKH)地址是设置过程中使用的默认地址,可能是普通比特币用户使用的最常见地址类型。在查找每个地址的活动时,这一事实是显而易见的。

14 mvef1x4qmrpxx6oasqzyzjqzuwwg7fb5(P2PKH地址类型)
总收件:202.91141530 BTC ~ 776,243.23 USD

bc1q9h36cyfnqcxjeuw629kwmnp5a7k5pky8l2kzww
收到总额:0.01927492 BTC ~ 73.75 USD

1rTt8GePHv8LceXnujWqerUd81U29m857
收到总计:0 BTC

3 crc4uitjqnqdkxy5xbjfcagnbxhkknqzl
收到总额:15.2210788 BTC ~ 58,239.77 USD

1 fmxahft8trwjhrnvdsbjd8jnoszdx8pfd
收到总计:0 BTC

变体1比特币总数:218.1527981 BTC
变体1美元的总:〜$ 1,101,034.00

使用HTTP POST发送到恶意服务器的扩展私钥(xprv)示例
样品钱包种子词使用HTTP POST发送到恶意服务器

在我们分析变体1期间观察到的所有恶意数据外逃域都是同时创建的,并且都被观察到解析为IP地址31.31.196.86。这个地址属于Reg.ru,一家总部位于俄罗斯莫斯科的托管公司。

变体1的二进制文件也有别于后来的变体,因为它的Windows安装程序已经进行了数字签名。

使用数字证书恶意应用

有趣的是,用于签名一个恶意Windows Electrum文件(EIZ Ltd)的数字证书最近被用于签名一个不相关的恶意软件

变种2

由于变体1在窃取大量比特币方面如此成功,似乎几乎不可避免的是,寻求利用这个相当简单的方案赚钱的威胁行为者将发动额外的攻击。毫无疑问,这种恶意钱包的第二种变体出现了。该变体攻击相当积极,超过了Electrum网络,导致盗窃比特币比变体1更多。

变体2不是将受害者重定向到一个恶意的Github网站,而是将恶意下载放在一个与合法的Electrum下载网站拼写相似的域名上。HTML内容本质上是镜像。

假网站,一个合法的猫咪

威胁者似乎有琥珀金及其代码有很好的理解。例如,他们禁用自动更新,删除的提示,比如“是的,我敢肯定”,甚至抢走进行更换,由费(RBF)事务的能力。

main_window.py内容

“按费用更换”(replacement -by- fee)是后来在开发过程中添加到比特币代码库的一个功能,它允许用户创建一种双重消费交易。在这种情况下,如果您知道这个函数(可能很少有人知道),您可以通过使用更高的费用加倍使用输入来逆转被盗的资金转移。

在screen .py代码中注释掉了replace by- fee函数

例如,如果你安装了恶意钱包并丢失了一堆比特币,那么你唯一能取回它的方法之一就是尝试RBF交易来逆转恶意钱包。但你得在确认恶意攻击之前赶紧行动。通过禁用此功能,威胁行为者确保这是不可能的。

下面是变体2的修改源代码,付费编辑。pyc脚本文件将支付重定向到硬编码的攻击者比特币地址:

接收赃款的比特币地址
bc1qhsrl6ywvwx44zycz2tylpexza4xvtqkv6d903q
共收到:187.8298 BTC / 941436美元

bc1q92md7868uun8vplp9te0vaecmxyc5rrphdyvxg
收件总额:55.9948 BTC / 201326 USD

bc1q7hsnpd794pap2hd3htn8hszdfk5hzgsj5md9lz
收件总额:36.7358 BTC / 126972 USD

bc1ql0p2lrnnxkxnw52phyq8tjr7elsqtnncad6mfv
收到总额:75.2927 BTC / 291342 USD

bc1qyjkcthq9whn3e8h9dd26gjr9kd8pxmqdgvajwv
总计收到:21.8628 BTC / 84678美元

bc1qvr93mxj5ep58wlchdducthe89hcmk3a4uqpw3c
共收到:27.3636 BTC / 138733美元

bc1qcla39fm0q8ka8th8ttpq0yxla30r430m4hgu3x
总计收到:232.6469 BTC / 1,166,068 USD

变体2比特币总计:637.7264 BTC
变体2美元总计:~ 2,950,555.00美元

都哪里去了硬币哪里去了?

通过变体1被盗资金一些简单blockchain分析告诉我们,攻击者已经打破了BTC分解成更小的数额。在这种情况下,48.36 BTC被重新归类为主要BTC 3.5数额之后1.9 BTC金额。

这种模式是有可能的证据正在使用被称为“化整为零”洗钱技术。随着1.9 BTC约等于$ 7,000美元,这一数额的存款不太可能引发货币交易报告(CTR),因为这个数额在$ 10,000门槛。

比特币的小块被清洗

最后,将11个输出上方观察与另外的15个输入被组合被发送到329nUnJxz5zgr4vnNPu8JNwpa3qEJfucQX,地址之前馈入著名的加密货币交易所Bitfinex的热钱包地址。

到达Bitfinex钱包之前第一步
到达Bitfinex热钱包前的最后一步(1Kr6QSydW9bFQG1mXiPNNu6WpJGmUa9i1g)

4月14日,周日,我们注意到变体2背后的攻击者刚刚取出了他们最新的钱包114.61050153比特币(超过50万美元):

变体2比特币钱包通知

许多被盗的资金从变型2的运动似乎遵循类似的模式。让我们来看看38.38517511 BTC从攻击者地址“bc1qhsrl6ywvwx44zycz2tylpexza4xvtqkv6d903q”最近撤出。交易总是分裂成2个输出:

事务分割为两个输出

注意36.38011271 BTC的转移,我们稍后将重新讨论,让我们先跟踪2.0050624 BTC的转移到地址“1BCtXcP3gc7FygZMegeKUPsogo68aKRSPA”,然后是“1wotccCFTuLQdCv46Bz3zqcosDCDwAWhd”。我们看到一个包含2个输出的事务,其中地址“3DvWYYkzgHbyBgUTSjtPsLmkzs1R9frSrz”消耗了所有的资金。另一个名为“not-address”的输出被称为OP_RETURN脚本操作码。这个操作码通常用于在区块链上记录数据。

OP返回脚本操作码

事实上,本次交易包含一些经过编码的数据最有可能被存储为一个组成部分签名的交易

虽然使用OP_RETURN存储数据的确切目的是未知的,但这并不重要,我们仍然可以跟踪变体2 BTC资金的向前移动,以了解它们的目的地:

下一个最大的输出,1.96991794,从现有的事务,通过事务ID f5abb14ffc1d57494934d10a2114b2e4fc812b7e18f73d0f6202a995d2bea1be,其中包含445个输入共计100.02103004 BTC消耗。

这100个比特币随后被移动到已知的热钱包1NDyJtNTjmwk5xPNhjgAMu4HDHigtobu1s地址地址Binance.让我们快速看一下我们之前提到的36.38011271 BTC的目的地。为了简洁起见,我们采用了类似的跟踪基金路径,因为它们是以类似的方式分割的:

如我们所见,25.8 BTC被发送到地址“3MRqgoPe6vBNVEn9Fo85qK7zvaLb9e9T2x”。与这个钱包相关的许多地址似乎都与一些看似诈骗的网站有关,这些网站提供“让你的比特币翻倍”的服务。

3 ff1uz5oeaszykcvgbywu39djsknrgeu96- Continvest
3 axhfz2ivjubgveynj1pqak6fskbclj42n——比特币倍压器

由于这是极不可能的,你可以直接双击您发送比特币的任何金额,很可能是这些网站的存在提供了另一种功能,如混合/罪犯资金的洗钱行为。

对策和报复

面对这类广泛的攻击对他们的用户群,电抗的开发人员决定利用相同的漏洞才能显示合法的更新通知.然而,这还不足以阻止攻击者,所以后来Electrum决定对自己的用户运行拒绝服务攻击,以阻止他们连接到非法节点。

犯罪分子开始与僵尸网络的帮助下做相反。

一个列表攻击的IP地址(在写作的时候由72977台机器)正在被随时保持最新状态。这数星期的跨度内几乎增加了两倍,确认攻击在快节奏斜坡上升。

攻击Electrum服务器的客户端IP地址。列表每隔几分钟更新一次。

僵尸网络和DDOS攻击后面的恶意软件

尽管僵尸网络的确切大小并不清楚,我们能够了解更多关于如何将新的机器人被招募。我们遇到了从两个不同的感染僵尸网络这背后的恶意软件的路径,我们认为有几个在那里。一个是通过烟装载机下载辅助有效载荷的实例,而另一个是来自钻机开发套件。

在后一种情况下,我们看到了一个恶意广告活动重定向到RIG开发工具包,并最终交付可能出现的硬币矿工装载机,但实际上是恶意软件,使受感染的电脑变成为对琥珀金服务器的拒绝服务攻击单个机器人。

恶意攻击RIG EK在DDoS攻击背后推动Electrum恶意软件

我们看到加载器收集了一个Electrum节点列表,使用一些公共钱包地址进行攻击。每台被感染的机器都将开始攻击合法的Electrum节点以造成严重破坏。

对这个加载器的分析证实了我们在上面观察到的网络活动:

倒装装载机显示网络伪影

它检索一个大文件(> 40MB),这是为琥珀金钱包Python的编译代码(transactionservices.exe),并将其写入到磁盘中。

此.exe是python编译的二进制文件

它还为名为transactionserviceshelper.exe的子进程添加了持久性机制。

通过注册表的Run键的持久性机制
恶意Electrum应用程序的文件夹视图

针对ElectrumX服务器的拒绝服务攻击

这种攻击是由端口50002或50001充斥ElectrumX服务器时,可以在下面的流量捕获可以看出:

SYN Flood攻击,从抓包观察

我们还注意到另一种类型的包显示为TCP的传输.这也被称为“不必要的重传”,即接收者已经确认收到,但发起者还是再次发送了它。然而,这种流量可能是SYN flood攻击的副产品。

在流量捕获可见伪重传信息量大

我们用于引爆恶意软件的实验机的IP地址最终被列入黑名单在同样最新的列表客户端攻击Electrumx服务器上面提到的,证实了我们临时在这个僵尸网络中的存在。

受感染的机器参与对Electrum节点的攻击

根据我们的遥测数据,这是过去几天内参与DDoS攻击的大多数受害者的分布情况基于对恶意软件命令和控制服务器的连接尝试。

从受感染的终点到达C2的遥测

持续的攻击和更多的盗窃即将发生

任何关注加密货币的人都知道,它们将迎来一段疯狂的旅程。有决心的威胁行为者利用最流行的比特币钱包中的一个漏洞,创建了一个聪明的钓鱼攻击,仅在几个月时间里就能让他们净赚超过300万美元。其他罪犯很快就会注意到。

当琥珀金从这个盗窃回应备用更多的受害者,犯罪分子报复与持续的DDoS攻击。目前最有可能的是双方之间的一些敌意,但随着僵尸网络的不断禁用合法琥珀金节点,流氓的人得到提拔,继续推动假更新和抢劫他们的cryptocurrency的更多受害者的恶性循环。

运行自己的Electrum服务器的人可以通过不同的方式来减少DDoS攻击。他们可以设置一个cron作业来下载攻击IP地址列表并阻止他们。他们也可以创建一个iptables规则,速率限制被攻击的已知端口的连接企图。

Electrum钱包用户需要从软件升级到最新版本(3.3.4)正式库要特别小心更新或其他警告信息,因为它们可能是伪装的网络钓鱼企图。

必威平台APPMalwarebytes检测Mac OS X的恶意钱包OSX.ElectrumStealer和银金矿。对Windows偷窃者。

国际石油公司

恶意的Electrum钱包二进制文件

137e8925667ff75b1c516a97b5d2d3dd205f9302cdeb190fc68855aee2942c22 1900f4d0a13486f90ff5f82e02d210b8a9db27bca24b88f5de849ef124212f09 1ef6c9d9d3519769749498631532063967fc7d5e8f0fc75e8a3ff66f57dfab22 2747c4e43d2652f3ad039e0dc1bf28f5b136a9ac76a4f57320b08b5905e7c4cd 2cd180e61e36de1be904a02591485ef3321b539cdccca1fd7f1f001770652b14 307d97a38c6bf21903057eec48c4d3957e10c0097fe05d5a203101d22cd79cc3 3610c86975ed943b5065bdc65bfcb4035e58a863cd3192865401bc6a70b023ba 367b620a0a332f693a68230bf21f7036983b7b9e0dee946af5338ed168c16318 36c3140d73fbfb5710438d7c218013bf6fb8736a98dfe002b0d711fbb39aad41 41ff4f112d0a8c4bb20a49f7beb5f36c28455a9cebafa8db75277f54f597d6d4 57f6ef3ea9e497592bdbe9dda201105e0faea8f6668b5701b6b91fbc9e94cd43 634287c65f018e71ed7bebfb5b21e33bcedf08139e3d924178b4cdfaa12d8b34 74c2dcf751796cd209755b4e828b6686b2fb38587163b1cbff1295da2d3f0a8c 87aa1fdf00db2ed94464c2687a0e1011a80af576267c0f88d1216c0cb4d2e310 9a5b1ffbeb562d772dfa2d49e59e0f72557f6111a5e24d6498f88b77a5d8f10a a080444918844e27ff2079b71f20ebd2d1f1836907c854671daa3548dc809e7c b20778f69cc959a16c612e75d21a3668aab11f47f2659c3175da5bd80665e225 c48b7ba2531e4954881388aceb00a2ec36488f1cf70eeb873a97b7cfa32362cb c5afedd8a03d2f49e25fb2c568ede20b0e43a4eeebebd202c98324ead9b82732 df154484a90321407c0e8115df7bf6f598adb6a50255cc58b723db7cc5d3729f e8ef9cbeec7cdc7f58e28274c417457c5c8dcf47f4e8409cb2befe9450d3868b f736c8fa4a21755020ecfce60a53d0a1cfdaa7061fd7be6efd49d74af9b13e02

假的域名

btc-electrum。com
btcelectrum [。] org
downloadelectrum。com
downloadelectrum。org
eiectrum [。]网
琥珀金[。] BZ
electrumapp。org
electrumapps [。] COM
electrumbase。com
electrumbase。净
electrumbase [。]的有机
electrumbitcoin [。]的有机
electrumbtc。org
electrumbuild。com
electrumcircle [。] COM
electrumclient。org
Electrumcore [。] com
electrumcore [。]净
electrumdownload。com
ElectumDownload [。] org
electrume。com
electrume [。]的有机
electrumfix。com
electrumget [。] COM
electrumget [。] COM
electrumhub [。] COM
electrumnet。com
electrumofficial [。] COM
electrumopen。org
electrumpgrade [。] COM
electrumsafe [。]的有机
electrumsite [。] COM
electrumsource。org
ElectumStart [。] org
electrumtxn [。] COM
electrumupdate。com
electrumupgrade。com
electrumupgrade。org
electrumware。com
electrumware [。]的有机
electrumweb [。]净
getelectrum。com
getelectrum。生活
getelectrum [。]的有机
goelectrum。com
myelectrum。org

攻击者比特币地址

bc1qhsrl6ywvwx44zycz2tylpexza4xvtqkv6d903q
bc1q92md7868uun8vplp9te0vaecmxyc5rrphdyvxg
bc1q7hsnpd794pap2hd3htn8hszdfk5hzgsj5md9lz
bc1ql0p2lrnnxkxnw52phyq8tjr7elsqtnncad6mfv
bc1qyjkcthq9whn3e8h9dd26gjr9kd8pxmqdgvajwv
bc1q9h36cyfnqcxjeuw629kwmnp5a7k5pky8l2kzww
bc1qvr93mxj5ep58wlchdducthe89hcmk3a4uqpw3c
bc1qcla39fm0q8ka8th8ttpq0yxla30r430m4hgu3x
14 mvef1x4qmrpxx6oasqzyzjqzuwwg7fb5
3 crc4uitjqnqdkxy5xbjfcagnbxhkknqzl
31rtt8gephv8lcexnujwqerud81u29m857.
1 fmxahft8trwjhrnvdsbjd8jnoszdx8pfd

欺诈/恶意数字证书(仅限Windows)

名称:专业软
序列号:15 8F D7 D2 FB 6E 69 75 E7 AB EE 6E
名称:EIZ有限公司
序号:06 6A F7 6B 79 4F 63 79 3C C0 CA 33 78 6F 07 47

钻机EK载荷

9296B210B782FAECCA8394B2BD7BF720FFA5C122B83C4ED462BA25D3E1B8CE9A

transactionservices.exe(银金矿的钱包)

c3a7cf30428689a44328090b994ce593bbf2a68141fcbefb899dee4fec336198

IP地址(琥珀金钱包主人和CONFIGS)

178.159.37 [。] 113
226年194.63.143(。)
179年217.147.169(。)
188.214.135 [。] 174