OS X Auditor

OS X Auditor è uno strumento gratuito di computer forensics per Mac OS X.
OS X Auditor analizza e calcola l'hash dei seguenti artefatti sul sistema in esecuzione o su una copia di un sistema che si desidera analizzare:
- le estensioni del kernel
- gli agenti e i demoni di sistema
- gli agenti e i demoni di terze parti
- gli elementi di avvio obsoleti e deprecati di sistema e di terze parti
- gli agenti degli utenti
- i file scaricati dagli utenti
- le applicazioni installate
Estrae:
- i file in quarantena degli utenti
- la cronologia, i download, i TopSites, l'Ultima Sessione, i database HTML5 e l'archivio locale di Safari degli utenti
- i cookie, i download, la cronologia dei moduli, i permessi, i segnalibri e le credenziali di Firefox degli utenti
- la cronologia di Chrome (e la cronologia archiviata), i cookie, i dati di accesso, i siti top, i dati web, i database HTML5 e l'archivio locale di Chrome degli utenti
- gli account social e email degli utenti
- i punti di accesso WiFi a cui il sistema controllato è stato connesso (e tenta di geolocalizzarli)
Cerca anche parole chiave sospette nei file .plist stessi.
Può verificare la reputazione di ogni file su:
- Team Cymru's MHR
- VirusTotal
- il proprio database locale
Può aggregare tutti i log dalle seguenti directory in un archivio zip:
- /var/log (-> /private/var/log)
- /Library/logs
- ~/Library/logs dell'utente
Infine, i risultati possono essere:
- visualizzati come un semplice file di log in formato txt (così puoi cat-pipe-grep… o solo grep)
- visualizzati come un file di log in HTML
- inviati a un server Syslog
Autore
Jean-Philippe Teissier - @Jipe_ & al.
Stato dello sviluppo
OS X Auditor NON È PIÙ MANTENUTO - NON DOVRESTI USARLO
Supporto
OS X Auditor è nato come progetto del fine settimana e non è più mantenuto. È stato forkato dai grandi ragazzi di Yelp, che hanno creato osxcollector.
Ti consiglio di usare osxcollector (https://github.com/Yelp/osxcollector)
Come installare
Basta copiare tutti i file da GitHub.
Dipendenze
Se prevedi di eseguire OS X Auditor su un Mac, otterrai il pieno supporto per l'analisi dei plist tramite OS X Foundation attraverso pyobjc:
Se non puoi installare pyobjc o se prevedi di eseguire OS X Auditor su un sistema operativo diverso da Mac OS X, potresti avere alcuni problemi con l'analisi dei plist:
pip install biplist
pip install plist
Queste dipendenze verranno rimosse quando sarà disponibile un modulo nativo funzionante per i plist in Python.
Come eseguire
- OS X Auditor funziona bene con python >= 2.7.2 (2.7.9 va bene). Non funziona ancora con una versione diversa di python (a causa dell'incubo dei plist).
- OS X Auditor è mantenuto per funzionare sull'ultima versione di OS X. Farà del suo meglio sulle versioni precedenti.
- Devi eseguirlo come root (o tramite sudo) se vuoi usarlo su un sistema in esecuzione, altrimenti non sarà in grado di accedere ad alcuni file di sistema e di altri utenti.
- Se stai usando chiavi API da variabili d'ambiente (vedi sotto), devi usare
sudo -E per utilizzare le variabili d'ambiente dell'utente.
Digita osxauditor.py -h per ottenere tutte le opzioni disponibili, poi eseguilo con le opzioni selezionate.
es. [sudo -E] python osxauditor.py -a -m -l localhashes.db -H log.html
Impostazione delle variabili d'ambiente
VirusTotal API:
export VT_API_KEY=aaaabbbbccccddddeeee
Registro delle modifiche
0.4.3
0.4.2
- MODIFICA: chiavi API spostate dal codice alle variabili d'ambiente
0.4.1
- MODIFICA: ricerca di backdoor generiche in LaunchAgentPlist
0.4
- NUOVO: estrae eventi (avvio/spegnimento, ibernazione in/out, comandi sudo, dispositivi USB, tty aperti/chiusi, dai log di sistema e crea una timeline (non ancora leggibile) (-e/eventlogs)
- NUOVO: estrae i LoginItems degli utenti
- NUOVO: estrae i RecentItems degli utenti
- NUOVO: estrae l'Ultima Sessione dagli artefatti di Safari
- NUOVO: estrae i dettagli di gruppi e utenti di sistema
- CORREZIONE: chiamate errate a os.path.join()
- CORREZIONE: bug nella funzione ricorsiva ParsePackagesDir()
0.3.1
- NUOVO: fornisce nome, versione e build del sistema controllato
- NUOVO: possibilità di analizzare le applicazioni installate (-i/--installedapps)
- NUOVO: estrae la cronologia archiviata dagli artefatti di Google Chrome
- NUOVO: un report HTML leggibile :)
- CORREZIONE: HTMLLog() e SYSLOGLog() ora gestiscono le eccezioni
- CORREZIONE: ParsePackagesDir() ora è ricorsiva e tenta di analizzare solo app o estensioni del kernel. Aggiunto anche un po' di output DEBUG
- CORREZIONE: GRANDE miglioramento UTF-8/UNICODE
- CORREZIONE: i file .DS_Store e .localized vengono ignorati in ParsePackagesDir()
0.3
- NUOVO: possibilità di analizzare gli artefatti di Google Chrome (Cronologia e cronologia archiviata, Cookie, Dati di accesso, Top Sites, Dati web, database HTML5 e archivi locali) con -b/--browsers
- NUOVO: possibilità di estrarre i punti di accesso Wi-Fi a cui il sistema controllato è stato connesso dalle preferenze Airport e tentare di geolocalizzarli usando Geomena (-A/--airportprefs). Devi usare -g/--wifiapgeolocate per abilitare la geolocalizzazione (o impostare GEOLOCATE_WIFI_AP su True nel codice).
- NUOVO: possibilità di estrarre gli account social ed email degli utenti (-U/--usersaccounts)
- CORREZIONE: possibilità di gestire database sqlite bloccati, specialmente durante l'analisi di un sistema live
- CORREZIONE: rimossi i duplicati degli hash
- CORREZIONE: migliore identificazione degli md5 nell'output HTML
- MODIFICA: indica se una sezione (Startup items, Directory pacchetti, Tabelle Db, ecc.) è vuota per chiarire l'output
- MODIFICA: gli artefatti dei download (-d/--downloads) includono le directory di download predefinite vecchie e nuove di Mail.app
0.2.1
- MODIFICA/CORREZIONE: implementata una funzione BigFileMd5() per calcolare l'hash di file molto grandi, evitando eccezioni MemoryError e riducendo l'ingombro di memoria
- CORREZIONE: voci UTF-8 da LSQuarantineEvent in ParseQuarantines()
0.2
- NUOVO: possibilità di inviare i risultati a un server syslogd remoto (-S)
- NUOVO: possibilità di creare un archivio zip di tutti i file di log trovati sul sistema controllato (-z)
- MODIFICA: l'analisi degli artefatti di avvio include gli StartupItems vecchi e deprecati
- MODIFICA: l'analisi degli artefatti di avvio include le ScriptingAdditions
- MODIFICA: l'analisi degli artefatti in quarantena include i vecchi QuarantineEvents per i sistemi Mac OS X <= 10.6
- MODIFICA: grande miglioramento nella gestione dei plist usando il ponte Python ⟷ Objective-C (PyObjC) e OS X Foundation
- MODIFICA: alcune modifiche nei parametri delle opzioni (-t, -l)
- MODIFICA: licenza cambiata da CC a GPL
- MODIFICA: i livelli di debug sono ora più coerenti nei log di output
- MODIFICA: una piccola modifica al CSS di Bootstrap
- MODIFICA: la ricerca su VirusTotal è ora eseguita in modalità bulk
- CORREZIONE: un bug in ParseLaunchAgents() su file plist contenenti sia le chiavi Program che ProgramArguments
0.1
Progettazione e capacità

Artefatti