微软披露加密劫持恶意软件Dexphot,已感染近80000台设备

来源:岁月联盟 编辑:猪蛋儿 时间:2020-01-29

2018年10月,微软检测到恶意挖矿软件Dexphot的大规模分发行动。Dexphot使用了各种复杂的方法来逃避安全解决方案,包括多层混淆、加密和随机文件名来隐藏安装过程,利用无文件技术在内存中直接运行恶意代码,劫持合法的系统进程来掩盖恶意活动。Dexphot最终目的是在设备上运行加密货币挖掘程序,当用户试图删除恶意软件时,监控服务和预定任务会触发二次感染。
微软表示自2018年10月以来不断有Windows设备受到感染,并在今年6月中旬达到峰值的8万多台,自微软部署提高检测率的相关策略和攻击阻止后,每天感染的设备数量开始逐渐下降。

复杂的攻击链
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。

多层逃避机制
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//Favorites//Res.Center.ponse/。重命名的命令也是混淆的,如下图所示:

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命令启动,如下所示:

[1] [2]  下一页