门罗币恶意钱包文件分析。
门罗币恶意钱包文件分析。
11月19日零时科技安全情报中心监控到消息称,门罗币官方发布安全警告,一些用户反映称下载的二进制文件的哈希值与预期的二进制文件不匹配。经检查,官方称在过去24小时内,getmonero.org上可用CLI二进制文件遭到攻击 ,二进制文件hash和正常 hash不一致,疑似被非法替换,建议用户从安全的备用来源来下载文件。
任何不同内容哈希 之后,得到的结果总是不一样。
零时科技安全团队及时进行事件分析,通过从GitHub下载安装文件,以及从门罗币官网下载的安装文件,两个压缩包文件hash不一致,且从GitHub下载的安装文件压缩包hash值与官网给出的hash值一致,官网下载的安装文件压缩包hash与官方给出的hash不一致。
对文件解压后进行对比分析发现:
门罗币官网恶意hash值文件monero-wallet-cli具体hash值: 7ab9afbc5f9a1df687558d570192fbfe9e085712657d2cfa5524f2c8caccca31
Github上正确hash值文件monero-wallet-cli具体hash值: 5decc690a63aab004bae261630980e631b9d37a0271bbe0c5b477feffcd3f8c2/monero-wallet-cli
通过对恶意二进制文件的对比分析,攻击者添加了两个恶意函数:
cryptonote::simple_wallet::send_to_cc at address 0x0000000000689AE0
cryptonote::simple::wallet::send_seed at address 0x000000000068B590
上述两个函数send_to_cc
和send_seed
在函数cryptonote::simple_wallet::print_seed
中调用,而函数print_seed
又在cryptonote::simple_wallet::open_wallet
和 cryptonote::simple_wallet::new_wallet
中调用。
攻击者在恶意代码中的seed_send函数中把私钥信息发送到node. hashmonero .com 服务器,如下图:
接着,攻击者在恶意代码中的seed_to_cc函数中把账户资金相关信息通过HTTP POST请求发送到45.9.148.65 服务器的18081端口,如下图:
通过上述代码分析整理恶意代码的整个调用过程及攻击流程如下:
new_wallet(新建钱包) -> print_seed -> send_seed(发送私钥信息到CC服务器) -> send_to_cc(发送资金信息到CC服务器)
open_wallet(打开钱包) -> print_seed -> send_seed(发送私钥信息到CC服务器) -> send_to_cc(发送资金信息到CC服务器)
从上述分析可以明显看出当用户打开钱包或者创新新钱包时,用户的私钥信息将被盗走。
CC服务器 45.9.148.65 域名为 node.xmrsupport.co,详细信息如下:
域名hashmonero.com的历史解析记录:
所有人应该注意自身账户安全,使用强密码,并且尽可能开启两步验证MFA(或2FA),时刻保持安全意识提高警惕。
在更新程序版本时注意验证 hash 值。
安装杀毒软件,并尽可能使用防火墙。
监视你的帐户/钱包,确认没有恶意交易。
下载使用最新版本,地址。
目前正确的官方hash列表文件
本文由深入浅出区块链社区合作伙伴 - 零时科技安全团队提供。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!