Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
machscope — Esploratore di IPC di macOS, launchd, Mach-O e relazioni di fiducia — strumento forense nativo del terminale senza dipendenze | Kitploit
Strumenti/GitHubGitHub/m10ust/machscope
RicognizioneAnalisi delle VulnerabilitàReverse EngineeringInformatica ForenseRaccolta InformazioniAnalisi MalwareDigital ForensicsAnalisi di BinariThreat IntelligenceRisposta agli Incidenti
GitHub
1491 mese faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
m10ust/machscope

machscope

Esploratore di IPC di macOS, launchd, Mach-O e relazioni di fiducia — strumento forense nativo del terminale senza dipendenze

Vedi Repository
Condividi

machscope

machscope è un esploratore macOS nativo per terminale che trasforma processi, job di launchd, servizi Mach, bundle, firme, entitlements e collegamenti Mach-O in un unico grafico interrogabile.

Esiste per rispondere brutalmente bene a una domanda semplice:

A cosa è realmente connesso questo processo, servizio, binario o bundle?

Correla processi, eseguibili, job di launchd, servizi Mach, bundle, servizi XPC incorporati, firme digitali, entitlements, collegamenti Mach-O e risultati di fiducia/anomalie in un'unica vista.

Se Activity Monitor, ps, lsof, launchctl, codesign e otool avessero un figlio paranoico e amichevole per l'operatore, sarebbe questo.

Perché esiste

Gli interni di macOS sono eleganti, ma la verità è sparsa.

Per capire un singolo processo sospetto, spesso ci si ritrova a saltare tra:

  • ps
  • lsof
  • launchctl
  • codesign
  • otool
  • Info.plist del bundle
  • plist di launchd
  • appunti e ipotesi personali

machscope comprime questo flusso di lavoro in un unico strumento da terminale.

È progettato per:

  • triage di sicurezza
  • caccia ai malware
  • indagine sulla persistenza
  • esplorazione di launchd e servizi Mach
  • debug di comportamenti macOS anomali
  • capire come è realmente strutturata un'app

Cosa fa

Dato un PID, un percorso, un'etichetta launchd o un nome di servizio Mach, machscope può correlare:

  • metadati del processo da ps
  • percorso dell'eseguibile e contesto dei file aperti da lsof
  • stato e suggerimenti di etichetta da launchctl
  • metadati del plist di launchd e MachServices dichiarati
  • identità del bundle e servizi .xpc incorporati
  • identificatore della firma digitale, team ID, catena di autorità e indizi a runtime
  • dati degli entitlements da codesign
  • header Mach-O, dylib collegati, comandi di caricamento e rpath da otool
  • nodi/archi del grafico per esportazione downstream
  • risultati di fiducia con evidenze

Non pretende di osservare ogni relazione XPC attiva. Alcune relazioni sono dichiarate, non osservate. Questa onestà è intenzionale.

Perché machscope invece degli strumenti macOS grezzi?

  • ps mostra il processo, non la catena di proprietà
  • launchctl mostra il job, non l'intero contesto binario/bundle/fiducia
  • codesign mostra l'identità, non le relazioni a runtime
  • otool mostra i collegamenti, non l'esposizione di launchd o servizi Mach
  • machscope correla tutto in un unico passaggio

Funzionalità

  • Python senza dipendenze
    • utilizza solo la libreria standard di Python
  • Nativo per terminale
    • output leggibile per umani prima di tutto, JSON quando serve
  • Risoluzione flessibile del target
    • ispeziona un PID, eseguibile, bundle app, etichetta launchd o servizio Mach
  • Pivot di risoluzione con --follow
    • i target bundle si risolvono nel loro eseguibile
    • i servizi Mach si risolvono nel job launchd dichiarante e nel suo eseguibile
    • le etichette launchd pivotano al PID live quando presente
  • Punteggio di fiducia/anomalie
    • evidenzia stranezze senza fingere che ogni cosa strana sia malware
  • Modello a grafico semplice
    • graph.nodes e graph.edges sono progettati per futuri flussi di lavoro TUI, renderer o diff

