Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
ESFang — ESF 模块化摄取工具,用于开发与研究。 | Kitploit
工具/GitHubGitHub/withsecurelabs/esfang
取证分析数字取证事件响应日志分析
GitHubwithsecurelabs/esfang

ESFang

ESF 模块化摄取工具,用于开发与研究。

查看仓库
3864年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

ESFang

这是一个专为在 macOS 环境中模块化消费 EndpointSecurity Framework (ESF) 事件而设计的工具。这是我尝试解决现有工具中遇到的诸多问题的一次努力,这些问题包括静默数据丢失、严格的事件类型消费、缺乏对替代数据事件类型的支持以及文件访问处理器过载等。

该工具在很大程度上借鉴了 Chris Ross、Omark-Ikram 以及 Objective-See 团队在其工具 ProcessMonitor、Appmon 和 EndpointSecurityDemo 中所做的出色工作。我对 ESF 数据摄取的核心理解和应用能力,正是通过研究他们的作品而得到极大提升和启发的,这些作品完成了大量繁重的工作,才使这一开发成为可能。本工具试图提炼这些工具的最佳元素并加以扩展,以便根据调查人员的需求实现逐案定制的 ESF 消费操作。

现有工具,包括 FireEye 的 Crescendo 等更精细的工具,都受制于 ESF 本身的一系列问题,在测试中这些问题似乎与 ESF 客户端从子系统摄取数据的方式有关。遇到的主要问题是数据的静默丢失。在测试中,当摄取多种事件类型时,与仅摄取单一事件类型的结果相比,显示所积累的数据存在差异。在测试中,与恶意活动相关的关键事件并未出现在单一事件类型摄取时所呈现的已获取数据集中。

该工具的主要目的有三重:

  • 创建一个能够避免静默数据丢失问题的工具
  • 允许逐案指定事件收集
  • 可扩展并集成到监控系统中

为此,该工具允许用户指定在操作期间要从 51 种可用的 NOTIFY 事件类型中收集哪些事件类型(本工具省略了 AUTH 事件类型)。这意味着研究人员可以针对他们希望监控的特定操作锁定特定事件类型,同时通过减少客户端收集的总体事件类型来帮助降低相关的静默数据丢失。

数据输出被分发到各个单独的事件类型日志文件中,这些文件又按事件类别文件(如进程、文件、套接字等)进行分组。所有日志均以 JSON 格式写入,便于摄取,用户还可以通过修改源代码来收集 Apple 提供的事件类型文档中概述的其他字段,从而扩展日志内容。

未来说明 -

为了防止静默数据丢失,一个潜在的解决方案是对工具进行多线程处理,以允许多个 ESF 客户端同时运行,每个客户端收集一部分事件类型。这有可能克服达到内部阈值而导致观察到的数据丢失的问题。我只是没有时间为此添加额外的控制措施。

使用方法

需要禁用 SIP!

  • 不幸的是,由于这是一个开发用的 POC 代码,在启用 SIP 的情况下您将无法使用它,因为对 ESF 子系统的访问仅限于已签名的二进制文件。由于这是未签名的,使用前必须禁用 SIP。因此,请仅在非生产机器上使用。

  • 有三种执行方式:您可以指定配置文件中某个 event_id 的 ID,指定配置文件中的 group_id,或者引用配置文件中事件类型 ID 或组行未被注释的配置文件。

  • 示例 1 = 仅收集 ES_EVENT_TYPE_NOTIFY_EXEC 事件:./ESFang -id 2

  • 示例 2 = 收集文件类别事件:./ESFang -group 2

  • 示例 3 = 收集配置文件中指定的事件类型或组:./ESFang -config ./ESF_config.txt

关于硬编码过滤器的说明

源代码中包含一个硬编码的进程过滤器,位于第 460 - 469 行。此过滤器可以被操作,以捕获特定的 PID、PPID 或进程名称。这是作为特定过滤目的的“临时”变通方法而添加的。尝试在命令行中使其动态化以输入到 Inspector 中均以错误告终。因此保留为硬编码。

关于硬编码进程静音器的说明

源代码中包含一个硬编码的进程静音功能,位于第 471 - 491 行。此过滤器可用于根据进程或父进程路径分别静音特定事件的捕获。使用时应谨慎,因为任何活动的进程或父进程只要匹配指定名称,所有匹配该名称的进程都将被静音。此功能在发布时仍处于测试阶段。

下载工具