慢雾分析:门罗币钱包之“狸猫换太子”
昨日,慢雾安全团队监测到 Monero 官方社区和官方 GitHub 出现安全类 issue 提醒,据用户反馈从 Monero 门罗币官网 getmonero.org 下载的 CLI 二进制钱包文件和正常 hash 不一致,疑似被恶意替换!而且用户被盗大概价值 7000 美金的门罗币。
慢雾安全团队第一时间发布预警并进行了相关安全分析与溯源:
在 Reddit 上的反馈地址:
https://www.reddit.com/r/Monero/comments/dyfozs/security_warning_cli_binaries_available_on/
GitHub 上的讨论地址:
https://github.com/monero-project/monero/issues/6151
Linux 二进制文件:
用户 nikitasius 提供了能够检索到的恶意二进制文件信息:
https://www.reddit.com/r/Monero/comments/dyfozs/security_warning_cli_binaries_available_on/
此二进制文件是有以下属性的 ELF 文件:
MD5:d267be7efc3f2c4dde8e90b9b489ed2a
SHA-1:394bde8bb86d75eaeee69e00d96d8daf70df4b0a
SHA-256:ab9afbc5f9a1df687558d570192fbfe9e085712657d2cfa5524f2c8caccca31
File type:ELF
Magic: ELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked (uses shared libs), for GNU/Linux 3.2.0, from 'x)', not stripped
File size: 27.63 MB (28967688 bytes)
对比合法文件和此 ELF 文件时,我们发现文件大小有所不同,并添加了一些新功能代码,如:
cryptonote :: simple_wallet :: send_seed
在打开或创建新钱包后会立即调用此功能,进行如下图所示的操作:
私钥将会被发送到:node.hashmonero.com
cryptonote :: simple_wallet :: send_to_cc
该功能会将数据发送到 CC 或 C2(命令控制服务器)服务器,从而窃取用户资产。
使用向该 C2 服务器发送 HTTP POST 请求,将资金相关敏感信息发送到以下恶意 C2:
node.xmrsupport.co
45.9.148.65
从分析来看,似乎并没有创建任何其他文件或文件夹,只是窃取私钥并试图从钱包中盗走资产。
Windows 二进制文件:
C2 服务器45.9.148.65 还具有以下属性:
MD5: 72417ab40b8ed359a37b72ac8d399bd7
SHA-1: 6bd94803b3487ae1997238614c6c81a0f18bcbb0
SHA-256: 963c1dfc86ff0e40cee176986ef9f2ce24fda53936c16f226c7387e1a3d67f74
File type: Win32 EXE
Magic: PE32+ executable for MS Windows (console) Mono/.Net assembly
File size: 65.14 MB (68302960 bytes)
Windows 版实际上与 Linux 版有相同的功能: 窃取私钥和钱包资产。
只是函数名称不同而已,例如 _ZN10cryptonote13simple_wallet9send_seedERKN4epee15wipeable_stringE
如果你有使用防火墙或代理(硬件或软件),请验证是否有网络流量与以下域名、IP发生连接:
node.hashmonero.com
node.xmrsupport.co
45.9.148.65
91.210.104.245
删除此文中列出的所有二进制文件;
验证 Monero 安装程序或安装程序文件的 hash 值。
针对初学者:https://src.getmonero.org/resources/user-guides/verification-windows-beginner.html
高级用法:https://src.getmonero.org/resources/user-guides/verification-allos-advanced.html
注意:哈希列表位于:https://web.getmonero.org/downloads/hashes.txt
什么是哈希?哈希是唯一的标识符。这可以是一个文件、一个单词等,最好使用 SHA256 哈希进行文件检查。
你还可以使用以下 Yara 规则来检测恶意或受感染的二进制文件:
Monero_Compromise.yar
下载 Yara(和文档):https://github.com/VirusTotal/yara
建议
安装杀毒软件,并尽可能使用防火墙(免费或付费的都行);
如果已经在使用防病毒软件:使用 Monero(或其他矿工)时,最好不要在防病毒软件中排除特定的文件夹,如果需要,请在验证 hash 值之后再使用;
重置你的种子或帐户;
如何重置帐户:https://web.getmonero.org/resources/user-guides/restore_account.html
使用助记词恢复钱包:https://monero.stackexchange.com/questions/10/how-can-i-recover-a-wallet-using-the-mnemonic-seed
监视你的帐户/钱包,确认没有恶意交易。如果有,随时联系门罗团队以获取支持。
请删除并下载最新版本:https://web.getmonero.org/downloads/
门罗官方团队声明:
Warning: The binaries of the CLI wallet were compromised for a short time:
https://web.getmonero.org/2019/11/19/warning-compromised-binaries.html
慢雾团队提醒:
针对供应链攻击,鉴于开发、运维人员安全意识不足等问题,慢雾安全团队很久之前已经预见了这类攻击的可能性,Monero 不是第一个受到攻击的加密货币或钱包,也不可能是最后一个受到攻击的加密货币或钱包。
所以请官方人员注意自身账户安全,请使用强密码,并且一定尽可能使用 MFA(或2FA),时刻保持安全意识;针对各类应用程序有可用新版本更新时注意验证 hash 值。
有问题可以第一时间邮件联系慢雾安全团队 team@slowmist.com
附:
Domain Name: xmrsupport.co
Registry Domain ID: D9E3AC179ACA44FE4B81F274517F8F47E-NSR
Registrar WHOIS Server: whois.opensrs.net
Registrar URL: www.opensrs.com
Updated Date: 2019-11-14T16:02:52Z
Creation Date: 2019-11-14T16:02:51Z
IP HISTORY for hashmonero.com
45.9.148.65 from 2019-11-15 to 2019-11-17
91.210.104.245 from 2019-11-19 to 2019-11-19
感谢
nikitasius 提供的样本
binaryFate from:
https://www.reddit.com/r/Monero/comments/dyfozs/security_warning_cli_binaries_available_on/
bartblaze from:
https://bartblaze.blogspot.com/2019/11/monero-project-compromised.html
往期回顾
慢雾导航
慢雾科技官网
https://www.slowmist.com/
慢雾区官网
https://slowmist.io/
慢雾 GitHub
https://github.com/slowmist
Telegram
https://t.me/slowmistteam
https://twitter.com/@slowmist_team
Medium
https://medium.com/@slowmist
币乎
https://bihu.com/people/586104
知识星球
https://t.zsxq.com/Q3zNvvF
火星号
http://t.cn/AiRkv4Gz