微软披露加密劫持恶意软件Dexphot,已感染近80000台设备
2019-11-28 12:58:11 Author: www.4hou.com(查看原文) 阅读量:212 收藏

2018年10月,微软检测到恶意挖矿软件Dexphot的大规模分发行动。Dexphot使用了各种复杂的方法来逃避安全解决方案,包括多层混淆、加密和随机文件名来隐藏安装过程,利用无文件技术在内存中直接运行恶意代码,劫持合法的系统进程来掩盖恶意活动。Dexphot最终目的是在设备上运行加密货币挖掘程序,当用户试图删除恶意软件时,监控服务和预定任务会触发二次感染。

微软表示自2018年10月以来不断有Windows设备受到感染,并在今年6月中旬达到峰值的8万多台,自微软部署提高检测率的相关策略和攻击阻止后,每天感染的设备数量开始逐渐下降。

Number of machines that encountered Dexphot over time

复杂的攻击链

Dexphot感染的早期阶段涉及许多文件和步骤。在执行阶段,Dexphot首先将五个关键文件写入磁盘:

1、安装程序,带有两个下载恶意payload的链接

2、MSI包文件,从安装程序其中一处链接处下载

3、一个加密ZIP存档文件

4、加载程序DLL,从加密存档文件中提取

5、加密数据文件,包含三个额外的可执行文件,通过process hollowing加载到系统进程中

除安装程序外,执行期间运行的其他进程是合法的系统进程,包括msiexec.exe(用于安装MSI软件包),unzip.exe(用于从受密码保护的ZIP存档中提取文件),rundll32.exe(用于加载加载程序DLL),schtasks.exe(用于计划任务),powershell.exe(用于强制更新),使用合法系统进程让检测修复变得更加困难。在之后阶段中,Dexphot也会以其他一些系统进程为目标来进行process hollowing,比如svchost.exe,tracert.exe和setup.exe。

Dexphot attack chain

多层逃避机制

Microsoft Defender ATP显示,Dexphot安装程序由SoftwareBundler:Win32/ICLoader及其变体植入运行,安装程序带有两个下载恶意payload的链接,之所以这么做是为了建立持久性的机制。

安装程序从其中一处链接下载MSI程序包,启动msiexec.exe执行静默安装。这是Dexphot运用 living-off-the-land(“LOLBin”,指攻击者利用合法的二进制文件进行隐藏的恶意活动)技术的第一处实例。

Dexphot的安装包通常都有一个混淆的批处理脚本,msiexe .exe在开始安装过程时会优先运行此脚本,目的是检查防病毒产品。如果发现防病毒产品正在运行,Dexphot会立即停止感染过程。

当我们刚开始研究时,此脚本仅检查Avast和AVG的防病毒产品,后来Windows Defender Antivirus也被添加到名单中。

如果恶意进程能继续运行,Dexphot将从MSI包解压ZIP加密存档文件,密码在MSI包中。除了密码之外,包中还有一个干净的unzip.exe,这样就不必依赖于目标系统的ZIP实用程序了。为了避免详细检查,包中的unzip.exe文件常被命名为不同的名称,比如z.exe或exe .exe。

ZIP归档文件一般包含了三个文件:加载程序DLL、加密的数据文件(通常命名为bin.dat),通常还包含一个干净且不相关、可能用于误导检测的DLL。

Dexphot通常会将解压的文件提取到目标系统的“Favorites”文件夹中,并对根据执行时间对文件重命名,例如C:\Users\<user>\Favorites\\Res.Center.ponse\<numbers>。重命名的命令也是混淆的,如下图所示:

Msiexec.exe接下来调用rundll32.exe,指定加载程序DLL(在本例中为urlmon.7z)来解密数据文件。解密过程涉及使用二进制中硬编码的密钥,进行ADD和XOR操作。

解密的数据包含三个可执行文件,与前面描述的文件不同,这些可执行文件永远不会写入文件系统,它们仅存在于内存中,Dexphot通过process hollowing将它们加载到其他系统进程中来运行。

通过无文件技术隐秘执行

Process hollowing是一种可以将恶意软件隐藏在合法系统进程中的技术,它用恶意代码来替换合法进程的内容。使用这种方法检测隐藏的恶意代码并非易事,因此process hollowing已成为当今恶意软件普遍使用的技术。

此方法的另一个优点是无文件:可以运行代码,而无需实际将其保存在文件系统上。在运行过程中,不仅很难检测到恶意代码,而且在进程停止后也很难找到有用的取证工具。

要启动process hollowing,加载程序DLL以挂起状态生成两个合法的系统进程(例如svchost.exe或nslookup.exe),并用第一个和第二个解密的可执行文件替换掉这些进程的内容。这些可执行文件是监视服务,用于维护Dexphot的组件。之后将恶意进程将从挂起状态中释放并运行。

接下来,加载程序DLL以SysWoW64中的setup.exe文件为目标,将setup.exe的内容删除,并将其替换为第三个解密的可执行文件——加密货币矿机。在我们的研究过程中,发现Dexphot有使用XMRig、JCE Miner等不同的矿机。

定期更新实现持久性

Dexphot有两个监视服务,能同时检查三个恶意进程的状态,两个监视服务的目的是当其中一个监视服务停止时,另一个也能发挥作用。如果有进程被终止,则监控器将立即识别情况,终止所有剩余的恶意进程,然后重新感染设备。这种强制更新/重新感染过程由PowerShell命令启动,如下所示:

