查看原文
其他

碳泽解读 | 如何在威胁狩猎中发现异常进程关系

碳泽信息 碳泽信息 2023-02-21

啤酒配烧烤、花生配毛豆、西红柿炒鸡蛋,有些东西经常会一起出现。但是httpd.exe与cmd.exe一起出现呢?

发现异常的进程关系或“不属于应该一起出现的命令”,可能表明您的环境中存在问题。 我说的是一些大问题,例如恶意软件执行、未知漏洞以及其他最糟糕的事情,安全策略没有得到执行。

想知道如何在威胁狩猎期间检测异常的父子进程关系吗? 有五个步骤可以做到这一点。

第1步:狩猎前做好准备



在您进行威胁狩猎之前,应该首先采取一些步骤,以确保您从狩猎中获得最大收益。

首先,确保您知道您的环境中有什么。 资产盘点是您的朋友——您直言不讳的朋友。知道您的环境中有什么是任何有效狩猎的先决条件,因为如果您不知道它,您就无法保护它。

如果您有一个团队,请确保您有合适的人员和合适的技能组合进行狩猎。 “正确的技能组合”取决于您的团队成员和您工作的组织类型。然而,无论您的团队结构和行业如何,优秀的猎手通常都有一些标志性的个性特征——他或她具有出色的分析能力,并且熟悉组织的IT系统、软件和流程。

最后但同样重要的是,定义您的狩猎目标。 您想从中得到什么?这些结果将如何帮助您的组织?许多组织执行狩猎以检测主动监控未捕获的内容,并尝试减少未检测到的危害的“停留时间”或威胁在您的环境中未被注意到的时间。
 

第2步:获取数据



要找出哪些父子进程配对异常,您将不得不收集一些数据。 您需要特定的进程数据和上下文,其中包括:

  • 时间戳
  • 进程名称
  • 处理参数
  • 父进程名称
  • 父进程参数
  • 主机名
  • 用户
 
时间戳、主机名和用户上下文将帮助您确定正在调查的活动是否合法。 这些属性还将帮助您识别在该时间范围内发生的、在同一主机上和/或来自相关用户的其他活动。

那么如何寻并获得进程数据呢?有三种不同的方式来收集此进程数据,包括:

1. 直接通过API访问跟踪进程的端点检测和响应 (EDR) 系统
优点:您可以直接访问大量进程信息。
缺点:根据与您合作的厂商,该厂商可能会或可能不会保留足够的历史数据来涵盖您正在寻找的狩猎日期。
 
2. SIEM查询
优点:检索历史过程数据相对容易。
缺点:您的数据可能会受到SIEM如何摄取原始进程数据以及SIEM如何处理查询(假设它编写正确)的影响。
 
3. Windows安全事件日志
优点:即使您没有EDR工具,仍然可以使用事件日志收集进程数据。
缺点:当然,Windows安全事件日志是收集数据的另一种方式,但是:

  • 必须启用Windows审核进程跟踪(Win10上的592/593事件)


  • 您需要完全强制执行Windows审核进程跟踪(例如,使用组策略)


  • 由于潜在的日志大小限制,您需要计划将Windows事件日志发送到集中式日志记录源,或使用PowerForensics或OSQuery等脚本定期提取事件数据



第3步:缩小配对范围



可能有太多的配对进程。 收集进程信息后,会得到很多数据。可能有数百万的事件。 缩小数据范围的一种方法是过滤父进程。我们将进程配对与 Microsoft Office、Java、Web服务器、数据库和Adobe Acrobat关联的父进程隔离开来。我们发现这些父进程最常成为攻击者的目标,但您可以根据需要调整过滤器。如下显示了一个父进程过滤器:

parent_name:java.exe OR parent_name:javaw.exe OR parent_name:winword.exe OR parent_name:excel.exe OR parent_name:powerpnt.exe OR parent_name:w3wp.exe OR parent_name:httpd.exe OR parent_name:nginx.exe OR parent_name:tomcat.exe OR parent_name:sqlserver.exe OR parent_name:mysqld.exe OR parent_name:postgres.exe OR parent_name:mongod.exe OR parent_name:acrobat.exe OR parent_name:acrord32.exe

