-
-
[翻译]针对macOS的新型加密货币挖矿木马OSX.CpuMeaner
-
发表于:
2017-12-17 19:24
6330
-
[翻译]针对macOS的新型加密货币挖矿木马OSX.CpuMeaner
本文中,我们分析了一个针对macOS的新型加密货币挖矿木马。该恶意软件隐藏于下载的盗版应用程序中,并秘密地利用用户的硬件进行门罗币(一种加密货币)挖矿。
虽然思路与OSX.Pwnet类似,但实现的方法更接近于恶意广告软件。
目标文件名是使用key和clickid参数生成的。当然,下载的软件包不包含任何盗版软件:
在一个假的法文种子站上也发现了该威胁:
一些用户在Apple论坛上抱怨安装的可执行文件xmemapp和cpucooler。 根据VirusTotal,自2017年9月下半月以来,该威胁一直在肆虐,检测率为0。
在撰写本文时,服务器上有三个软件包:
它们有同一个开发者证书的签名:
Apple于2017年11月10日撤销了该证书:
带mosx1标记的软件包释放xmemapp,而带mosx2和mosx3标记的软件包释放cpucooler:
有效载荷的哈希值不同:
它们没有代码签名:
它们的安装位置不同:
安装完成后,软件包将运行postinstall脚本:
xmemapp和cpucooler是定制版的XMRig 2.3.1(一个开源的门罗币CPU挖矿程序)。
作者添加了一些函数来去混淆一些字符串并将反馈发送给服务器:
main()函数中设置了默认参数。硬编码的选项有:
Utils::encdec()使用Utils::hex_to_string()解码十六进制字符串,并异或0x4e解密结果:
这些二进制文件使用2个线程(即200%的CPU)在MinerGate XMR池中为jeffguyen@mail.com(mosx1,mosx2)和martinjwheet@mail.com(mosx3)账号挖矿。
当使用真正的参数(即通过软件包postinstall脚本)执行时,main()会在第一个参数(软件包名)中查找一个"-"和一个".",找到后,以子字符串作为参数调用Postback::sendPostback()函数。
Postback::sendPostback()将安装数据发送到解密的域名,当中使用了Utils::getNumber():
Utils::getNumber()使用Utils::exec()运行解密的ioreg命令。输出经过Jenkins的one-at-a-time哈希算法计算,并转换为包含在请求参数中的十进制表示形式。
讽刺的是,Utils::str_replace()和 Utils::enkins_one_at_a_time_hash()函数没有被使用(死代码)。
在jumpcash.xyz域名被端掉之后,没过多长时间在其他网站上就出现了更多的变种,比如这里和这里:
软件包使用了另一个随后被很快撤销的开发者证书:
Apple于2017年11月22日将该证书撤销:
可执行文件具有新的名称和安装位置:
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课