监视组件还可以检测新启动的cmd.exe进程并立即将其终止。作为最终的故障保护,Dexphot使用schtasks.exe创建计划任务,命令如下所示:

这种持久性技术很有趣,因为它采用了两种截然不同的MITER ATT&CK技术:计划任务和签名二进制代理执行。

计划任务将msiexec.exe作为代理运行恶意代码,就像在安装过程中使用msiexec.exe一样。使用合法系统进程msiexec.exe可能会更难跟踪恶意活动的来源。

此外,这些任务使Dexphot可以在每次任务运行时方便地从Web端更新payload,它们会在系统重新启动时以及系统运行时每90或110分钟自动更新Dexphot的所有组件。

Dexphot还会在运行时生成任务的名称,这意味着简单的硬编码任务名称阻止列表将无法有效阻止它们运行。名称通常采用GUID格式,就在微软发布了第一轮Dexphot威胁保护后,创作者开始转为使用随机字符串。

另外,对于计划任务,创作者还使用了另一种逃避技术:某些Dexphot变体将msiexec.exe复制到任意位置,并为其指定一个随机名称,如%AppData%\<random>.exe。这使得运行恶意代码的系统进程成为移动目标。

多样性

Dexphot在其分布的二进制文件中展示了多层多样性。例如活动中使用的MSI包,包含的文件如下表所示,如上所述,MSI包通常包含一个干净的解压版本、一个有密码的ZIP文件和一个用于检查防病毒产品的批处理文件。但批处理文件并不总是存在,ZIP文件名称、加载程序 DLL的名称,以及解压ZIP文件的密码也充斥着变化。

另外,每个加载程序DLL的内容因软件包而异,ZIP文件中包含的加密数据也有所不同。每次攻击者将文件捆绑在一起时,都会生成不同的ZIP存档,进而生成唯一的MSI软件包。由于这些精心设计的变化,传统的基于文件的检测方法对Dexphot无效。

1.png

大量主机托管payload

除了跟踪Dexphot用于执行攻击的文件和进程之外,我们还一直在监视用于托管恶意有效负载的域。用于托管的域名地址通常以.info或.net TLD结尾,而实际有效负载文件名则由随机字符组成,类似于先前所看到的用于生成文件名和计划任务的随机性。下表列出了我们研究的一些例子。

111.png

列出的许多链接都被使用过很长时间了,但每个URL上托管的MSI软件包都经常被更改或更新,域的数量也是在不断补充更新。经过几个月的监视,我们能够识别大约200个唯一的Dexphot域。

结论:动态、全面的防御措施,可以应对日益复杂的日常威胁

Dexphot不是那种能引起主流媒体关注的攻击类型,它只是在任何特定时间都处于活动状态的无数恶意软件其中之一。它的目标也非常普遍——悄无声息安装一个窃取计算机资源并为攻击者创造收入的加密货币挖矿机,但Dexphot的出现也证明了这种日常普遍的威胁正变得越来越复杂,发展速度也越来越快。

为了抵御威胁,Microsoft Defender Advanced Threat Protection的防病毒组件中的下一代保护引擎会在攻击链上的多个位置检测并阻止恶意技术。对于Dexphot,云中基于机器学习的检测可以识别并阻止rundll32.exe加载的DLL,从而在早期阶段停止攻击链。内存扫描可检测并终止由process hollowing隐藏的恶意代码的加载,包括尝试通过PowerShell命令更新恶意软件代码并重新感染计算机的监视进程。

行为阻止和遏制功能在克服Dexphot的无文件技术,逃避检测和持久性机制(包括定期和启动时尝试通过计划任务更新恶意软件)方面特别有效。如前所述,考虑到攻击链和Dexphot持久性方法的复杂性,我们发布了一种补救解决方案,该解决方案可通过消除工件来防止再次感染。

行为阻止和功能遏制在击败Dexphot的无文件技术、检测规避和持久性机制方面尤其有效,包括通过计划的任务定期和引导时尝试更新恶意软件。如前所述,考虑到攻击链和Dexphot的持久性方法的复杂性,我们发布了一个修复解决方案,通过删除某些不见来防止二次感染。

Microsoft Defender ATP solutions for Dexphot attack

IoC

安装程序(SHA-256):

72acaf9ff8a43c68416884a3fff3b23e749b4bb8fb39e16f9976643360ed391f

MSI文件 (SHA-256):

22beffb61cbdc2e0c3eefaf068b498b63a193b239500dab25d03790c467379e3

65eac7f9b67ff69cefed288f563b4d77917c94c410c6c6c4e4390db66305ca2a

ba9467e0d63ba65bf10650a3c8d36cd292b3f846983032a44a835e5966bc7e88

加载程序DLLs  (SHA-256):

537d7fe3b426827e40bbdd1d127ddb59effe1e9b3c160804df8922f92e0b366e

504cc403e0b83233f8d20c0c86b0611facc040b868964b4afbda3214a2c8e1c5

aa5c56fe01af091f07c56ac7cbd240948ea6482b6146e0d3848d450977dff152

本文翻译自:https://www.microsoft.com/security/blog/2019/11/26/insights-from-one-year-of-tracking-a-polymorphic-threat/如若转载,请注明原文地址: https://www.4hou.com/web/21822.html


文章来源: https://www.4hou.com/web/21822.html
如有侵权请联系:admin#unsafe.sh