一、引言
1. 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关键中,每一个类名所包括的预订义类,他们提供了很多基本上功能,其效果与SQL Server中的系统软件表相近;
- MSFT类:提供了控制电脑操作系统功能的方式,例如远程控制事件和对策拓展;
- CIM类:公共资源实体模型(CIM)类,可以从这种类中承继,Win32类就是以CIM类中承继;
- 规范使用者类:一组WMI事件使用者,他们在接到随意事件后开启实际操作。
2. 故意情景
最开始滥用WMI的恶意软件是Stuxnet,它也转变了大家的网络信息安全自然环境。时迄今日,愈来愈多的恶意软件都逐渐滥用WMI(Windows规范化管理)。Stuxnet是2010年更为繁杂的蜘蛛之一,它危害了沙特纳坦兹的核解决设备,并应用WMI解析xml客户,将本身散播到可以用的网络共享当中。它还采用了MOF(代管目标文件格式)文档,这也是用以构建和申请注册WMI提供程序流程和事件的方式。从ATT&CK的角度看来,该恶意软件在分布式锁环节滥用了WMI(T1084)中的WMI事件定阅,在审查起诉开展了账号侦察(T1087)和网络共享侦查(T1135),在横着挪动环节完成了远程控制文档拷贝(T1105)。
这篇文章将详尽汇总应用WMI完成其方向的恶意软件。大家期待根据文中的汇总,可以让安全性从业人员和管理者掌握现阶段故意技术性。在其中的每一种技术性都和MITER ATT&CK引流矩阵中的对策相匹配,从而展现出在预防黑客攻击的历程中理应开展恰当的WMI监管。
下边的对策很有可能立即或间接的应用WMI,每一种对策都和技术性相对性应。
(1) 实行
- Windows规范化管理技术性(T1047);
- 进程间通信:部件领域模型(T1559.001),与WMI的互动是根据COM进行的;
- 指令和脚本制作编译器:PowerShell(T1059.001),例如根据应用Get-WmiObject cmdlet获得WMI类的案例;
- 远程服务:WMI(T1021.006),WMI为WinRM提供管理方法数据信息;
- 任务计划/工作(T1053),Win32_ScheduledJob WMI类表明应用AT命令建立的工作。
(2) 分布式锁
- 事件开启实行:WMI事件定阅(T1546.003),WMI可用以安裝事件过滤装置、提供程序流程、使用者和关联,他们可以在产生特殊事件时实行编码;
- 外界远程服务(T1133),可以应用WinRM;
- 运行或登陆时全自动实行:注册表文件运作键/启动文件夹(T1547.001),WMI类StdRegProv中包括用以实际操作注册表文件运作键的方式。
(3) 防御力躲避
- 危害防御力:禁止使用或改动专用工具(T1562.001),可以根据WMI删除注册表项,或应用wmic.exe停止过程来完成该技术性;
- 间接性指令实行(T1202),一般来说为了防止检验,恶意软件可以应用Win32_Process WMI类运行命令,而不用立即启用cmd.exe;
- 注册表修改(T1112),WMI类StdRegProv包括用以控制注册表项的方式。
(4) 侦察
- 账号侦察(T1087),Win32_UserAccount WMI类包括相关计算机软件上客户账号的信息内容,Win32_LoggedOnUser WMI类将对话和客户账号密切相关;
- 文档和文件目录侦察(T1083),Win32_Directory WMI类可以控制文件目录,CIM_DataFile WMI类表明信息的取名结合,Win32_ShortcutFile WMI类表明快捷方式图标文档;
- 外部设备发觉(T1120),有很多重要的WMI类,例如:Win32_CDROMDrive、Win32_DesktopMonitor、Win32_InfraredDevice、Win32_Keyboard、Win32_Printer、Win32_SerialPort、Win32_USBController、Win32_VideoControlleretc等;
- 管理权限组侦察(T1069),Win32_Group WMI类提供相关组账号的信息内容,Win32_GroupUser关系一个组和同组组员的账号;
- 过程侦察(T1057),Win32_Process WMI类可以完成对过程的侦察;
- 注册表文件侦察(T1012),可以应用StdRegProv WMI类和Win32_Registry类从注册表文件中获取信息;
- 远程控制系统软件侦察(T1018),Win32_PingStatus可以获得应用IPv4或IPv6详细地址电子计算机的回到数据信息;
- 系统信息侦察(T1082),有很多可以采用的类,例如Win32_OperatingSystem、Win32_SystemResourcesetc等;
- 系统软件网络配置侦察(T1016),Win32_SystemNetworkConnections WMI类与数据连接相关,MSFT_NetAdapter可以提供有关网络适配器的信息内容;
- 服务程序侦察(T1007),Win32_Service WMI类可以表明服务项目;
- 时间格式侦察(T1124),应用Win32_TimeZone可以查找时区时间信息内容;
- 虚拟化技术/沙盒肇事逃逸(T1497),Win32_ComputerSystem WMI类和Win32_BaseBoard可以检验VM。
(5) 横着挪动
- 进程间通信:部件领域模型(T1559.001),与WMI的互动是根据COM进行的;
- 远程服务:Windows远程管理(T1021.006),WMI为WinRM提供管理方法数据信息;
- 远程服务(T1021),Win32_Service WMI类表明可以坐落于远程控制部位的服务项目;
- 通道专用工具传送(T1105),可以应用Win32_Share WMI类来完成。
(6) 指令和操纵
- 非标端口号(T1571),WMI启用应用135端口号,随后选取一个任意端口号;
- 远程连接硬件配置(T1219),ManagementScope.Connect方式将总体目标对象连接到远程计算机上的WMI类名。
(7) 外渗
根据C2安全通道开展外渗(T1041),可以应用联接到远程计算机上的类名的ManagementScope目标来完成外渗。
充分考虑WMI的多元性,以上目录很有可能并不详细。WMI滥用还能够根据其他对策和技术性,以更具有创新的方法来实行。可是,大家想要对这种新技术的汇总,可以有利于WMI检验体制的建立和改善。做为对以上信息的填补,大家会汇总一些时兴恶意软件的实例,关键揭露他们是怎么使用以上技术性滥用WMI的。
二、恶意软件技术指标分析
1. Kingminer
Kingminer是自2018年至今一直出现的一种数据加密挟持恶意软件,迄今依然在不断发展趋势,互联网犯罪嫌疑人可以根据感柒公司自然环境而盈利。Kingminer在改善版本号中添加了一些故意技术性,例如暴力破解密码SQL Server以完成原始浏览、类似WannaCry的核心漏洞检测、用以躲避信用黑名单的域转化成优化算法、无文档实行等。
这类数据加密挟持手机软件滥用了WMI来查看系统软件上是不是安裝了相应的Windows Update,而且禁止使用了对受感柒电子计算机的远程桌面连接浏览。
在实行环节,它滥用了WMI事件定阅体制,故意脚本制作的一部分申请注册了活跃性脚本制作使用者以完成按时实行。WMI事件使用者根据WMI事件定阅这类事件开启实行的方法(T1546.003)来确保持续性。
假如期待详细剖析该恶意软件,包含在其中有象征性的恶意程序,可以阅读文章《Kingminer僵尸网络不断改进》[3]这篇文章。
2. Maze勒索病毒
在2019年5月底,一个名叫Maze的新勒索病毒变成了头条新闻,弥补了GandCrab消退后的空缺。Maze的创作者建立了一种外渗体制,运用支付和转帐完成数据泄漏。运用WMI,Maze可以消毁全部出现的Windows备份数据,例如卷影团本。
根据查看Win32_ShadowCopy WMI类,可以寻找在恶意软件下一阶段时要删掉的卷影,该技术性称之为禁止使用系统恢复(T1490)。
为了更好地能够更好地了解Maze勒索病毒,提议阅读文章编码精彩片段,可以参照《恶意软件学者手册:反向Maze勒索病毒》[4]。
3. Emotet
Emotet,也称之为Geodo或Mealybug,在2014年初次被发觉,此后一直活跃性。其第一个版本号是金融机构木马病毒,用以捕获受害人的金融机构凭证。两年后,该恶意软件从一个朝向金融机构的危害转变成更加通用性的载入程序流程,可以获得系统软件访问限制,随后递送别的Payload,而这一Payload可以是可执行程序或脚本制作。
现如今,Emotet的最普遍进攻媒体是鱼叉式垂钓邮件附件(T1566.001)。在电子邮箱中,通常含有一个.doc文档。为了更好地诱发客户实行故意VBA,网络攻击通常会应用社会工程学。Emotet现阶段早已不会再仅限于对金融机构开展进攻,还会继续包括数字货币挖币和勒索病毒的功能。
在战略和工艺层面,最新版的Emotet应用WMI。因为其散播十分普遍,我们在这篇文章里将开展剖析,以表明怎样依靠WMI有关技术性来检验该恶意软件。因为恶意软件并没立即转化成PowerShell,反而是关键应用间接性指令实行(T1202)技术性,这儿就要使用Win32_Process WMI类,因此有时候会被检验到。
为了更好地配备过程的运行主要参数,恶意软件还会继续应用Win32_ProcessStartup抽象化WMI类。
(1) Emotet技术指标分析
大家捕获到在其中一个感柒由来,并对文本文档做好了剖析,最后发觉其散播取决于VBA事情全过程。在打开文件时(假如已启用宏),可能开启一个启用Document_Open()全过程的事情。
做为一种混淆技术,网络攻击在任何的存储过程里都应用了与下边相近的字符串常量,事实上这种编码没有功效。
下边展现的编码早已除掉了以上所提及的混淆控制模块,以便其更为具备易读性。Document_Open()从Zgwsfixtdhep启用Rorsxwhelbf()。
PowerShell命令行应用Yujnbbunz格式储存,并根据删掉“}{”的方法,应用同样的制度开展编解码。
运用WMI,Emotet恶意软件摆脱了过程树。假如防御者沒有恰当地对WMI开展监管,通常可以让恶意软件躲避检验。
4. sLoad
sLoad是一个PowerShell烧录,在其中包括非常值得留意的WMI侦察作用。微软公司的分析工作人员发觉了其2.0.1版本号[5],Bitdefender发觉并隔离了通过优化后的2.7.3版本号。往往大家能如此实际地域分离出来版本号,是由于恶意软件的开发者将其加上到了故意脚本制作的开始。
在我们剖析sLoad时,一些科研工作人员常常会提及它是怎么使用BITS过虑数据信息的。此次,大家关键剖析它滥用WMI的方法。在侦察阶段中,sLoad根据WMI类Win32_Processor和Win32_OperatingSystem获得相关系统软件的信息内容(T1082,系统信息发觉)。除此之外,它还应用Win32_LogicalDisc类来找寻很有可能具有的共享资源。
(1) sLoad技术剖析
分析的进口点是应用任意名字的PowerShell脚本制作,在人们的样品中是JWVrjYXZ.ps1。它是根据好多个故意造成不正常的try-except块。
正如微软公司Defender APT精英团队先前所研究的,恶意软件根据电子邮箱中附加的ZIP压缩文件配件的方法进入计算机。
任意取名的脚本制作承担编解码在同一文件目录下寻找的“system.ini”文档,并在没有触碰硬盘的情形下,在存储空间中实行该文件。
微软公司精英团队依据在$starsLord = Split-Path -parent -resolve $MyInvocation.MyCommand.Path;中寻找的自变量,将2.0.1版本号称之为“Starslord”。因而,我们可以依据$Sokovia = Split-Path -parent -resolve $MyInvocation.MyCommand.Path;,将2.7.3版本号称之为“Sokovia”。但最实用的名字或是sLoad。
恶意软件将BITS Admin专用工具的团本引入为$Ultron。
针对每一个C&C详细地址,$InfinityStones表明BITS传送工作名字的任意8字符的字符串数组。
$Wanda偏向免费下载其他文件需要的详细指令,该命令为:
假如取得成功安装了最少一个文档,则应用$ad标示对它进行标识,并将內容另存$cryptoKey。
要是没有取得成功下载文件,则会对C&C再次数据加密,并在网站域名后额外一个计数。例如:hxxps[:]//nbrwer2[.]eu/topic/ and hxxps[:]//joodfbnm2[.]eu/topic/,它会撤出并停止PowerShell。
应用WMI类Win32_processor,$Yoda获得到CPU名字。应用Win32_OperatingSystem,可以获得到电脑操作系统信息内容。
获得现阶段运作过程中的特殊目录,储存到$Pietro目录中。
应用带URL主要参数的BITS admin,可以将捕获的数据信息通过Base64编号后发给网络攻击。
在这样的情况下,是应用Download BITS工作来外渗信息内容,并将信息做为URL传参。
假如外渗不成功,则会撤出并停止PowerShell。在错误的情形下,有三个指令可以应用,分别是:
- eval – 运作PowerShell脚本制作;
- iex – 载入并启用PowerShell编码;
- run – 运作可执行程序。
5. 挖币下载神器
另一个实例是应用StdRegProv WMI类控制注册表文件以禁止使用维护制度的挖币下载神器(T1112,注册表修改)。在实行前期,最先查验是不是有数据连接,下载神器应用Win32_PingStatus类对著名网站开展了ping实际操作。该挖币专用工具的命令容许特定要衔接的IP地址,在一些实例中,它还能够联接到法国合理合法的基础设施建设。
(1) 挖币下载神器技术剖析
最先,它试着应用下列指令建立每日任务,该任务在运行的时候会以最大权利等级的SYSTEM真实身份运作。假如无法得到充分的管理权限,可能发生不成功。
这代表着,为了确保持续性,它必须充足的权利。不然,它只是会运行一次额外的Payload。
接着,恶意软件建立服务器防火墙标准,便于将除外加上到cscript.exe或wscript.exe中。
BD37D891CD1C4ABD9C8C781是“WindowsIndexCoreUpdate”,而且是cscript或wscript的BFE途径。
应用winmgmts:{impersonationLevel=Impersonate}!\\.\root\CIMV2:Win32_PingStatus.Address=去ping大型网站,假如取得成功就撤出。
应用“winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv”注册表修改,为%TEMP%途径加上清除项,并禁止使用Windows Defender部件。
E16是&H80000002,表明HKEY_LOCAL_MACHINE。
试着从URL“hxxp[:]//gmfordown[.]com/game[.]log”、“hxxp[:]//tor4games[.]com/steam[.]lock”或“hxxp[:]//dvx2videofr[.]com/pack[.]dll”查找下一阶段恶意程序,并将其另存%TMP%\\steam.vbe。假如取得成功,则会运作脚本制作。假如不成功,则撤出。
每一次运作时,恶意程序都是会变更自变量解析函数的名字,删掉本身,并将调整后的版本号放到%AppData%//
< random_from_guid >/< random_from_guid >.vbs。任意文件目录被掩藏。
假如文档是.VBE脚本制作,则团本也是.VBE。随后在存储空间中再次编号和编解码。
三、汇总
Windows规范化管理为管理人员给予了许多便捷,但也为故意个人行为者给予了许多便捷。因为WMI容许执行无文档进攻,因而大家发觉在野网络攻击愈来愈关心这种技术性。在合理合法应用和故意乱用层面,WMI都保证了非常高的操作灵活性,可以获得相关系统软件的信息内容,乃至为远程计算机和程序开展配备,分配在指定時间运作过程,开启和禁止使用日志纪录以获得执行命令。
这种性能使其变成故意个人行为者的理想化部件,城市广场侦察层面。此外,WMI针对实行、分布式锁、横着挪动、指令和操纵、外渗等过程都是有非常大的危害。做为一种不太常见的间接性方式,它还可以变成防御力躲避的一种方法。
自2018年初次发觉至今,Kingminer一直在飞速发展,现阶段版本号应用事情开启实行-WMI事情定阅(T1546.003)的技术性。更主要的是,WMI处在一个特别细微的部位,可以查验是不是安裝了相应的Windows Update,并阻拦受感柒电子计算机上的远程桌面连接浏览。针对勒索病毒而言,WMI还可以充分发挥至关重要的功效。做为当中的经典案例,大家挑选了Maze开展详细介绍,该恶意程序会应用WMI来删掉Windows备份数据。将视野迁移到金融机构行业,大家关心到著名恶意程序Emotet也采用了WMI。运用间接性指令实行(T1202)技术性,网络攻击可以躲避一些网络安全产品的检验。PowerShell下载神器sLoad常常会乱用BITS,但大家见到,它也并非唯一的进攻构思。
SLoad在审查起诉会采用一些WMI类,例如Win32_Processor、Win32_OperatingSystem和Win32_LogicalDisc这种类来获得系统信息。大家挑选了非常常见的挖币下载神器开展剖析,在该专用工具中,根据WMI控制注册表文件来禁止使用维护体制(T1112,注册表修改)。此外,它还会继续根据Win32_PingStatus类ping大型网站,进而确定是不是联接到互联网技术。
虽然WMI乱用早已连续了近十年,但它依然在再次发展趋势。现如今,它己经可以在各种新式情景中产生,并干扰着很多进攻技术性。从Stuxnet逐渐,当代恶意程序融合了根据WMI的躲避技术性,缺憾的是,这种看起来细小的工艺早已可以阻拦进攻,或使总体目标全方位失陷。