Comandi

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]

Esempi

Ispeziona un processo attivo

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

Ispeziona un'app o binario

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

Ispeziona un job launchd

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

Ispeziona un servizio Mach

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

Scansiona per anomalie

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

Sfoglia servizi dichiarati

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

Esempio di output

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

Output JSON

inspect --json restituisce un oggetto strutturato progettato per scripting e futuri lavori UI.

Struttura di primo livello:

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

Il grafico è intenzionalmente semplice per poter alimentare:

  • un futuro TUI
  • un renderer
  • una modalità diff
  • altri strumenti

Come funziona --follow

--follow è dove machscope inizia a sembrare meno un dump di metadati e più un esploratore.

Aggiunge pivot di risoluzione come:

  • target bundle → eseguibile
  • servizio Mach → job launchd dichiarante → eseguibile
  • etichetta launchd → stato launchctl print → PID live quando disponibile

Questo è importante perché gli artefatti macOS più interessanti spesso non sono la cosa letterale che hai digitato, ma la cosa dietro di essa.

Risultati di fiducia

machscope include un semplice strato di fiducia/anomalie.

Esempi di cose che può evidenziare:

  • binari mancanti dietro voci di persistenza
  • target di esecuzione scrivibili dall'utente
  • entitlements sensibili su codice non Apple
  • discrepanze tra etichetta launchd e identità del bundle
  • suffissi launchd strani come .reloaded
  • percorsi che sembrano di sistema ma non si convalidano come previsto

Non è un motore di verdetto malware. È un modo per far emergere piste, ridurre i punti ciechi e rendere più facile interrogare catene sospette.

Scelte di progettazione

Senza dipendenze di proposito

La prima versione utilizza intenzionalmente:

  • libreria standard di Python
  • solo strumenti macOS nativi

Strumenti inclusi:

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

Questo mantiene lo strumento facile da clonare, ispezionare ed eseguire su un sistema sostanzialmente standard.

Onesto riguardo alla visibilità

Alcune relazioni sono dichiarate, non osservate.

Ad esempio:

  • i plist di launchd possono dichiarare servizi Mach
  • i bundle possono rivelare servizi XPC incorporati
  • ma gli strumenti pubblici non sempre espongono chiaramente le relazioni client/server XPC attive

machscope preferisce essere esplicito piuttosto che fingere certezza.

Requisiti

  • macOS
  • Python 3
  • accesso a strumenti nativi come ps, lsof, launchctl, codesign, otool e file

Privilegi

Eseguilo prima come utente normale.

Spesso è sufficiente per risposte utili.

Alcuni dettagli potrebbero essere parziali senza privilegi elevati, specialmente per:

  • lsof
  • launchctl
  • dettagli di firma digitale su alcuni target

Se si esegue l'escalation, fallo deliberatamente.

Buoni casi d'uso

  • "A cosa appartiene esattamente questo servizio Mach?"
  • "Questo job launchd è normale, obsoleto o danneggiato?"
  • "Perché questo processo ha come genitore launchd ma non dove mi aspettavo?"
  • "Quali entitlements ha realmente questo helper?"
  • "Questo bundle di app nasconde servizi XPC incorporati?"
  • "Perché questo processo sembra sospetto?"

Non obiettivi

machscope non cerca di essere:

  • un EDR completo
  • un sistema di telemetria live del kernel
  • un osservatore XPC perfetto
  • un'app GUI
  • un framework enorme

È uno strumento locale affilato per rendere leggibili gli interni di macOS.

Stato

All'inizio, ma già utile.

L'attuale output e modello a grafico sono deliberatamente modellati in modo che le versioni future possano aggiungere:

  • esplorazione TUI
  • modalità diff
  • integrazioni export/render
  • regole di fiducia più ricche
  • migliore navigazione tra target del grafico

--

Scarica lo strumento