但仍有一百万个事件需要筛选。 因此,让我们使用已知的合法进程配对过滤我们的数据,例如
w3wp.exe:csc.exe
(“csc.exe”是 IIS /“w3wp.exe”的合法子进程)
…AND NOT (parent_name="winword.exe" AND (process_name="winword.exe" OR process_name="chrome.exe" OR process_args="*Microsoft Office*" OR process_name="firefox.exe" OR process_name="iexplorer.exe"))AND NOT (parent_name="w3wp.exe" AND process_name="csc.exe")AND NOT (parent_name="powerpnt.exe" AND (process_name="powerpnt.exe" OR process_name="chrome.exe" OR process_args="*Microsoft Office*"
向右滑动查看完整信息

在上面的示例中,我们添加了特定的进程参数,因此数据不会过度过滤。 过度过滤会导致误报,并可能导致您的安全团队(或IR公司)在会发现一些之前应该被捕获的东西。

虽然过度过滤不好,但过滤不足也不理想。 创建过滤器时,请考虑给予安全团队的狩猎时间、组织的风险状况以及每种类型的进程成为目标的可能性。每次狩猎后自定义和调整您的过滤器,以使后续的狩猎随着时间的推移更加可靠、高效和有趣。
 

第4步:考虑进一步的分析技术



通过使用技术自动化过滤,您将缩小事件范围。 使用您拥有的安全工具来丰富或扩充进程数据,例如声誉、文件签名、文件路径、开源情报等,以帮助进行手动审查(或进一步过滤)。

有几种方法可以手动查看生成的进程配对。 每个分析师都有自己的做事方式,可以将所有数据放到自己喜欢的系统中,然后按父进程、子进程和处理参数排序。
 
突出显示感兴趣的项目后,按时间、主机或用户名排序以确定上下文。 根据您的发现,您可能需要从相关主机中提取其他信息,以确定您正在审查的进程活动是恶意的还是违反了您组织的安全策略。

或者,您可以使用您选择的编程语言编写分析脚本。 如果您使用Python,尝试使用Pandas库实现一些有趣的数据分析和操作。如果您不熟悉Pandas,它是一个开源库,为Python提供数据结构和数据分析工具。
 

第5步:分享您的分析和发现



一旦您完成了狩猎,就告诉您的团队您发现了什么以及您建议如何解决问题(如果有的话)。

组织以多种不同的方式报告他们的狩猎结果——Word 文档、PowerPoint幻灯片或网络报告工具。

无论您选择如何呈现您的狩猎结果,您的狩猎报告都应(至少)包含以下信息:
 
a/ 狩猎技术说明
b/ 收集了哪些数据
c/  审查了什么
d/ 调查了什么
e/ 结果分组:
f/  恶意信息
g/ 可疑信息
h/ 值得注意的地方
 
让狩猎成为您日常安全职责的一部分。
虽然寻找异常进程关系可以帮助您发现恶意活动,但它并不总是能发现APT攻击。狩猎甚至可能不会发现恶意软件。

如果您的组织得到很好的保护并且员工没有违反协议,那么您的狩猎结果就不应该那么引人注意。 但另一方面,如果您的Web服务器遭到入侵,并且攻击者运行 webshell来执行命令shell,您可以使用这种“异常进程配对”狩猎技术找到它。当然,每个组织都希望他们永远不会成为攻击的受害者,但我们都知道它最终会发生。

End


碳泽信息

  新一代智能安全运营平台

电话:400-1788-258

销售咨询:sales@tanze.net.cn

技术支持:support@tanze.net.cn

官网:http://www.tanze.net.cn


往期推荐:




碳泽解读 | 如何进行威胁狩猎


碳泽解读 | 开始威胁狩猎计划必须要做的三件事


碳泽解读 | 如何进行威胁狩猎


碳泽解读 | 安全编排、自动化和响应 (SOAR) 产品初学者指南


碳泽解读 ▏安全运营——工具和流程之间的不断混淆

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存