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
ESFang — ESF modulares Aufnahme-Tool für Entwicklung und Forschung. | Kitploit
Tools/GitHubGitHub/withsecurelabs/esfang
ForensikDigitale ForensikIncident ResponseLog-Analyse
GitHubwithsecurelabs/esfang

ESFang

ESF modulares Aufnahme-Tool für Entwicklung und Forschung.

Repository anzeigen
386vor 4 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

ESFang

Dieses Tool wurde für den modularen Konsum von EndpointSecurity Framework (ESF)-Ereignissen in der macOS-Umgebung entwickelt. Es ist mein Versuch, eine Reihe von Problemen zu überwinden, die bei bestehenden Tools auftreten, darunter stilles Datenverwerfen, strikter Konsum von Ereignistypen, fehlende Unterstützung für alternative Dateneventtypen und Überlastung des Dateizugriffs-Handlers.

Dieses Tool stützt sich stark auf die hervorragende Arbeit von Chris Ross, Omark-Ikram und dem Team von Objective-See für ihre Tools ProcessMonitor, Appmon und EndpointSecurityDemo. Mein grundlegendes Verständnis und die Anwendbarkeit der ESF-Datenerfassung wurde durch die Untersuchung ihrer Arbeiten erheblich verbessert und angestoßen, die einen Großteil der Vorarbeit geleistet haben, um diese Entwicklung zu ermöglichen. Dieses Tool versucht, die besten Elemente dieser Tools zu extrapolieren und zu erweitern, um eine fallweise ESF-Konsumaktion basierend auf den Bedürfnissen der Ermittler zu ermöglichen.

Die bestehenden Tools, einschließlich raffinierterer Tools wie Crescendo von FireEye, scheitern an einer Reihe von Problemen, die mit ESF selbst zusammenhängen und die sich in Tests auf die Art und Weise zu beziehen scheinen, wie der ESF-Client die Daten aus dem Subsystem aufnimmt. Das Hauptproblem war der stille Datenverlust. In Tests, bei denen zahlreiche Ereignistypen aufgenommen wurden, zeigte der Vergleich mit der Aufnahme eines einzelnen Ereignistyps eine Diskrepanz in den gesammelten Daten. In Tests fehlten kritische Ereignisse im Zusammenhang mit bösartiger Aktivität im erfassten Datensatz, die bei der Aufnahme eines einzelnen Ereignistyps vorhanden waren.

Der Hauptzweck dieses Tools war dreifach:

  • Ein Tool zu erstellen, das das Problem des stillen Datenverlusts vermeidet
  • Eine fallweise Spezifikation der Ereignissammlung zu ermöglichen
  • Erweiterbar und in Überwachungssysteme integrierbar zu sein

Zu diesem Zweck ermöglicht das Tool dem Benutzer, anzugeben, welche Ereignistypen er während des Betriebs aus den 51 verfügbaren NOTIFY-Ereignistypen sammeln möchte (AUTH-Ereignistypen wurden für dieses Tool ausgelassen). Dies bedeutet, dass Forscher bestimmte Ereignistypen anvisieren können, die mit bestimmten Operationen zusammenhängen, die sie überwachen möchten, und gleichzeitig den damit verbundenen stillen Datenverlust reduzieren, indem die insgesamt vom Client gesammelten Ereignistypen verringert werden.

Die Datenausgabe wird auf einzelne Ereignistyp-Logdateien verteilt, die wiederum unter Ereignisgenre-Dateien wie Prozess, Datei, Sockets usw. gruppiert werden. Alle Logs werden in JSON geschrieben, um eine einfache Aufnahme zu ermöglichen, und können von Benutzern erweitert werden, indem der Quellcode geändert wird, um zusätzliche Felder zu sammeln, die in der von Apple bereitgestellten Ereignistyp-Dokumentation beschrieben sind.

Tool herunterladen

ZUKÜNFTIGE HINWEISE -

Um den stillen Datenverlust zu verhindern, wäre eine mögliche Lösung, das Tool zu multithreaden, um mehrere ESF-Clients gleichzeitig ausführen zu können, wobei jeder eine Teilmenge der Ereignistypen sammelt. Dies könnte möglicherweise das Erreichen des internen Schwellenwerts überwinden, der den beobachteten Datenverlust verursacht. Ich hatte einfach nicht die Zeit, die zusätzlichen Kontrollen dafür zu implementieren.

VERWENDUNG

Erfordert deaktiviertes SIP!

  • Leider, da dies ein Entwicklungs-POC-Code ist, können Sie dies nicht mit aktiviertem SIP verwenden, da der Zugriff auf das ESF-Subsystem auf signierte Binärdateien beschränkt ist. Da dies unsigniert ist, muss SIP für die Verwendung deaktiviert sein. Verwenden Sie dies daher nur auf Nicht-Produktionsmaschinen.

  • Es gibt drei Arten der Ausführung: Sie können entweder die ID eines event_id aus der Konfigurationsdatei angeben, eine group_id aus der Konfigurationsdatei angeben, oder Sie können auf die Konfigurationsdatei verweisen, wobei die Zeilen der Ereignistyp-IDs oder Gruppen auskommentiert sind.

  • Beispiel 1 = Nur ES_EVENT_TYPE_NOTIFY_EXEC-Ereignisse sammeln: ./ESFang -id 2

  • Beispiel 2 = Datei-Genre-Ereignisse sammeln: ./ESFang -group 2

  • Beispiel 3 = Ereignistypen oder Gruppen sammeln, die durch die Konfigurationsdatei angegeben sind: ./ESFang -config ./ESF_config.txt

HINWEIS ZUM HARTKODIERTEN FILTER

Im Quellcode befindet sich ein hartkodierter Prozessfilter, der in den Zeilen 460 - 469 zu finden ist. Dieser Filter kann manipuliert werden, um entweder auf eine bestimmte PID, PPID oder einen Prozessnamen zu erfassen. Dies wurde als "hacky" Workaround für spezifische Filterzwecke hinzugefügt. Versuche, dies dynamisch über die Befehlszeile zu gestalten, um es in Inspector einzuspeisen, schlugen alle fehl. Daher blieb es hartkodiert.

HINWEIS ZUM HARTKODIERTEN PROZESS-MUTER

Im Quellcode befindet sich eine hartkodierte Prozess-Stummschaltungsfunktion, die in den Zeilen 471 - 491 zu finden ist. Dieser Filter kann verwendet werden, um die Erfassung bestimmter Ereignisse basierend auf dem Prozess- oder Elternprozesspfad zu stummschalten. Dies sollte mit Vorsicht verwendet werden, da alle Prozesse, die dem angegebenen Namen entsprechen, stummgeschaltet werden, wenn entweder der Prozess oder der Elternprozess einer Aktivität betroffen ist. Dies befand sich zum Zeitpunkt der Veröffentlichung in der Beta-Testphase.