php发展

首页 » 常识 » 诊断 » 现代恶意软件技术概述盘点近十年恶意软件对
TUhjnbcbe - 2021/4/11 16:41:00
北京专业治疗白癜风医院是哪家         https://baike.baidu.com/item/%E5%8C%97%E4%BA%AC%E4%B8%AD%E7%A7%91%E7%99%BD%E7%99%9C%E9%A3%8E%E5%8C%BB%E9%99%A2/9728824

一、前言

.WMI概述

Windows管理规范(WMI)是用于在Windows操作系统上管理数据和进行操作的基础结构。WMI是微软基于Web的企业管理(WBEM)的实现。WMI使用通用信息模型(CIM)行业标准来表示系统、应用程序、网络、设备和其他托管组件。

WMI可以在所有基于Windows的应用程序中使用,其设计的初衷在于能够与C/C++、VBA或任何Windows上有引擎的脚本语言一起使用,并且可以处理ActiveX对象。有很多Windows功能都具有相关的WMI提供程序,它们实现WMI类、方法和属性定义的功能,以管理相对应的Windows功能。管理用用程序通过各种基于组件对象模型(COM)的接口与WMI通信。

主要的WMI类包括:

、WMI系统类:WMI核心中,每个命名空间所包含的预定义类,它们提供了许多基本功能,其作用与SQLServer中的系统表类似;

2、MSFT类:提供了操纵操作系统功能的方法,例如远程事件和策略扩展;

3、CIM类:公共信息模型(CIM)类,可以从这些类中继承,Win32类就是从CIM类中继承;

4、标准使用者类:一组WMI事件使用者,它们在收到任意事件后触发操作。

.2恶意场景

最早滥用WMI的恶意软件是Stuxnet,它也彻底改变了我们的网络安全环境。时至今日,越来越多的恶意软件都开始滥用WMI(Windows管理规范)。Stuxnet是年最为复杂的蠕虫之一,它影响了伊朗纳坦兹的核处理设施,并使用WMI遍历用户,将自身传播到可用的网络共享之中。它还使用了MOF(托管对象格式)文件,这是用于创建和注册WMI提供程序和事件的方法。从ATTCK的视角来看,该恶意软件在持久化阶段滥用了WMI(T)中的WMI事件订阅,在侦查阶段进行了帐户侦查(T)和网络共享侦查(T35),在横向移动阶段进行了远程文件复制(T05)。

这篇文章将详细盘点使用WMI实现其目标的恶意软件。我们期望通过本文的盘点,可以让安全从业者和决策者了解当前恶意技术。其中的每种技术都与MITERATTCK矩阵中的策略对应,由此展示出在防范网络攻击的过程中应当进行适当的WMI监控。

下面的策略可能直接或间接地使用WMI,每种策略都与技术相对应。

、执行

()Windows管理规范技术(T);

(2)进程间通信:组件对象模型(T.00),与WMI的交互是通过COM完成的;

(3)命令和脚本解释器:

PowerShell(T.00),例如通过使用Get-WmiObjectcmdlet获取WMI类的实例;

(4)远程服务:WMI(T02.),WMI为WinRM提供管理数据;

(5)计划任务/作业(T),

Win32_ScheduledJobWMI类表示使用AT命令创建的作业。

2、持久化

()事件触发执行:WMI事件订阅(T.),WMI可用于安装事件过滤器、提供程序、使用者和绑定,它们可以在发生特定事件时执行代码;

(2)外部远程服务(T33),可以使用WinRM;

(3)启动或登录时自动执行:注册表运行键/启动文件夹(T.00),WMI类StdRegProv中包含用于操作注册表运行键的方法。

3、防御逃避

()影响防御:禁用或修改工具(T.00),可以通过WMI删除注册表项,或使用wmic.exe终止进程来实现该技术;

(2)间接命令执行(T),通常情况下为了避免检测,恶意软件可以使用Win32_ProcessWMI类执行命令,而无需直接调用cmd.exe;

(3)修改注册表(T2),WMI类StdRegProv包含用于操纵注册表项的方法。

4、侦查

()帐户侦查(T),Win32_UserAccountWMI类包含有关计算机系统上用户帐户的信息,Win32_LoggedOnUserWMI类将会话和用户帐户相关联;

(2)文件和目录侦查(T),Win32_DirectoryWMI类可以操纵目录,CIM_DataFileWMI类表示数据的命名集合,Win32_ShortcutFileWMI类表示快捷方式文件;

(3)外围设备发现(T20),有很多关键的WMI类,例如:Win32_CDROMDrive、Win32_DesktopMonitor、Win32_InfraredDevice、Win32_Keyboard、Win32_Printer、Win32_SerialPort、Win32_USBController、Win32_VideoControlleretc等;

(4)权限组侦查(T),Win32_GroupWMI类提供有关组帐户的信息,Win32_GroupUser关联一个组和组内成员的帐户;

(5)进程侦查(T),Win32_ProcessWMI类可以实现对进程的侦查;

(6)注册表侦查(T02),可以使用StdRegProvWMI类和Win32_Registry类从注册表中获取数据;

(7)远程系统侦查(T08),Win32_PingStatus可以获取使用IPv4或IPv6地址计算机的返回数据;

(8)系统信息侦查(T),有很多可以使用的类,例如

Win32_OperatingSystem、Win32_SystemResourcesetc等;

