Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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.

FeedsKontaktDatenschutz© 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
169vor 2 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →

machscope

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

./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

./machscope.py inspect 1
./machscope.py inspect 57382

Eine App oder ein Binary untersuchen

./machscope.py inspect /System/Applications/Calculator.app --follow
./machscope.py inspect /usr/libexec/remoted

Einen launchd-Job untersuchen

./machscope.py inspect com.apple.WindowServer --follow
./machscope.py inspect ai.openclaw.gateway --follow

Einen Mach-Dienst untersuchen

./machscope.py inspect com.apple.dnssd.service --follow

Nach Auffälligkeiten scannen

./machscope.py scan --limit 40 --min-score 1
./machscope.py scan --limit 10 --min-score 6

Deklarierte Dienste durchsuchen

./machscope.py services
./machscope.py services mDNS
./machscope.py services com.apple

Beispielausgabe

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

Tool herunterladen