利用SCOM捕获创建可疑进程的事件

简介: 本文讲的是利用SCOM捕获创建可疑进程的事件,最近,我有幸和在Azure Security Center分析小组工作的Greg Cottingham讨论,了解到进程创建事件和利用它来检查出异常事件。
本文讲的是 利用SCOM捕获创建可疑进程的事件最近,我有幸和在Azure Security Center分析小组工作的Greg Cottingham讨论,了解到进程创建事件和利用它来检查出异常事件。Azure Security Center服务是专门用于检测安全漏洞并给出相关的建议,已经于今年年初正式投入使用。下面,我将结合一些实际的攻击样本,来解释一下如何使用 SCOM(System Center Operations Manager)捕获创建可疑进程的事件。

利用SCOM捕获创建可疑进程的事件

进程创建是Windows系统中相当普遍的事情,如果我执行该操作,则可以生成一个或多个进程,这些进程会持续的保持开放状态,直到程序运行完成。而且这个过程可以被完整地查看,因为进程创建将在安全事件日志中生成4688事件,也就是说,在默认设置下,它是被禁用的。Server 2012 R2添加了一个附加功能,通过额外的GPO(组策略)设置,大家可以审核执行的命令行。简而言之,大家需要通过一些必要的设置,才能来捕捉进程的事件。

在进行捕捉之前,你应该先检查一下你的系统运行环境,如果你有ArcSight、Splunk、OMS或SCOM等工具收集安全事件,那将再好不过了。还有一个问题就是,通过打开命令行审核,任何可以读取安全事件的人都可以读取这些命令行内容,也就是说这些人很有可能读取你的敏感信息。

用一个简单的GPO就可以打开:

利用SCOM捕获创建可疑进程的事件

启用命令行:

利用SCOM捕获创建可疑进程的事件

几分钟内,4688事件开始显示在各种事件日志中。

接下来,我需要确定要查找的内容,这些事件包含一些有用的参数。完整的事件列表可以在下图中看到:

利用SCOM捕获创建可疑进程的事件

虽然参数6(新进程名称)和参数9(命令行)通常包含一些触发的项目,但是我可以使用SCOM来捕获到其他诸如用户名(参数2)的内容。另外,我不想直接使用4688事件的提醒通知,因为这会产生大量的干扰信息,但我可以将其定位到每次应该调查的特定事件中,比如下面这个操作实例:

绕过Windows AppLocker,攻击者使用javascript或regsvr32命令行工具,来绕过Windows AppLocker安全措施并正常注册动态链接库(DLLs):

利用SCOM捕获创建可疑进程的事件

命令行FTP,攻击者使用命令行下载执行有效载荷:

利用SCOM捕获创建可疑进程的事件

攻击者操纵PowerShell窗口位置,然后执行powershell命令,但是操作窗口会被隐藏,这样用户就无法看到它了:

利用SCOM捕获创建可疑进程的事件

在没有可执行文件的文件夹中执行命令,如果你觉得读取这个文件夹列表可能要花费很长时间,那下图就是一些常见的执行文件的位置:

利用SCOM捕获创建可疑进程的事件

攻击者在启动时会添加一个启动进程的行,不过你要注意,在实际操作时,你可能还需要添加一些“不包含”选项,以避免正常事件的通知提醒:

利用SCOM捕获创建可疑进程的事件

目前我正在开发包含这些监控器的管理包以及包含其他安全规则和SCOM可以提供的其他安全相关项目。我的主要目标是将捕获过程中的干扰信息获降低到最低限度,以便对每个可疑的进程事件进行警告提示。




原文发布时间为:2017年4月29日
本文作者:xiaohui
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。
目录
相关文章
|
3月前
|
存储 JSON 运维
【运维】Powershell 服务器系统管理信息总结(进程、线程、磁盘、内存、网络、CPU、持续运行时间、系统账户、日志事件)
【运维】Powershell 服务器系统管理信息总结(进程、线程、磁盘、内存、网络、CPU、持续运行时间、系统账户、日志事件)
49 0
|
8月前
|
Linux
Linux信号:进程间通讯与事件处理的基石
在Linux操作系统中通过信号,一个进程可以向另一个进程发送某种类型的通知,以便触发特定的动作。本文将深入探讨Linux信号的概念、种类、处理方式以及代码示例。
61 0
|
存储 缓存 JavaScript
【Node.js 】开发中遇到的多进程‘keylog‘ 事件以及TLS/SSL的解决学习方案实战
【Node.js 】开发中遇到的多进程‘keylog‘ 事件以及TLS/SSL的解决学习方案实战
【Node.js 】开发中遇到的多进程‘keylog‘ 事件以及TLS/SSL的解决学习方案实战
|
监控 应用服务中间件 nginx
Nginx进程以及事件处理模型
Nginx进程以及事件处理模型
130 0
Nginx进程以及事件处理模型
|
监控 C#
C#通过“委托和事件”的方式实现进程监控并与“普通方式”对比
今天重新学习了一下观察者模式,对我的思路产生了启发。进程监控程序之前写过几个,这回换一种思路,改用委托和事件来实现。我已经用序号将关键的几步标注,方便大家理顺思路。代码如下: using System; using System.
863 0
|
分布式数据库 C++ SQL
事件和进程间的数据交换 .
<p>//========================================================================<br> //TITLE:<br> //    事件和进程间的数据交换<br> //AUTHOR:<br> //    norains<br> //DATE:<br> //    Monday  13-July-2009<br
972 0
|
29天前
|
消息中间件 Linux 调度
【Linux 进程/线程状态 】深入理解Linux C++中的进程/线程状态:阻塞,休眠,僵死
【Linux 进程/线程状态 】深入理解Linux C++中的进程/线程状态:阻塞,休眠,僵死
67 0
|
7天前
|
监控 Linux
linux监控指定进程
请注意,以上步骤提供了一种基本的方式来监控指定进程。根据你的需求,你可以选择使用不同的工具和参数来获取更详细的进程信息。
14 0

相关实验场景

更多