Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Crescendo — Crescendo ist ein Swift-basierter Echtzeit-Ereignis-Viewer für macOS. Es nutzt Apples Endpoint Security Framework. | Kitploit
Tools/GitHubGitHub/suprhackersteve/crescendo
DefensivwerkzeugeIncident Response
GitHubsuprhackersteve/crescendo

Crescendo

Crescendo ist ein Swift-basierter Echtzeit-Ereignis-Viewer für macOS. Es nutzt Apples Endpoint Security Framework.

Repository anzeigen
1.1k69vor 5 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Cover

Inhaltsverzeichnis

  1. Einstieg
  2. Anforderungen
  3. Komponenten
  4. Testen und Entwicklung
  5. Signieren
  6. Erstellen
  7. Probleme/Fehler/Funktionen
  8. Fehlerbehebung
  9. TODO

Crescendo Demo


Einstieg

Apple hat einige neue Sicherheitsmechanismen eingeführt, die wir aktivieren müssen, um Crescendo zum Laufen zu bringen.

  1. Stellen Sie sicher, dass Sie die App in Ihr /Applications-Verzeichnis verschoben haben, da die Systemerweiterung sonst nicht geladen wird.

  2. Beim ersten Start werden Sie aufgefordert, die Systemerweiterung zu genehmigen, nachdem Sie auf die Schaltfläche „Start“ geklickt haben.

    HINWEIS: Mir ist aufgefallen, dass es ein Problem gibt, bei dem die Systemeinstellungen keinen „Erlauben“-Button anzeigen. Ich nehme an, dies ist ein internes Problem, das Apple beheben muss. Ein Zurückklicken zu den Systemeinstellungen und erneutes Navigieren scheint das Problem zu beheben.

    Sysext Erlauben

  3. Sie müssen den Vollzugriff auf die Festplatte für die Systemerweiterung aktivieren.

    FullDisk


Anforderungen

Crescendo ist nur mit >=10.15.X und mindestens Xcode 10 kompatibel.


Komponenten

Dieses Projekt besteht aus drei Hauptkomponenten:

  1. Eine Systemerweiterung (CrescendoExtension)
  2. Ein Framework-Wrapper um das Endpoint Security Framework (Crescendo)
  3. Eine App zur Anzeige von Ereignissen in einer netten kleinen Benutzeroberfläche (CrescendoApp)

Testen und Entwicklung

Es wird dringend empfohlen, diesen Code in einer virtuellen Maschine mit deaktiviertem SIP zu testen, da dieses Projekt die Endpoint-Security-Berechtigung, TCC und ordnungsgemäßes Signieren erfordert, wenn SIP aktiviert ist.

  1. Starten Sie im Wiederherstellungsmodus von macOS
  2. Deaktivieren Sie SIP und AMFI
root@kitploit:~
csrutil disable
nvram boot-args="amfi_get_out_of_my_way=0x1"
  1. Neustart
  2. Aktivieren Sie den Entwicklermodus, damit unsere Erweiterungen jedes Mal neu geladen werden, wenn wir OSSystemExtensionManager.shared.submitRequest aufrufen
root@kitploit:~
systemextensionsctl developer on

Signieren

Wenn Sie Ihre eigene Anwendung signieren möchten, wird dringend empfohlen, die Apple-Dokumentation zu den Anforderungen an Systemerweiterungen und zur Notarisierung zu lesen.

Signieren und Berechtigungen sind keine triviale Aufgabe.


Erstellen

Ich habe meine .xproj-Datei in diese Version aufgenommen, um den Einstieg zu erleichtern. In Zukunft werde ich wahrscheinlich zur neuen xcconfig-Datei wechseln, da dies ein viel vernünftigerer Ansatz zu sein scheint, als xproj-Dateien zu committen. Wenn Sie einfach die Beispiel-CLI-Anwendung erstellen möchten, können Sie dies mit Xcode tun.

Um diese Anwendung zu erstellen und auf einem produktiven macOS-System auszuführen, benötigen Sie die Endpoint-Security-Berechtigung und ein Entwicklerzertifikat von Apple.

Das Crescendo-Framework kann problemlos mit jeder Swift-Anwendung gebündelt werden. Ich werde möglicherweise in Zukunft zu CocoaPods wechseln, bin aber derzeit nicht damit vertraut.


Probleme/Fehler/Funktionen

Bitte zögern Sie nicht, ein Issue zu erstellen, wenn Sie eine Funktion hinzugefügt haben möchten oder auf ein Problem stoßen. Wenn Sie einen Pull-Request beitragen möchten, stellen Sie bitte sicher, dass Sie swiftlint über Ihren Code ausführen, bevor Sie etwas beitragen.

Ich werde Versionen für die kompilierte + signierte App erstellen und sie nach Bedarf im Reiter „Releases“ bereitstellen.


Fehlerbehebung

  • Wenn Sie auf einem produktiven Mac arbeiten, sollten Sie SIP oder AMFI NICHT deaktivieren. Diese Anweisungen sind für Entwickler gedacht, die Codeänderungen vornehmen möchten.

  • Haben Sie die Systemerweiterung aktiviert, indem Sie auf die Schaltfläche „Erlauben“ in Systemeinstellungen -> Sicherheit & Datenschutz geklickt haben? Wenn nicht, werden Sie keine Ereignisse sehen.

  • Haben Sie den Vollzugriff auf die Festplatte in Systemeinstellungen -> Sicherheit & Datenschutz -> Datenschutz-Tab aktiviert? Wenn nicht, werden Sie keine Ereignisse sehen.

  • Wenn Sie auf Probleme stoßen, öffnen Sie die Console.app und suchen Sie nach crescendo oder <your_bundle_id>/com.suprhackersteve als Filter. Das sollte Ihnen bei der Fehlerbehebung helfen. Es ist auch eine gute Idee, im CrashReporter zu überprüfen, ob die Erweiterung abgestürzt ist oder mit fatalError beendet wurde.

  • Wenn Sie die Systemerweiterung zwangsweise entladen möchten, gibt es einen Menüpunkt namens „Systemerweiterung entladen“, der sie entlädt. Diese Aktion kann zu seltsamen Nebeneffekten führen; führen Sie sie nur durch, wenn Sie wissen, was Sie tun.

  • Wenn Sie einen Prozess zur Blacklist hinzugefügt haben und er immer noch ausgeführt werden darf, denken Sie daran, den tatsächlichen vollständigen Pfad zu überprüfen. Einfach /Applications/Foo.app zu verwenden, reicht nicht aus, um die Ausführung zu verhindern. Außerdem werden viele macOS-Anwendungen über xpcproxy gestartet.


TODO

  1. Unit-Tests (müssen einen vernünftigen Weg finden, sie auszuführen)
  2. Netzwerkereignisse (verfolgt in diesem Issue)
  3. Bessere Filter- und Suchunterstützung für Ereignisdaten
  4. Ein Paketverwaltungssystem für das Framework wählen (Cocoapods, Swift Package Manager, etc.)
  5. Versuchen, die Systemerweiterung allein mit der neuen weiterverteilbaren Berechtigung zu verteilen?
Tool herunterladen