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

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

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

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

工具目录

分类

查看所有分类
Loading categories
Crescendo — Crescendo 是一个基于 Swift 的 macOS 实时事件查看器。它使用了苹果的 Endpoint Security Framework。 | Kitploit
工具/GitHubGitHub/suprhackersteve/crescendo
防御工具事件响应
GitHubsuprhackersteve/crescendo

Crescendo

Crescendo 是一个基于 Swift 的 macOS 实时事件查看器。它使用了苹果的 Endpoint Security Framework。

查看仓库
1.1k695年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Cover

目录

  1. 入门指南
  2. 要求
  3. 组件
  4. 测试与开发
  5. 签名
  6. 构建
  7. 问题/错误/功能
  8. 故障排除
  9. TODO

Crescendo Demo


入门指南

Apple引入了一些新的安全机制,我们需要启用它们才能运行Crescendo。

  1. 确保已将应用移动到你的/Applications目录,否则系统扩展将加载失败。

  2. 首次运行时,点击“Start”按钮后,你会被提示批准系统扩展。

    注意:我注意到一个问题,系统偏好设置不会显示允许按钮。我猜想这是Apple需要解决的内部问题。点击返回系统偏好设置然后再次导航似乎可以解决这个问题。

    Sysext Allow

  3. 你需要为系统扩展启用完全磁盘访问权限。

    FullDisk


要求

Crescendo仅兼容 >=10.15.X 和至少 Xcode 10。


组件

该项目包含三个主要组件:

  1. 一个系统扩展 (CrescendoExtension)
  2. 一个封装终端安全框架的框架包装器 (Crescendo)
  3. 一个用于在精美小巧的用户界面中查看事件的应用程序 (CrescendoApp)

测试与开发

强烈建议在禁用SIP的虚拟机中测试此代码,因为该项目需要端点安全授权、TCC以及在SIP启用时正确签名。

  1. 启动到macOS的恢复模式
  2. 禁用SIP和AMFI
root@kitploit:~
csrutil disable
nvram boot-args="amfi_get_out_of_my_way=0x1"
  1. 重启
  2. 启用开发者模式,这样每次调用OSSystemExtensionManager.shared.submitRequest时我们的扩展都会重新加载
root@kitploit:~
systemextensionsctl developer on

签名

如果你想签名自己的应用,强烈建议阅读Apple关于系统扩展要求和公证的文档。

签名和授权是一个复杂的任务。


构建

我在本版本中包含了我的.xproj文件以便大家入门。未来我可能会改用新的xcconfig文件,因为相比提交xproj文件,这似乎更为合理。如果你想简单地构建示例CLI应用程序,可以使用Xcode。

为了构建此应用程序并在生产macOS系统上运行,你需要端点安全授权和Apple的开发者证书。

Crescendo框架可以轻松地与任何Swift应用捆绑。未来我可能会迁移到CocoaPods,但我目前对它们不熟悉。


问题/错误/功能

如果你想添加功能或遇到问题,请随时提出问题。如果你想贡献拉取请求,请确保在贡献之前对代码运行swiftlint。

我会根据需要为编译并签名的应用发布版本,并将其包含在Releases标签中。


故障排除

  • 如果你在生产版Mac上运行,你_不_应该禁用SIP或AMFI。那些说明适用于希望进行代码更改的开发者。

  • 你是否通过点击系统偏好设置 -> 安全性与隐私中的“Allow”按钮启用了系统扩展?如果没有,你将看不到任何事件。

  • 你是否在系统偏好设置 -> 安全性与隐私 -> 隐私标签中启用了完全磁盘访问权限?如果没有,你将看不到任何事件。

  • 如果遇到任何问题,打开Console.app并搜索crescendo或<your_bundle_id>/com.suprhackersteve作为过滤器,这将有助于排查潜在问题。检查CrashReporter以查看扩展是否崩溃或使用fatalError退出也是一个好主意。

  • 如果你想强制卸载系统扩展,有一个名为“Unload System Extension”的菜单项可以卸载它。此操作可能导致奇怪的副作用,只有在你清楚自己在做什么时才执行。

  • 如果你已将某个进程添加到黑名单但它仍然被允许执行,请记住检查_真实完整路径_。仅使用/Applications/Foo.app不足以阻止执行。此外,许多macOS应用是通过xpcproxy启动的。


TODO

  1. 单元测试(需要找到合理的运行方式)
  2. 网络事件(跟踪在这个问题中)
  3. 更好的事件数据过滤和搜索支持
  4. 选择框架的打包系统(CocoaPods、Swift Package Manager等)
  5. 尝试使用新的可重新分发授权单独分发系统扩展?
下载工具