迈克菲实验室的研究人员发现了一种名为WebCobra的恶意软件,它利用受害机器的算力挖掘加密货币。
挖矿恶意软件很难被检测到。一旦计算机遭到入侵,恶意软件就会在后台静默运行,机器只有一个特征:性能下降。挖矿软件会增加功耗,降低运行速度,留给拥有者的只有头疼和账单。根据最近的一份报告,挖出一个比特币可能需要花费531美元到26,170美元的能源成本。
加密货币价值的增加刺激了网络犯罪分子,他们利用恶意软件窃取机器资源,并在未经受害者同意的情况下挖矿。
下图显示了挖矿恶意软件的流行程度与Monero加密货币价格的变化走向,可见两者的相关性。
图**1 :加密货币Monero的价格在2018年初达到顶峰。挖矿恶意软件的总样本继续增长。资料来源:https://coinmarketcap.com/currencies/monero/。
McAfee Labs 此前曾分析过挖矿病毒CoinMiner;。在迈克菲的大力协助下,网络威胁联盟发布了一份报告“非法加密货币采矿威胁”。最近,我们检查了俄罗斯的一款应用程序WebCobra,该应用程序会静默地删除并安装Cryptonight miner或Claymore's Zcash miner,具体是安装还是删除取决于WebCobra探测到的系统架构。McAfee产品可检测并防范此威胁。
这种威胁是通过流氓安装程序散播的。我们在全球范围内都能观察到它,其中巴西,南非和美国的感染数量最多。
图2:McAfee Labs 9月9日至13日发布的WebCobra感染热图。
这种挖矿软件并不常见,因为它会根据其感染的计算机配置舍弃一些不需要的矿工。我们将在本文后面讨论这个细节。
主要的植入程序是一个Microsoft安装程序,用于检查运行环境。在x86系统上,它将Cryptonight miner代码注入正在运行的进程并启动进程监视器。在x64系统上,它检查GPU配置,然后从远程服务器下载并执行Claymore's Zcash miner。
图3:WebCobra的安装程序。
启动后,恶意软件会植入并使用以下命令解压一个带密码的Cabinet归档文件:
图4:解压缩已植入文件的命令。
CAB文件包含两个文件:
CAB文件使用以下脚本来执行ERDNT.LOC:
图5:加载DLL文件的脚本ERDNT.LOC。
ERDNT.LOC解密data.bin并使用以下例程将执行流传递给它:
[PlainText_Byte] = (([EncryptedData_Byte] + 0x2E) ^ 0x2E) + 0x2E
图6:解密例程。
程序会检查运行环境以启动合适的miner,如下图所示:
图7:根据系统配置启动合适的miner。
解密并执行data.bin后,它会尝试进行一些反调试,反仿真和反沙箱技术,以及检查系统上运行的其他安全软件。这些步骤可以使恶意软件隐匿相当长一段时间。
大多数安全软件都会hook一些API来监控恶意软件的行为。为了避免被这种技术发现,WebCobra将ntdll.dll和user32.dll作为数据文件加载到内存中,并覆盖这些函数的前8个字节,这些函数可以unhook API。
恶意软件将恶意代码注入svchost.exe,并使用一个死循环检查所有打开的窗口,将每个窗口的标题栏文本与这些字符串进行比较。这是WebCobra的另一项检查,以确定它是否运行在一个专为恶意软件分析而设计的隔离环境中。
如果窗口栏名称有任何一个匹配上了,就会终止进程。
图8:如果窗口标题栏文本包含特定字符串,则终止进程。
执行进程监视器后,它将miner的配置文件作为参数,创建一个svchost.exe实例,并注入Cryptonight miner代码。
图9:创建svchost.exe实例并执行Cryptonight miner。
最后,恶意软件在后台静默运行Cryptonight miner,并且会消耗完几乎所有CPU资源。
图10:感染Cryptonight miner的x86机器。
如果发现Wireshark正在运行,恶意软件会终止感染。
图11:检查Wireshark。
恶意软件会检查GPU品牌和型号。仅在安装以下其中一家的产品时才运行:
图12:检查GPU型号。
检查完成之后,恶意软件会创建一个隐藏文件夹,并从远程服务器下载、执行Claymore's Zcash miner。
图13:请求下载Claymore's Zcash miner。
图14:Claymore's miner。
图15:使用其配置文件执行挖矿软件。
最后,恶意软件植入一个批处理文件到%temp%\–xxxxx.cMD ,以从 [WindowsFolder]{DE03ECBA-2A77-438C-8243-0AF592BDBB20}*.*中删除主植入程序。
图16:删除dropper的批处理文件。
miner的配置文件如下。
图17:Cryptonight的配置文件。
此配置文件包含:
图18:Claymore's Zcash miner配置文件。
此配置文件包含:
网络犯罪分子会继续利用这种相对容易的途径来窃取资源,挖矿恶意软件也在不断演变。和勒索软件相比,在其他人的系统上挖矿投资更少,风险更小。并且收入不依赖于同意汇款的受害者的百分比。直到用户发现他们的机器被用以挖矿之时,犯罪分子已经获得了不菲的收入。