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
machscope — Explorer für macOS-IPC, launchd, Mach-O und Vertrauensbeziehungen — terminal-natives Forensik-Tool ohne Abhängigkeiten | Kitploit
Tools/GitHubGitHub/m10ust/machscope
AufklärungSchwachstellenanalyseReverse EngineeringForensikInformationsbeschaffungMalware-AnalyseDigitale ForensikBinäranalyseBedrohungsanalyseIncident Response
GitHubm10ust/machscope

machscope

140vor 20 TagenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →

Explorer für macOS-IPC, launchd, Mach-O und Vertrauensbeziehungen — terminal-natives Forensik-Tool ohne Abhängigkeiten

Repository anzeigen
Teilen

machscope

machscope ist ein terminal-basierter macOS-Explorer, der Prozesse, launchd-Jobs, Mach-Dienste, Bundles, Signaturen, Entitlements und Mach-O-Verknüpfungen in einen abfragbaren Graphen verwandelt.

Es existiert, um eine einfache Frage gnadenlos gut zu beantworten:

Womit ist dieser Prozess, dieser Dienst, dieses Binary oder dieses Bundle wirklich verbunden?

Es korreliert Prozesse, Executables, launchd-Jobs, Mach-Dienste, Bundles, eingebettete XPC-Dienste, Codesignaturen, Entitlements, Mach-O-Verknüpfungen und Vertrauens-/Anomalie-Befunde in einer Ansicht.

Wenn Activity Monitor, ps, lsof, launchctl, codesign und otool ein paranoides, bedienerfreundliches Kind hätten, wäre es das.

Warum es das gibt

macOS-Interna sind elegant, aber die Wahrheit ist verstreut.

Um einen verdächtigen Prozess zu verstehen, springt man oft zwischen Folgendem hin und her:

  • ps
  • lsof
  • launchctl
  • codesign
  • otool
  • Bundle-Info.plist
  • launchd-Plists
  • eigenen Notizen und Vermutungen

machscope bündelt diesen Arbeitsablauf in einem einzigen Terminal-Werkzeug.

Es ist gebaut für:

  • Sicherheits-Triage
  • Jagd nach Malware
  • Untersuchung von Persistenz
  • Erforschung von launchd- und Mach-Diensten
  • Debugging seltsamen macOS-Verhaltens
  • Verständnis dafür, wie eine App wirklich aufgebaut ist

Was es tut

Mit einer PID, einem Pfad, einem launchd-Label oder einem Mach-Dienstnamen kann machscope korrelieren:

  • Prozess-Metadaten aus ps
  • Ausführungspfad und Kontext offener Dateien aus lsof
  • launchd-Zustand und Label-Hinweise aus launchctl
  • launchd-Plist-Metadaten und deklarierte MachServices
  • Bundle-Identität und eingebettete .xpc-Dienste
  • Codesignatur-Identifikator, Team-ID, Authority-Chain und Laufzeithinweise
  • Entitlement-Daten aus codesign
  • Mach-O-Header, verknüpfte Dylibs, Load-Commands und Rpaths aus otool
  • Graph-Knoten / -Kanten für den späteren Export
  • Vertrauensbefunde mit Belegen

Es gibt nicht vor, jede Live-XPC-Beziehung zu beobachten. Manche Beziehungen sind deklariert, nicht beobachtet. Diese Ehrlichkeit ist beabsichtigt.

Warum machscope statt der rohen macOS-Werkzeuge?

  • ps zeigt den Prozess, nicht die Eigentümerkette
  • launchctl zeigt den Job, nicht den vollständigen Binary-/Bundle-/Vertrauenskontext
  • codesign zeigt die Identität, nicht die Laufzeitbeziehungen
  • otool zeigt die Verknüpfungen, nicht die launchd- oder Mach-Dienst-Exposition
  • machscope korreliert all das in einem Durchgang

Funktionen

  • Ohne Abhängigkeiten – Python
    • verwendet nur die Python-Standardbibliothek
  • Terminal-nativ
    • zuerst lesbare Ausgabe für Menschen, JSON wenn gewünscht
  • Flexible Zielauflösung
    • untersuche eine PID, ein Executable, ein App-Bundle, ein launchd-Label oder einen Mach-Dienst
  • --follow-Resolver-Pivots
    • Bundle-Ziele werden zu ihrem Executable aufgelöst
    • Mach-Dienste werden zum deklarierenden launchd-Job und Executable aufgelöst
    • launchd-Labels wechseln zum Live-PID, falls vorhanden
  • Vertrauens-/Anomalie-Bewertung
    • deckt Merkwürdigkeiten auf, ohne jede Merkwürdigkeit als Malware auszugeben
  • Einfaches Graphmodell
    • graph.nodes und graph.edges sind für zukünftige TUI-, Renderer- oder Diff-Workflows ausgelegt

Befehle

root@kitploit:~
./machscope.py inspect <pid|path|launchd-label|mach-service>
./machscope.py inspect <target> --follow
./machscope.py inspect <target> --json
./machscope.py scan --limit 40 --min-score 1
./machscope.py services [filter]

Beispiele

Einen laufenden Prozess untersuchen

root@kitploit:~
./machscope.py inspect 1
./machscope.py inspect 57382

Eine App oder ein Binary untersuchen

root@kitploit:~
./machscope.py inspect /System/Applications/Calculator.app --follow
./machscope.py inspect /usr/libexec/remoted

Einen launchd-Job untersuchen

root@kitploit:~
./machscope.py inspect com.apple.WindowServer --follow
./machscope.py inspect ai.openclaw.gateway --follow

