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

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

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

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

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

启用命令行:

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

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

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

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

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

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

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

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

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

原文发布时间为:2017年4月29日

本文作者:xiaohui

本文来自合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。

原文链接

时间: 2024-07-31 00:01:36

利用SCOM捕获创建可疑进程的事件的相关文章

利用有名管道创建简易的服务器客户端模型

问题描述 利用有名管道创建简易的服务器客户端模型 主要思路:建立一个公共的管道所有与服务器建立连接的先要通过这个管道相服务器发送消息然后服务器以客户端的前 4 个字符与特定的字符拼接形成新的有名管道与之交互.最后全部关闭 出现的debug:Sever.c fork之后父进程将子进程的id号码传递过去然后已这个pid当做服务器的 id号<这样服务器才可以与客户端进行交互> 在里面我使用了 raise函数表明 signal 函数讲SIGUSR1信号安装好了但是为什么不调用 handler函数呢?代

如何利用 SID History 创建域控权限后门?

本文讲的是如何利用 SID History 创建域控权限后门?,本文的内容描述了一种方法,通过该方法,攻击者可以在拥有域管理级别的权限的5分钟后,就可以持续的对Active Directory进行管理访问. SID历史记录是支持迁移方案的属性.每个用户帐户都有一个关联的安全标识符(SID),用于跟踪安全主体和连接到资源时的帐户及访问权限.SID历史记录允许另一个帐户的访问被有效的克隆到另一个帐户.这是非常有用的,其目的是确保用户在从一个域移动(迁移)到另一个域时能保留原有的访问权限.由于在创建新

统计及利用查询结果创建新表

一.在SELECT语句中,可以使用集合函数.行集合函数.GROUP BY子句和COMPUTE子句对查询结果进行统计.GROUP BY子句可与行集合函数或集合函数一起使用,而COMPUTE子句只能与行集合函数一起使用. 在SELECT语句中,也可以单纯使用集合函数进行统计,这时它将所有符合条件的数据统计放到一起,形成一行统计数据,这种统计方法叫做标量统计. 例:统计"business"类图书的平均价格 SELECT 'average price'=AVG(price) FROM titl

Windows XP利用TC快速创建文件列表

TC(Total Commander)是很多朋友都非常喜欢的一款超强资源管理工具,其实我们还可以利用TC快速创建文件列表并进行管理.例如,笔者希望获取"C:\Windows\SYSTEM32"文件夹下的所有可执行文件名,可以按照如下步骤进行: 第1步:设置显示类型 首先,请在主界面中打开C:\Windows\SYSTEM32文件夹,由于我们的目的是希望获取所有可执行文件名,因此需要在"显示→文件显示"菜单中选中"仅执行文件",这样将只列出EXE.

Oracle dataGuard专题:利用冷备创建standby

dataGuard是oracle提供的一种数据库级别的HA方案,最主要功能是冗灾.数据保护.故障恢复等.当然根据配置的不同,DATA GUARD还可以具备以下特点:高可用.性能提升.数据保护以及故障恢复等. DATA GUARD可以分为物理STANDBY和逻辑STANDBY两种.二者的最大差别在于,物理STANDBY应用的是主库的归档日志,而逻辑STANDBY应用的是主库的归档日志中提取的SQL语句.由于二者这一点的区别,决定了物理STANDBY无论从逻辑结构和物理结构都是和主库保持一致,而逻辑

如何关闭任务管理器无法关闭的可疑进程

发现任务管理器的进程列表中有一些可疑进程,用任务管理器却无法杀掉,Windows XP/2000的任务管理器是一个非常有用的工具,能看到系统中正在运行哪些程序(进程),只要平时多看任务管理器中的进程列表,熟悉系统的基本进程,就可以随时发现可疑进程,这对防范木马和病毒大有裨益. 一.哪些系统进程不能关掉 Windows运行的时候,会启动多个进程.只要按下"Ctrl+Alt+Del"键打开任务管理器,点击"查看"/选择列,勾选"PIO(进程标识符)"

linux编程-创建daemon进程时为什么要用setsid创建一个新的session?

问题描述 创建daemon进程时为什么要用setsid创建一个新的session? 不管是unix环境高级编程还是网络上都说创建daemon的步骤是: 1. fork 2. setsid创建新session 3. 父进程exit 这样子进程就能脱离terminal了. 这样子确实没错, 我之前以为这是为了避免子进程被强制退出, 所以才要脱离terminal和父进程. 但是在实验的时候发现, 没有setsid, 仅仅fork一个子进程并让子进程无限循环, 父进程fork之后exit, 子进程并没有

js浏览器-js怎么捕获浏览器里的后退事件

问题描述 js怎么捕获浏览器里的后退事件 最近做一个微信项目,提交表单后,后退要刷新页面.网上找了一个禁止缓存.jsp页面是刷新了,但java代码没刷新.求解决 解决方案 用fiddler看下,你的"刷新"有没有产生新的http请求到你的服务器,如果没有,加上一个随机数作为url参数,强制浏览器获取下. 解决方案二: JS捕获关闭浏览器事件

利用css对shiny页面优化及利用htmlwidgets包创建HTML控件

内容来源:2017年5月20日,乐逗游戏高级数据分析师在"第十届中国R会议软件工具专场"进行<HTTPS最佳安全实践>演讲分享.IT大咖说作为独家视频合作方,经主办方和讲者审阅授权发布. 阅读字数: 753 用时: 3分钟 摘要 本演讲将介绍如何利用CSS对shiny页面进行个性化设计及在网页中嵌入视频:并通过一个详细案例介绍了利用htmlwidgets包开发HTML控件,基于D3.JS库创建简单的交互桑基图,包括控件创建.函数修改.数据调用及与shiny结合的演示. 嘉宾