(9)系统网络配置侦查(T06),

Win32_SystemNetworkConnectionsWMI类与网络连接有关,MSFT_NetAdapter可以提供有关网络适配器的信息;

(0)系统服务侦查(T),Win32_ServiceWMI类可以表示服务;

()系统时间侦查(T24),使用

Win32_TimeZone可以检索时区信息;

(2)虚拟化/沙箱逃逸(T),

Win32_ComputerSystemWMI类和Win32_BaseBoard可以检测VM。

5、横向移动

()进程间通信:组件对象模型(T.00),与WMI的交互是通过COM完成的;

(2)远程服务:

Windows远程管理(T02.),WMI为WinRM提供管理数据;

(3)远程服务(T02),Win32_ServiceWMI类表示可以位于远程位置的服务;

(4)入口工具传输(T05),

可以使用Win32_ShareWMI类来实现。

6、命令和控制

()非标准端口(T57),WMI调用使用35端口,然后选择一个随机端口;

(2)远程访问硬件(T29),

ManagementScope.Connect方法将目标对象连接到远程计算机上的WMI命名空间。

7、渗出

()通过C2通道进行渗出(T04),可以使用连接到远程计算机上的命名空间的ManagementScope对象来实现渗出。

考虑到WMI的复杂性,上述列表可能并不详尽。WMI滥用还可以通过其它策略和技术,以更具创新性的方式来执行。但是,我们希望对这些技术的总结,能够有助于WMI检测机制的实现和改进。作为对上述内容的补充,我们会盘点一些流行恶意软件的示例,重点揭示它们是如何使用上述技术滥用WMI的。

二、恶意软件技术分析

2.Kingminer

Kingminer是自年以来一直存在的一种加密劫持恶意软件,至今仍然在持续发展,网络犯罪分子可以通过感染企业环境而获利。Kingminer在改进版本中加入了一些恶意技术,例如暴力破解SQLServer以实现初始访问、类似于WannaCry的内核漏洞利用、用于逃避黑名单的域生成算法、无文件执行等。

这种加密劫持软件滥用了WMI来检查系统上是否安装了特定的WindowsUpdate,并且禁用了对受感染计算机的远程桌面访问。

在执行阶段,它滥用了WMI事件订阅机制,恶意脚本的一部分注册了活跃脚本使用者以实现定期执行。WMI事件使用者通过WMI事件订阅这种事件触发执行的方式(T.)来保证持久性。

如果希望完整分析该恶意软件,包括其中有代表性的恶意代码,可以阅读《Kingminer僵尸网络不断改进》[3]这篇文章。

2.2Maze勒索软件

在年5月底,一个名为Maze的新勒索软件成为了新闻头条,填补了GandCrab消失后的空白。Maze的作者实现了一种渗出机制,利用付款和转账实现数据泄露。利用WMI,Maze可以销毁所有存在的Windows备份,例如卷影副本。

通过查询Win32_ShadowCopyWMI类,可以找到在恶意软件下一阶段中要删除的卷影,该技术称为禁用系统恢复(T)。

为了更好地理解Maze勒索软件,建议阅读代码片段,可以参考《恶意软件研究者指南:逆向Maze勒索软件》。

2.3Emotet

Emotet,也称为Geodo或Mealybug,在年首次被发现,此后一直活跃。其第一个版本是银行木马,用于捕获受害者的银行凭据。几年后,该恶意软件从一个面向银行的威胁演变成更为通用的加载程序,可以获取系统访问权限,然后投递其他Payload,而这个Payload可以是可执行文件或脚本。

如今,Emotet的最常见攻击媒介是鱼叉式钓鱼邮件附件(T.00)。在电子邮件中,通常包含一个.doc文件。为了诱导用户执行恶意VBA,攻击者通常会使用社会工程学。Emotet目前已经不再局限于对银行进行攻击,还会包含加密货币挖矿和勒索软件的功能。

在策略和技术方面,最新版本的Emotet使用WMI。由于其传播非常广泛,我们在这篇文章中将进行分析,以说明如何借助WMI相关技术来检测该恶意软件。由于恶意软件并没有直接生成PowerShell,而是主要使用间接命令执行(T)技术,这里就需要用到Win32_ProcessWMI类,所以有时会被检测到。

为了配置进程的启动参数,恶意软件还会使用Win32_ProcessStartup抽象WMI类。

Emotet技术分析

我们捕获到其中一个感染来源,并对文档进行了分析,最终发现其传播依赖于VBA事件过程。在打开文件时(如果已启用宏),将会触发一个调用Document_Open()过程的事件。

作为一种混淆技术,攻击者在所有的存储过程中都使用了与下面类似的代码段,实际上这些代码没有任何作用。

下面展示的代码已经去掉了上述所提到的混淆模块,以使其更加具有可读性。Document_Open()从Zgwsfixtdhep调用Rorsxwhelbf()。

PowerShell命令行使用Yujnbbunz格式存储,并通过删除“}{”的方式,使用相同的机制进行解码。

利用WMI,Emotet恶意软件打破了进程树。如果防御者没有正确地对WMI进行监控,通常可以让恶意软件逃避检测。

2.4sLoad

sLoad是一个PowerShell下载程序,其中包含值得

1
查看完整版本: 现代恶意软件技术概述盘点近十年恶意软件对