Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !
macOSTriageCollectionScript — Collecte des données de triage complètes depuis macOS pour la réponse aux incidents, y compris les journaux système, les listes de fichiers, les données de navigateur, l'historique du shell et les mécanismes de persistance. | Kitploit
Collecte des données de triage complètes depuis macOS pour la réponse aux incidents, y compris les journaux système, les listes de fichiers, les données de navigateur, l'historique du shell et les mécanismes de persistance.
Un script de collecte de données de triage pour macOS qui utilise sysdiagnose avec quelques ajouts pour rassembler des données de triage utiles aux investigations.
Que collecte le script ?
Les données collectées incluent :
sysdiagnose, un utilitaire présent sur divers systèmes d'exploitation macOS/iOS qui collecte des « informations de diagnostic à l'échelle du système ». Utilisé ici principalement pour les fichiers journaux et les données en direct qu'il collecte.
Les listes de fichiers, car APFS ne dispose pas d'une table de fichiers maîtresse comme NTFS pour avoir une idée de ce qui existe sur le système de fichiers, nous créons plusieurs fichiers CSV en combinant stat, shasum et file. Les données collectées peuvent être utilisées en conjonction avec des flux de renseignements sur les menaces pour identifier des fichiers malveillants par leur empreinte de hachage ou pour identifier des fichiers anormaux. Ce processus étant assez intensif, le script dispose d'un indicateur pour exécuter un mode rapide où cette étape est exclue.
Les données de navigateur de Safari, Chrome et Firefox sont rassemblées afin d'écarter les téléchargements malveillants, les attaques de phishing ou d'identifier toute extension de navigateur suspecte.
L'historique Bash/Zsh est collecté pour déterminer l'activité habituelle, identifier toute anomalie ou activité manuelle sur le clavier.
FSEvents, une source de journaux volatile assez similaire au journal USN sur une machine Windows. Bien qu'intégrés dans le « system_logs.logarchive » collecté par sysdiagnose, ils peuvent être utilisés pour obtenir une vue sur l'activité récente du système de fichiers qui pourrait ne pas encore être journalisée dans le « system_logs.logarchive ».
La collecte des attributs étendus utilise xattr et mdfind pour localiser et analyser les attributs à enregistrer dans une base de données Sqlite3. Un type de fichier pour l'attribut est déterminé et les données sont enregistrées en hexadécimal ; par défaut, les seuls attributs collectés sont « kMDItemDownloadedDate » et « kMDItemWhereFroms », cependant l'ajout d'attributs supplémentaires peut être effectué en complétant le tableau dans la fonction section_7.
attributes
Plusieurs mécanismes de persistance sont également collectés, notamment LaunchAgents, LaunchDaemons, LoginItems et les règles Emond.
Enfin, certaines données en direct de lsof permettent d'identifier tout fichier, processus ou connexion réseau anormal.
Utilisation
Le script doit être exécuté en sudo pour permettre la collecte via sysdiagnose et divers emplacements du système de fichiers ; le script ne peut être exécuté qu'en sudo.
Par défaut, Terminal n'a pas accès à divers emplacements dont il aura besoin, vous devrez donc activer « l'accès complet au disque » pour Terminal. Cela peut être fait dans les préférences système sous Sécurité et confidentialité > Confidentialité -> Accès complet au disque ; pour confirmer les modifications, cliquez sur le cadenas en bas à gauche de la fenêtre et redémarrez votre session Terminal.
Si une erreur survient, elle sera enregistrée dans l'un des fichiers *.errors correspondant à une section de la collecte.
Les données collectées sont enregistrées dans un répertoire suivant ce modèle 'md5 du nom d'hôte'_YYYY-MM-DD_HHMMSS/ dans le répertoire de travail actuel. Une fois la collecte terminée, les données sont compressées dans un tar.gz nommé d'après le md5 du nom d'hôte ; la transformation du nom d'hôte vise à éviter tout problème lié aux caractères spéciaux.
Indicateurs du script :
'''
Mode rapide : -q
Incluez cet indicateur lors de l'exécution du script pour ignorer la création des listes de fichiers.
Aide : -h
Affiche un court message d'aide
'''
Avertissements
Ce script ne supprime pas les données qu'il collecte après compression ; celles-ci contiennent des informations sensibles, assurez-vous de les supprimer de manière sécurisée après utilisation.
Le script, pour faciliter son utilisation, nécessite l'activation de l'accès complet au disque pour Terminal. Il est recommandé de désactiver cet accès après la collecte.
Enfin, les données collectées ne doivent pas être considérées comme valides d'un point de vue forensique.