Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Crescendo — Crescendo — это основанный на Swift просмотрщик событий в реальном времени для macOS. Он использует Endpoint Security Framework от Apple. | Kitploit
Инструменты/GitHubGitHub/suprhackersteve/crescendo
Оборонительные ИнструментыРеагирование на Инциденты
GitHubsuprhackersteve/crescendo

Crescendo

Crescendo — это основанный на Swift просмотрщик событий в реальном времени для macOS. Он использует Endpoint Security Framework от Apple.

Репозиторий
1.1k69496 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Обложка

Содержание

  1. Начало работы
  2. Требования
  3. Компоненты
  4. Тестирование и разработка
  5. Подписание
  6. Сборка
  7. Проблемы/Ошибки/Функции
  8. Устранение неполадок
  9. Список задач

Демо Crescendo


Начало работы

Apple представила несколько новых механизмов безопасности, которые нам необходимо включить для работы Crescendo.

  1. Убедитесь, что вы переместили приложение в каталог /Applications, иначе системное расширение не загрузится.

  2. При первом запуске вам будет предложено одобрить системное расширение после нажатия кнопки «Start».

    ПРИМЕЧАНИЕ: Я заметил, что есть проблема, из-за которой в Системных настройках не отображается кнопка разрешения. Полагаю, это какая-то внутренняя проблема Apple, которую нужно решить. Возврат к Системным настройкам и повторный переход, похоже, исправляет эту проблему.

    Sysext Разрешить

  3. Вам нужно будет предоставить полный доступ к диску для системного расширения.

    FullDisk


Требования

Crescendo совместимо только с >=10.15.X и как минимум Xcode 10.


Компоненты

Этот проект состоит из трех основных компонентов:

  1. Системное расширение (CrescendoExtension)
  2. Обертка Framework вокруг Endpoint Security Framework (Crescendo)
  3. Приложение для просмотра событий в приятном небольшом интерфейсе (CrescendoApp)

Тестирование и разработка

Настоятельно рекомендуется тестировать этот код на виртуальной машине с отключенным SIP, поскольку для этого проекта требуется право endpoint-security, 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 по требованиям System Extension и Notarization.

Подписание и разрешения — нетривиальная задача.


Сборка

Я включил свой файл .xproj в этот выпуск, чтобы помочь вам начать. В будущем я, вероятно, перейду на использование нового файла xcconfig, так как этот подход кажется гораздо более разумным, чем фиксация файлов xproj. Если вы хотите просто собрать пример приложения командной строки, вы можете сделать это с помощью Xcode.

Чтобы собрать это приложение и запустить его на производственной системе macOS, вам понадобится право endpoint-security и сертификат разработчика от Apple.

Framework Crescendo можно легко связать с любым приложением Swift. В будущем я, возможно, перейду на CocoaPods, но сейчас я с ними не знаком.


Проблемы/Ошибки/Функции

Пожалуйста, не стесняйтесь создавать issue, если хотите увидеть добавление функции или столкнулись с проблемой. Если вы хотите внести pull request, убедитесь, что вы запустили swiftlint над своим кодом перед внесением вклада.

Я буду выпускать релизы для скомпилированного и подписанного приложения и включать их во вкладку Releases по мере необходимости.


Устранение неполадок

  • Если вы работаете на производственном Mac, вам НЕ следует отключать SIP или AMFI. Эти инструкции предназначены для разработчиков, желающих внести изменения в код.

  • Вы включили системное расширение, нажав кнопку «Allow» в System Preferences -> Security & Privacy? Если нет, вы не увидите никаких событий.

  • Вы предоставили полный доступ к диску в System Preferences -> Security & Privacy -> Privacy Tab? Если нет, вы не увидите никаких событий.

  • Если у вас возникли проблемы, откройте Console.app и выполните поиск по фильтру crescendo или <your_bundle_id>/com.suprhackersteve, это должно помочь вам в устранении возможных неполадок. Также стоит проверить CrashReporter и убедиться, что расширение не упало и не завершилось с fatalError.

  • Если вы хотите принудительно выгрузить системное расширение, есть пункт меню «Unload System Extension», который выгрузит его. Это действие может привести к странным побочным эффектам, делайте это, только если знаете, что делаете.

  • Если вы добавили процесс в черный список, но он все равно разрешен к выполнению, не забудьте проверить реальный полный путь. Простое использование /Applications/Foo.app не предотвратит выполнение. Также многие приложения macOS запускаются через xpcproxy.


Список задач

  1. Модульные тесты (нужно придумать разумный способ их запуска)
  2. Сетевые события (отслеживание в этой issue)
  3. Улучшенная фильтрация и поддержка поиска по данным событий
  4. Выбор системы упаковки для framework (CocoaPods, Swift Package Manager и т.д.)
  5. Попробовать распространять системное расширение отдельно, используя новое право на повторное распространение?
Скачать инструмент