宝运莱官方网站ADLab:关于近日门罗币供给链攻击事务分析
颁布功夫 2019-11-211.攻击布景
2019年11月19日,门罗币官方github上出现对门罗币release版与官网上出现不一致问题的issues,其中提及出现问题的门罗币版本为最新版0.15.0.0。且门罗币官方认可其官网受到黑客入侵,使得其提供的门罗币客户端存在窃取用户关键信息的事实,这也是初次被发现的直接针对加密钱币客户端的供给链攻击。
门罗币官方申明,恶意攻击产生在11月18日,11月19日攻击被发现并进行了建复。通过对已经确认的习染版本的hash 进行比对,发现客户端组件monero-wallet-cli被黑客篡改,其中hash为:5decc690a63aab004bae261630980e631b9d37a0271bbe0c5b477feffcd3f8c2的文件被代替为:7ab9afbc5f9a1df687558d570192fbfe9e085712657d2cfa5524f2c8caccca31。当天,reddit上也出现了使用者由于装置了官方网站的最新release版本而迷失了价值7000美元门罗币的现实案例。
事务披露的同时,我们也起头对其进行肯定的关注,并对涉及该次攻击的恶意代码进行了分析和追踪。从分析的了局来看,本次攻击的黑客将门罗币源码中cryptonote::simple_wallet()类进行篡改,涉及的文件有:
monero/src/simplewallet/simplewallet.h
monero/src/simplewallet/simplewallet.cpp
黑客利用以上文件实现了窃取门罗币seed的职能。黑客不会直接窃取门罗币的钱包文件,而是窃取门罗币seed以及盗取门罗币钱币的所有权,因而盗取之后必要使用seed来复原钱包,以提取其中的门罗币。此表,恶意代码内置有三个C&C,别离为node.hashmonero.com、node.xmrsupport.co和45.9.148.65。其中,node.hashmonero.com为默认的CC服务器,而node.xmrsupport.co和45.9.148.65作为后备CC使用。从当前的域名解析情况来看,node.xmrsupport.co和45.9.148.65指向统一台服务器,主CC node.hashmonero.com所指向的IP为91.210.104.245。所有CC都选取端口18081作为seed回传的服务端口。
本文首先对被篡改恶意monero-wallet-cli文件做详细的分析,接着试图对黑客的基础设置进行追踪分析,发现了黑客所使用过的其他基础设施。由于门罗币官方对于该事务仍在调查之中,所以对于黑客是若何攻击进入门罗币官方网站的具体细节表界并不通达,我们将持续关注该事务的进展。
2.样本分析
该样本重要窃取门罗币的seed数据,门罗币seed由25个单词组成,用来证明占有者对一个门罗币地址里面的钱币所有权,也可用于复原钱包。seed类似于如下字符串:
juicy sorry lukewarm lively fitting pulp irony nobody ought pelican sanity fudge vibrate ozone nearby upright addicted foxes arises alerts sorry lobster inmate karate ozone
该样本以源码为基础,在函数cryptonote::simple_wallet::print_seed函数中参与了恶意函数cryptonote::simple_wallet::send_seed。
该函数将获取的seed信息发送给node.hashmonero.com,端口为18081,其中seed信息存储在”memo=”参数中。该函数重要通过挪用cryptonote::simple_wallet::send_to_cc函数来实现seed的发送。发送的方式是通过https POST方式实现。
在send_to_cc函数中,其将CC服务器的端口硬编码在代码中,通过SSL和谈将窃取的门罗币seed发送给指定的CC服务器(node.hashmonero.com)。
若是该CC无法使用,恶意代码则会首先选取后备C&C node.xmrsupport.co进行衔接并将窃取的seed回传至CC服务器上。
若是后备C&C还是无法使用,则选取后备服务器"45.9.148.65"作为窃取seed的回传CC。
同时,被篡改的函数send_seed还被额表增长到了monero-wallet-cli文件的其他三个处所以确保在各类使用操作中可能更有效地获取seed。这三个处所别离为钱包创建函数cryptonote::simple_wallet::new_wallet(),钱包打开函数cryptonote::simple_wallet::open_wallet,以及同名沉载函数。
(1)在new_wallet()函数中,补丁函数重要用于截获钱包创建过程,一旦钱包创建成功,其钱包有关的seed就会立即发送给C&C。
(2)open_wallet函数重要用于打开一个门罗币钱包文件(蕴含由硬件钱包提供的设备打开),该恶意代码同样对该函数进行篡改,以便钱包被加载之后,将其发送到C&C服务器上。
(3)第三处是参与到了同名的沉载函数cryptonote::simple_wallet::print_seed(bool encrypted)中 ,在该函数中,其窃取由函数tools::wallet2::get_multisig_seed和tools::wallet2::get_seed所得到的seed。该同名沉载函数重要由cryptonote::simple_wallet::encrypted_seed和cryptonote::simple_wallet::seed两个函数挪用。encrypted_seed用于显示加密后的门罗币seed,而seed函数用于查看未加密的门罗币seed。这意味着,任何表部钱包文件的查看行为城市被劫持,从而导致与钱包有关的seed遭到黑客窃取。
3.黑客追踪与溯源
我们在受习染的门罗币客户端中发现硬编码的CC服务器地址,其中有2个域名和个1IP地址,硬编码的CC信息如下图所示:
其中,后两个硬编码CC目前指向统一个服务器。
为了对黑客使用的设施有进一步的把握,我们随后对这几个硬编码的CC进行了具体的分析。
首先,我们来看C&C node.hashmonero.com,这个C&C是恶意代码的默认C&C地址。该C&C当前被解析到IP:91.210.104.245。从whois信息中我们发现该域名是2019年11月14日注册的,且域名申请的公司字段被�;�。域名查问了局如下图所示:
此表还能够看出该域名做了隐衷�;�,很难对黑客的信息再进前进一步的追踪,但是我们从该域名的注册功夫能够看出黑客打算执行攻击功夫也应该不会太悠久。而从域名node.xmrsupport.co的whois信息中得知其创建于2019年11月15日。因而能够揣度黑客天生攻击样本时,应该已经把握了门罗币官方网站的缝隙及攻击步骤。因而黑客的攻击打算也应该在2019年11月14日之前的就已经起头了,真正执行攻击就在随后几天(11月15日-18日之间)。
通过IP地址45.9.148.65解析的汗青,还发现2019年11月16日域名hashmonero.com被解析到此IP地址上,在攻击被发现当天2019年11月19日域名node.xmrsupport.co才被解析到该IP。
此前在github上有人利用浏览器接见https://91.210.104.245:18081页面会被沉定向到https://monerohash.com/?r=from_node,不外在11月20日21时左右,由于被大量用户举报,CC服务器91.210.104.245已经被主机提供商终场服务。经查问,我们发现91.210.104.245为俄罗斯主机服务商www.hostkey.ru所有,IP地址的whois信息如下图所示:
通过VT对IP :91.210.104.245的汗青纪录进行分析,发现该服务器曾于2017年7月24日指向一个域名bitcoinbotreview.com,在两年以来才被解析到当前的IP :91.210.104.245。
该域名固然只有卡巴斯基一款杀毒软件报毒,但从域名关联出的样本能够看出该服务器曾被作为另表一款恶意代码的CC服务器。从域名自身的寓意上看,似乎应该与比特币有关恶意攻击有关。此处我们也对这个关联的样本进行了简要分析。
VT上的关联样本原始名称为“documentation.doc.exe” 。
在对样本“documentation.doc.exe”进行分析后,我们发显熹是一个使用Autoit3编写的恶意代码加载器(加载器内置有两个C&C:bitcoinbotreview.com和bitcoinautobot.com),其从链接http://bitcoinbotreview.com/mailpv.exe下载后续文件并加载执行。但是在我们分析时,该链接已经失效,但通一些特点我们找到这个链接的原始文件。该文件是一款窃密型的木马,其假装成NirSoft公司开发的邮箱密码复原软件mailpv.exe:
由于目前门罗币官方尚未有调查信息披露,所以我们这里仅仅做了一些初步追踪,但仍能够看出这是一路通过精心筹备网络攻击,从黑客急于注册新域名并在注册后的2-3天内就起头进行攻击的情况来看,黑客应该是不久前发现了门罗币网站的缝隙,从而专门定造恶意法式以期可能实时兑现。
4.总结
通过该事务的分析我们能够看出,黑客并没有直接窃取数据量较大的门罗币钱包文件,取而代之的是窃取用户门罗币的seed,并使用SSL和谈进行通讯,使得攻击越发隐秘。由于窃取seed对用户账户的影响拥有滞后性,因而,固然目前仅有少数人汇报了金钱损失的案例,但是不排除黑客已经窃取了相当数量的门罗币seed,只不外黑客目前还未进行兑现。
本次攻击事务再次赐与我们安全警示,目前越来越多的黑客通过供给链攻击,利用用户对官方的信赖,渗入进提供可信工具的网站并代替掉原始文件,以可信官网作为恶意代码的传布蹊径,提高攻击的成功率。因而我们提醒有关企业用户,加强自身的网络安全,定期进行网站的平部署查和加固,实时更新系统的安全补丁。
参考链接:
1.https://github.com/monero-project/monero/issues/6151
2.https://www.reddit.com/user/moneromanz/
3.https://bartblaze.blogspot.com/2019/11/monero-project-compromised.html


京公网安备11010802024551号