
Monitor di sistema macOS avanzato che sfrutta Apple Endpoint Security per raccogliere, arricchire e visualizzare eventi di processi, file, memoria e XPC per triage di malware, threat hunting e analisi forense.

Mac Monitor è uno strumento avanzato e autonomo di monitoraggio di sistema, creato appositamente per la ricerca sulla sicurezza macOS, il triage di malware e la risoluzione dei problemi di sistema. Sfruttando le API Endpoint Security (ES) e System Extension di Apple, raccoglie e arricchisce gli eventi di sistema, visualizzandoli graficamente, con un'ampia gamma di funzionalità progettate per mostrare solo gli eventi rilevanti per te. La telemetria raccolta include eventi di processo, interprocesso, memoria, XPC, file e altro ancora, oltre a metadati ricchi, consentendo agli utenti di contestualizzare gli eventi e raccontare una storia con facilità. Con un'interfaccia intuitiva e una ricca serie di funzionalità di analisi, Mac Monitor è stato progettato per una vasta gamma di livelli di abilità e background per rilevare minacce macOS che altrimenti passerebbero inosservate.
Presentazione della prossima generazione di Mac Monitor:
Apple Silicon, ma anche Intel va bene!4GB+13.1+ (Ventura)☕️ (Consigliato) Homebrew
brew install --cask mac-monitor📦 Pacchetto di installazione
Installazione
Mac Monitor.appAccesso completo al disco -- dovrai attivare l'interruttore per abilitarlo per la Mac Monitor Security Extension. L'accesso completo al disco è un requisito di Endpoint Security.
/Applications/Mac Monitor.app con identificatore di firma com.swiftlydetecting.agent./Library/SystemExtensions/../com.swiftlydetecting.agent.securityextension.systemextension con identificatore di firma com.swiftlydetecting.agent.securityextension.systemextension.1.0.3+) Supporta la rimozione utilizzando lo script ../Contents/SharedSupport/uninstall.sh.Eventi ES ad alta fedeltà modellati e arricchiti con alcuni eventi che contengono ulteriori arricchimenti. Ad esempio, un processo che è a conoscenza della File Quarantine, un file in quarantena, certificati di code signing, ecc.
Sottoscrizioni dinamiche a runtime degli eventi ES. Hai la possibilità di modificare al volo le tue sottoscrizioni agli eventi, permettendoti di ridurre il rumore mentre lavori sulle tracce.
Muting dei percorsi a livello API -- il team di Endpoint Security di Apple ha lavorato molto recentemente per abilitare funzionalità avanzate di muting/inversione dei percorsi. Qui copriamo la maggior parte delle funzionalità API: es_mute_path e es_mute_path_events insieme ai tipi ES_MUTE_PATH_TYPE_PREFIX, ES_MUTE_PATH_TYPE_LITERAL, ES_MUTE_PATH_TYPE_TARGET_PREFIX e ES_MUTE_PATH_TYPE_TARGET_LITERAL. Al momento non supportiamo l'inversione. Mi piacerebbe se il team ES aggiungesse l'inversione per evento invece che per client.

Fatti dettagliati sugli eventi. Fai clic con il tasto destro su qualsiasi evento in una riga della tabella per accedere ai metadati dell'evento, al filtraggio, al muting e alle opzioni di annullamento della sottoscrizione. Fondamentale per l'esperienza utente è la possibilità di approfondire qualsiasi evento o insieme di eventi. Per abilitare questa funzionalità abbiamo sviluppato finestre "Fatti sugli eventi" che contengono metadati/ulteriori arricchimenti su un dato evento. Ogni evento ha un set curato di metadati visualizzati. Ad esempio, gli eventi di esecuzione di processo contengono generalmente informazioni sul code signing, variabili d'ambiente, eventi correlati, ecc. Di seguito vedi esempi di fatti sugli eventi di creazione file e aggiunta di elementi di avvio BTM.
com.swiftlydetecting.agent.securityextension) non utilizzerà inutilmente risorse/batteria quando non è in corso una traccia.
Correlazione degli eventi è un componente eccezionalmente importante nella cassetta degli attrezzi di qualsiasi analista. La possibilità di vedere quali eventi sono "correlati" tra loro ti permette di manipolare la telemetria in modo sensato (oltre al semplice dump in JSON o alla rappresentazione di un singolo evento). Eseguiamo la correlazione degli eventi a livello di processo -- questo significa che per qualsiasi evento (che ha un processo iniziatore e/o un processo target) possiamo collegare profondamente gli eventi che un dato processo ha istigato.
Raggruppamento dei processi è un altro modo utile per rappresentare la telemetria dei processi attorno a un dato evento ES_EVENT_TYPE_NOTIFY_EXEC o ES_EVENT_TYPE_NOTIFY_FORK. Raggruppando i processi in questo modo puoi facilmente identificare la catena di attività.
Filtraggio degli artefatti permette agli utenti di rimuovere (ma non distruggere) gli eventi dalla vista in base a: tipo di evento, percorso del processo iniziatore o percorso del processo target. Questa caratteristica di spicco consente agli analisti di tagliare rapidamente il rumore mantenendo comunque tutti i dati.

Esportazione della telemetria. Attualmente supportiamo JSON formattato e JSONL (un oggetto JSON per riga) per la traccia di sistema completa o parziale (anche con scorciatoie da tastiera). Puoi accedere a queste opzioni nella barra dei menu sotto "Esporta telemetria".
Generazione del sottoalbero dei processi. Quando visualizzi la finestra dei fatti sugli eventi per un dato evento, tenteremo di generare un sottoalbero della discendenza del processo nella barra laterale sinistra. Questo albero è interattivo – clicca su qualsiasi processo e verrai portato ai suoi fatti sugli eventi. Allo stesso modo, puoi fare clic con il tasto destro su qualsiasi processo nell'albero per far apparire i fatti per quell'evento.
Grafico dinamico della distribuzione degli eventi. Questo è un divertente grafico reso possibile dal team SwiftUI. Il grafico mostra la distribuzione degli eventi a cui sei iscritto, attualmente in ambito (cioè non filtrati) e con un conteggio maggiore di zero. Questo ti permette di identificare molto rapidamente gli eventi rumorosi. Il grafico si mostra/si nasconde automaticamente, ma puoi richiamarlo con il pulsante "Mini-grafico" nella barra degli strumenti.
