最常见的攻击类型之一是在相当好的进程下在树中生成恶意进程。可执行文件的路径可能会引起怀疑:恶意软件经常使用AppData或Temp文件夹,这在合法程序中并不常见。可以说,一些自动更新实用程序在AppData中运行,因此仅检查启动位置不足以表明程序是恶意的。
合法性的另一个因素是加密签名:许多原始程序是由供应商签名的。您可以使用没有签名的方法来识别可疑启动项。但是话又说回来,有些恶意软件使用被盗的证书对自己进行签名。
您还可以检查可能与先前检测到的某些恶意软件相对应的加密哈希值MD5或SHA256的值。您可以通过查看程序中的签名来执行静态分析(使用Yara规则或防病毒产品)。然后是动态分析(在某个安全的环境中启动程序并跟踪其动作)和逆向工程。
恶意进程的迹象可能会令人不知所措。在本文中,我们将描述如何在Windows中启用对相应事件的审核,我们将分析内置InTrust规则赖以识别可疑进程的标志。InTrust是CLM平台 用于收集,分析和存储非结构化数据,其中已经有数百种针对各种类型攻击的预定义响应。
启动程序后,它将被加载到计算机的内存中。可执行文件包含计算机指令和辅助库(例如* .dll)。当进程已经在运行时,它可以创建其他线程。线程允许进程同时执行不同的指令集。恶意代码可以通过多种方式渗透内存并启动内存,下面让我们看看其中的一些。
启动恶意进程的最简单方法是强制用户直接启动它(例如,从电子邮件附件中启动),然后在每次打开计算机时使用RunOnce键启动它。这也包括“无文件”恶意软件,该软件将PowerShell脚本存储在基于触发器执行的注册表项中。在这种情况下,PowerShell脚本是恶意代码。
明确运行恶意软件的问题在于,这是一种已知方法,很容易检测到。某些恶意软件会做更细微的事情,例如使用不同的进程开始在内存中执行。因此,一个进程可以通过运行特定的计算机指令并指定要运行的可执行文件(.exe)来创建另一个进程。
可以使用完整路径(例如C:\ Windows \ system32 \ cmd.exe)或不完整路径(例如cmd.exe)指定文件。如果原始过程不安全,它将允许运行非法程序。攻击可能看起来像这样:进程在未指定完整路径的情况下启动cmd.exe,攻击者将其cmd.exe放置在这样的位置,以便进程在合法进程之前启动它。启动恶意程序后,它又可以启动合法程序(例如C:\ Windows \ system32 \ cmd.exe),以使原始程序继续按预期运行。
先前攻击的一种变化是将DLL注入合法进程。进程启动时,它将查找并加载扩展其功能的库。使用DLL注入,攻击者可以创建一个具有与合法库相同名称和API的恶意库。该程序将下载一个恶意库,然后依次下载一个合法的库,并在必要时调用它以执行操作。恶意库开始充当优质库的代理。
将恶意代码放入内存的另一种方法是将其插入已经运行的不安全进程中。进程从各种来源接收输入-它们从网络或文件中读取。他们通常会检查以确保输入内容合法。但是,在执行指令时,某些进程没有得到足够的保护。在这种攻击中,磁盘上没有库或带有恶意代码的可执行文件。一切都与被利用的过程一起存储在内存中。
现在,让我们找出启用Windows中此类事件的收集方法以及InTrust中的规则,该规则可实现针对此类威胁的防护。首先,我们通过InTrust管理控制台将其激活。
该规则使用Windows的进程跟踪功能。不幸的是,将此类事件的集合包含进来远非显而易见。可以更改3种不同的组策略设置:
计算机配置>策略> Windows设置>安全设置>本地策略>审核策略>审核过程跟踪
计算机配置>策略> Windows设置>安全设置>高级审核策略配置>审核策略>详细跟踪>审核流程的创建
计算机配置>策略>管理模板>系统>审核流程的创建>在流程创建事件中包含命令行
一旦启用,InTrust规则就可以检测以前未知的威胁,表现出可疑行为。例如,您可以确定这里描述的Dridex恶意软件。多亏了HP Bromium项目,我们知道了这种威胁的工作原理。
Dridex在其操作链中使用schtasks.exe创建计划任务。从命令行使用此特定实用程序被认为是非常可疑的行为,类似地使用指向用户文件夹的参数或类似于“ net view”或“ whoami”命令的参数启动svchost.exe。以下是相应SIGMA规则的摘要:
detection:
selection1:
CommandLine: '*\svchost.exe C:\Users\\*\Desktop\\*'
selection2:
ParentImage: '*\svchost.exe*'
CommandLine:
- '*whoami.exe /all'
- '*net.exe view'
condition: 1 of them
在InTrust中,所有可疑行为都包含在一条规则中,因为大多数这些行为并非特定于特定威胁,而是在复杂情况下可疑,在99%的情况下,这些行为并非完全出于崇高目的。此操作列表包括但不限于:
- 从异常位置(例如自定义临时文件夹)运行的进程。
- 众所周知的具有可疑继承的系统进程-某些威胁可能会尝试使用系统进程的名称来引起注意。
- 当管理工具使用本地系统凭据或可疑继承时,可疑执行cmd或PsExec等管理工具。
- — - , :
— vssadmin.exe;
— WMI. - .
- , at.exe.
- net.exe.
- netsh.exe.
- ACL.
- BITS .
- WMI.
- .
- .
结合使用的规则对于检测RUYK,LockerGoga和其他勒索软件病毒,恶意软件和网络犯罪工具包等威胁非常有效。供应商已在生产环境中验证了该规则,以最大程度减少误报。并且由于SIGMA项目,大多数这些指标产生的噪音事件最少。
因为在InTrust中,这是一个监视规则,您可以执行响应脚本作为对威胁的响应。您可以使用内置脚本之一,也可以创建自己的脚本,然后InTrust会自动分发它。
此外,您可以检查与事件相关的所有遥测:PowerShell脚本,进程执行,计划的任务处理,WMI管理活动,并将它们用于安全事件中的事后验尸。
InTrust还有数百条其他规则,其中一些是:
- 确定降级的PowerShell攻击-当有人故意使用旧版本的PowerShell时,因为 旧版本没有能力审核正在发生的事情。
- 高特权登录检测-当属于特定特权组(例如,域管理员)的帐户因意外或由于安全事件而交互式登录到工作站时。
InTrust以预定义的检测和响应规则的形式提供最佳安全实践。而且,如果您认为某些方法应该有所不同,则可以制作自己的规则副本并根据需要进行配置。您可以通过我们网站上的反馈表发送飞行员申请或获得具有临时许可的发行版。在Facebook上
订阅我们的页面,我们在其中发布简短说明和有趣的链接。
阅读我们有关信息安全主题的其他文章:
InTrust如何通过RDP帮助减少失败的授权尝试的频率检测勒索软件攻击,获得
对域控制器的访问权限并尝试抵御这些攻击
从Windows工作站的日志中提取什么有用的信息(受欢迎的文章)
跟踪没有钳子和磁带的用户的生命周期
?是谁做的?我们使信息安全审计自动化。
如何降低SIEM系统的拥有成本以及为什么需要中央日志管理(CLM)