Einen Mach-Dienst untersuchen

root@kitploit:~
./machscope.py inspect com.apple.dnssd.service --follow

Nach Auffälligkeiten scannen

root@kitploit:~
./machscope.py scan --limit 40 --min-score 1
./machscope.py scan --limit 10 --min-score 6

Deklarierte Dienste durchsuchen

root@kitploit:~
./machscope.py services
./machscope.py services mDNS
./machscope.py services com.apple

Beispielausgabe

root@kitploit:~
Target: com.apple.dnssd.service [mach-service follow]
Resolved via: mach-service-launchd
Executable: /usr/sbin/mDNSResponder
Launchd: com.apple.mDNSResponder.reloaded
Plist: /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
Signature: apple-platform team=not set id=com.apple.mDNSResponder
Mach services: com.apple.dnssd.service, com.apple.mDNSResponder.control, com.apple.mDNSResponder.log_utility
Entitlements: 0
Linked dylibs: 25  RPATHs: 0
Trust: score=1 verdict=ordinary
Findings:
- [LOW] T012 Odd launchd label suffix

JSON-Ausgabe

inspect --json liefert ein strukturiertes Objekt, das für Skripte und zukünftige UI-Arbeit gedacht ist.

Struktur der obersten Ebene:

  • target
  • target_resolution
  • process
  • binary
  • bundle
  • launchd
  • trust
  • graph.nodes
  • graph.edges

Der Graph ist bewusst einfach gehalten, damit er Folgendes speisen kann:

  • eine zukünftige TUI
  • einen Renderer
  • einen Diff-Modus
  • andere Werkzeuge

Wie --follow funktioniert

--follow ist der Punkt, an dem sich machscope weniger wie ein Metadaten-Ausgeber und mehr wie ein Explorer anfühlt.

Es fügt Resolver-Pivots hinzu wie:

  • Bundle-Ziel → Executable
  • Mach-Dienst → deklarierender launchd-Job → Executable
  • launchd-Label → launchctl print-Zustand → Live-PID, sofern verfügbar

Das ist wichtig, weil die interessantesten macOS-Artefakte oft nicht das wörtliche Ding sind, das du eingegeben hast, sondern das Ding dahinter.

Vertrauensbefunde

machscope enthält eine einfache Vertrauens-/Anomalie-Ebene.

Beispiele für Dinge, die es aufdecken kann:

  • fehlende Binaries hinter Persistenzeinträgen
  • benutzerbeschreibbare Ausführungsziele
  • sensible Entitlements bei Nicht-Apple-Code
  • Abweichungen zwischen launchd-Label und Bundle-Identität
  • ungewöhnliche launchd-Suffixe wie .reloaded
  • systemartig aussehende Pfade, die nicht wie erwartet validieren

Das ist kein Malware-Urteilsmodul. Es ist eine Möglichkeit, Spuren aufzudecken, blinde Flecken zu verringern und verdächtige Ketten leichter zu untersuchen.

Design-Entscheidungen

Von Natur aus ohne Abhängigkeiten

Die erste Version verwendet bewusst:

  • Python-Standardbibliothek
  • nur native macOS-Werkzeuge

Eingebundene Werkzeuge sind:

  • ps
  • lsof
  • launchctl
  • codesign
  • otool
  • file

Das hält das Werkzeug einfach zu klonen, zu untersuchen und auf einem weitgehend Standard-System auszuführen.

Ehrlich in Bezug auf Sichtbarkeit

Manche Beziehungen sind deklariert, nicht beobachtet.

Zum Beispiel:

  • launchd-Plists können Mach-Dienste deklarieren
  • Bundles können eingebettete XPC-Dienste offenlegen
  • aber öffentliche Werkzeuge legen Live-XPC-Client/Server-Beziehungen nicht immer sauber offen

machscope möchte lieber explizit sein, als Sicherheit vorzutäuschen.

Voraussetzungen

  • macOS
  • Python 3
  • Zugriff auf native Werkzeuge wie ps, lsof, launchctl, codesign, otool und file

Privilegien

Führe es zuerst als normaler Benutzer aus.

Das reicht oft für nützliche Antworten.

Einige Details können ohne erhöhte Privilegien unvollständig sein, insbesondere bei:

  • lsof
  • launchctl
  • Codesignatur-Details bei einigen Zielen

Wenn du die Rechte erhöhst, tu es bewusst.

Gute Anwendungsfälle

  • „Wem gehört dieser Mach-Dienst genau?“
  • „Ist dieser launchd-Job normal, veraltet oder defekt?“
  • „Warum wird dieser Prozess von launchd verwaltet, aber nicht dort, wo ich es erwartet habe?“
  • „Welche Entitlements hat dieser Helfer wirklich?“
  • „Versteckt dieses App-Bundle eingebettete XPC-Dienste?“
  • „Warum wirkt dieser Prozess verdächtig?“

Nicht-Ziele

machscope versucht nicht zu sein:

  • eine vollwertige EDR
  • ein Live-Kernel-Telemetriesystem
  • ein perfekter XPC-Beobachter
  • eine GUI-App
  • ein riesiges Framework

Es ist ein scharfes lokales Werkzeug, um macOS-Interna lesbar zu machen.

Status

Früh, aber bereits nützlich.

Die aktuelle Ausgabe und das Graphmodell sind bewusst so geformt, dass zukünftige Versionen hinzufügen können:

  • TUI-Erkundung
  • Diff-Modus
  • Export-/Render-Integrationen
  • umfangreichere Vertrauensregeln
  • besseres Graph-Walking über Ziele hinweg
Tool herunterladen