OS X Auditor est un outil gratuit de criminalistique informatique pour Mac OS X.
OS X Auditor analyse et hache les artefacts suivants sur le système en cours d'exécution ou une copie d'un système que vous souhaitez analyser :
les extensions du noyau
les agents et démons système
les agents et démons tiers
les anciens et obsolètes éléments de démarrage système et tiers
les agents des utilisateurs
les fichiers téléchargés par les utilisateurs
les applications installées
Il extrait :
les fichiers mis en quarantaine des utilisateurs
l'historique Safari des utilisateurs, les téléchargements, les topsites, LastSession, les bases de données HTML5 et le stockage local
les cookies, téléchargements, formhistory, permissions, places et signons Firefox des utilisateurs
l'historique Chrome et l'historique archivé, les cookies, les données de connexion, les sites les plus visités, les données web, les bases de données HTML5 et le stockage local Chrome des utilisateurs
les comptes sociaux et email des utilisateurs
les points d'accès WiFi auxquels le système audité s'est connecté (et tente de les géolocaliser)
Il recherche également des mots-clés suspects dans les .plist eux-mêmes.
Il peut vérifier la réputation de chaque fichier sur :
MHR de Team Cymru
VirusTotal
votre propre base de données locale
Il peut regrouper tous les journaux des répertoires suivants dans une archive zip :
/var/log (-> /private/var/log)
/Library/logs
le ~/Library/logs de l'utilisateur
Enfin, les résultats peuvent être :
rendus sous forme d'un simple fichier journal texte (pour que vous puissiez les cat-pipe-grep… ou simplement les grep)
rendus sous forme d'un fichier journal HTML
envoyés à un serveur Syslog
Auteur
Jean-Philippe Teissier - @Jipe_ & al.
État du développement
OS X AUDITOR N'EST PLUS MAINTENU - VOUS NE DEVRIEZ PAS L'UTILISER
Support
OS X Auditor a commencé comme un projet de week-end et n'est plus maintenu. Il a été forké par les supers gars de @ Yelp qui ont créé osxcollector.
Copiez simplement tous les fichiers depuis GitHub.
Dépendances
Si vous prévoyez d'exécuter OS X Auditor sur un Mac, vous obtiendrez un support complet de l'analyse des plist avec OS X Foundation via pyobjc :
pip install pyobjc
Si vous ne pouvez pas installer pyobjc ou si vous prévoyez d'exécuter OS X Auditor sur un autre OS que Mac OS X, vous pourriez rencontrer des problèmes avec l'analyse des plist :
pip install biplist
pip install plist
Ces dépendances seront supprimées lorsqu'un module plist natif fonctionnel sera disponible en python
Comment exécuter
OS X Auditor fonctionne bien avec python >= 2.7.2 (2.7.9 est OK). Il ne fonctionne pas encore avec une version différente de python (à cause du cauchemar des plist)
OS X Auditor est maintenu pour fonctionner sur la dernière version d'OS X. Il fera de son mieux sur les versions plus anciennes d'OS X.
Vous devez l'exécuter en tant que root (ou via sudo) si vous voulez l'utiliser sur un système en cours d'exécution, sinon il ne pourra pas accéder à certains fichiers système et d'autres utilisateurs
Si vous utilisez des clés API à partir de variables d'environnement (voir ci-dessous), vous devez utiliser sudo -E pour utiliser les variables d'environnement de l'utilisateur
Tapez osxauditor.py -h pour obtenir toutes les options disponibles, puis exécutez-le avec les options sélectionnées
MODIFICATION : Vérification de hachage Malware.lu supprimée - service plus disponible
0.4.2
MODIFICATION : Déplacement des clés API du code vers les variables d'environnement
0.4.1
MODIFICATION : Recherche de portes dérobées génériques dans LaunchAgentPlist
0.4
NOUVEAU : extrait les événements (démarrage/arrêt, hibernation entrée/sortie, commandes sudo, périphériques USB, ttys ouverts/fermés, à partir des journaux système et crée une chronologie (pas encore lisible) (-e/eventlogs)
NOUVEAU : extrait les LoginItems des utilisateurs
NOUVEAU : extrait les RecentItems des utilisateurs
NOUVEAU : extrait la LastSession des artefacts Safari
NOUVEAU : extrait les détails des groupes et utilisateurs système
CORRECTIF : appels os.path.join() incorrects
CORRECTIF : bogue dans la fonction récursive ParsePackagesDir()
0.3.1
NOUVEAU : fournit le nom, la version et le build du système audité
NOUVEAU : possibilité d'analyser les applications installées (-i/--installedapps)
NOUVEAU : extrait l'Historique Archivé des artefacts Google Chrome
NOUVEAU : un rapport HTML lisible :)
CORRECTIF : HTMLLog() et SYSLOGLog() gèrent désormais les exceptions
CORRECTIF : ParsePackagesDir() est maintenant récursive et ne tente d'analyser que les applications ou les extensions du noyau. Quelques sorties DEBUG ajoutées également
CORRECTIF : énorme amélioration UTF-8/UNICODE
CORRECTIF : les fichiers .DS_Store et .localized sont ignorés dans ParsePackagesDir()
0.3
NOUVEAU : possibilité d'analyser les artefacts Google Chrome (Historique et historique archivé, Cookies, Données de connexion, Sites les plus visités, Données web, bases de données HTML5 et stockage local) avec -b/--browsers
NOUVEAU : possibilité d'extraire les points d'accès Wi-Fi auxquels le système audité s'est connecté à partir des préférences Airport et tente de les géolocaliser en utilisant Geomena (-A/--airportprefs). Vous devez utiliser -g/--wifiapgeolocate pour activer la géolocalisation (ou définir GEOLOCATE_WIFI_AP sur True dans le code).
NOUVEAU : possibilité d'extraire les comptes sociaux et email des utilisateurs (-U/--usersaccounts)
CORRECTIF : capacité à gérer les bases de données sqlite verrouillées, surtout lors de l'audit d'un système en direct
CORRECTIF : doublons de hachages supprimés
CORRECTIF : meilleure identification du md5 dans la sortie HTML
MODIFICATION : indique si une section (Éléments de démarrage, Répertoire Packages, Tables de base de données, etc.) est vide pour clarifier la sortie
MODIFICATION : les artefacts de téléchargement (-d/--downloads) incluent les répertoires de téléchargement par défaut des versions ancienne et nouvelle de Mail.app
0.2.1
MODIFICATION/CORRECTIF : implémentation d'une fonction BigFileMd5() pour hacher les très gros fichiers, éviter les exceptions MemoryError et réduire l'empreinte mémoire
CORRECTIF : entrées UTF-8 de LSQuarantineEvent dans ParseQuarantines()
0.2
NOUVEAU : possibilité d'envoyer les résultats à un serveur syslogd distant (-S)
NOUVEAU : possibilité de créer une archive zip de tous les fichiers journaux trouvés sur le système audité (-z)
MODIFICATION : l'analyse des artefacts de démarrage inclut les StartupItems anciens et obsolètes
MODIFICATION : l'analyse des artefacts de démarrage inclut les ScriptingAdditions
MODIFICATION : l'analyse des artefacts mis en quarantaine inclut les anciens QuarantineEvents pour les systèmes Mac OS X <= 10.6
MODIFICATION : grande amélioration de la gestion des plist en utilisant le pont Python ⟷ Objective-C (PyObjC) et OS X Foundation
MODIFICATION : quelques changements dans les paramètres d'options (-t, -l)
MODIFICATION : licence changée de CC à GPL
MODIFICATION : les niveaux de debug sont désormais plus cohérents dans les journaux de sortie
MODIFICATION : un petit changement avec le CSS Bootstrap
MODIFICATION : la recherche VirusTotal est désormais effectuée en mode groupé
CORRECTIF : un bogue dans ParseLaunchAgents() sur les fichiers plist contenant à la fois les clés Program et ProgramArguments
extraire les informations utilisateur de /private/var/db/dslocal/nodes/Default/users
Travaux connexes
Disk Arbitrator
Disk Arbitrator est un utilitaire de criminalistique Mac OS X conçu pour aider l'utilisateur à garantir le respect des procédures médico-légales lors de l'imagerie d'un disque. Disk Arbitrator est essentiellement une interface utilisateur vers le framework Disk Arbitration, qui permet à un programme de participer à la gestion des périphériques de stockage par blocs, y compris le montage automatique des systèmes de fichiers. Lorsqu'il est activé, Disk Arbitrator bloque le montage des systèmes de fichiers pour éviter un montage en lecture-écriture et violer l'intégrité des preuves.
Memoryze pour Mac est un logiciel gratuit de criminalistique mémoire qui aide les intervenants en cas d'incident à trouver les éléments malveillants en mémoire… sur Mac.
Memoryze pour Mac peut acquérir et/ou analyser des images mémoire. L'analyse peut être effectuée sur des images mémoire hors ligne ou sur des systèmes en direct.
OS X Auditor
Copyright (C) 2013-2015 Jean-Philippe Teissier
Ce programme est un logiciel libre : vous pouvez le redistribuer et/ou le modifier selon les termes de la Licence Publique Générale GNU telle que publiée par la Free Software Foundation, soit la version 3 de la Licence, soit (à votre choix) toute version ultérieure.
Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE ; sans même la garantie implicite de COMMERCIALISATION ou d'ADÉQUATION À UN USAGE PARTICULIER. Voir la Licence Publique Générale GNU pour plus de détails.
Vous devriez avoir reçu une copie de la Licence Publique Générale GNU avec ce programme. Sinon, consultez http://www.gnu.org/licenses/.
Bootstrap et JQuery ont leurs propres licences compatibles GPL.