Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!
macOSTriageCollectionScript — Sammelt umfassende Triage-Daten von macOS für die Incident Response, einschließlich Systemprotokollen, Dateilisten, Browserdaten, Shell-Verlauf und Persistenzmechanismen. | Kitploit
Sammelt umfassende Triage-Daten von macOS für die Incident Response, einschließlich Systemprotokollen, Dateilisten, Browserdaten, Shell-Verlauf und Persistenzmechanismen.
Ein Triage-Datenerfassungsskript für macOS, das sysdiagnose mit einigen Ergänzungen nutzt, um nützliche Triage-Daten für Untersuchungen zu sammeln.
Was sammelt das Skript?
Die gesammelten Daten umfassen:
sysdiagnose, ein Dienstprogramm auf verschiedenen macOS/iOS-Betriebssystemen, das „systemweite Diagnoseinformationen" sammelt. Wird hier hauptsächlich für die Logdateien und die Live-Daten verwendet, die es erfasst.
Dateilisten, da APFS keine Master-Dateitabelle wie NTFS besitzt, um einen Überblick darüber zu erhalten, was im Dateisystem vorhanden ist, erstellen wir mehrere CSV-Dateien mit einer Kombination aus stat, shasum und file. Die gesammelten Daten können in Verbindung mit Threat-Intelligence-Feeds verwendet werden, um bösartige Dateien anhand ihres Datei-Hashs zu identifizieren oder anomale Dateien zu erkennen. Dies ist ein recht intensiver Prozess, daher verfügt das Skript über ein Flag, um im Schnellmodus zu laufen, bei dem dieser Schritt ausgelassen wird.
Browserdaten von Safari, Chrome und Firefox werden gesammelt, um bösartige Downloads, Phishing-Angriffe auszuschließen oder verdächtige Browsererweiterungen zu identifizieren.
Bash/Zsh-Verlauf wird gesammelt, um festzustellen, was übliche Aktivität ist, Anomalien oder direkte Tastaturaktivitäten zu identifizieren.
FSEvents, dies ist eine flüchtige Logquelle, die dem USN-Journal auf einem Windows-Rechner nicht unähnlich ist. Obwohl sie in das von sysdiagnose gesammelte „system_logs.logarchive" integriert sind, können sie verwendet werden, um einen Überblick über aktuelle Aktivitäten im Dateisystem zu erhalten, die möglicherweise noch nicht im „system_logs.logarchive" protokolliert sind.
Die Sammlung erweiterter Attribute nutzt xattr und mdfind, um Attribute zu lokalisieren und zu analysieren, die in einer Sqlite3-Datenbank gespeichert werden. Ein Dateityp für das Attribut wird bestimmt und die Daten werden in Hex gespeichert. Standardmäßig werden nur die Attribute „kMDItemDownloadedDate" und „kMDItemWhereFroms" gesammelt, weitere Attribute können jedoch durch Anhängen an das -Array in der Funktion section_7 hinzugefügt werden.
attributes
Mehrere Persistenzmechanismen werden ebenfalls gesammelt, darunter LaunchAgents, LaunchDaemons, LoginItems und Emond-Regeln.
Zuletzt werden einige Live-Daten von lsof verwendet, um anomale Dateien, Prozesse oder Netzwerkverbindungen zu identifizieren.
Verwendung
Das Skript muss als sudo ausgeführt werden, um die Sammlung über sysdiagnose und eine Vielzahl von Dateisystempfaden zu ermöglichen; das Skript kann nur als sudo ausgeführt werden.
Das Terminal hat standardmäßig keinen Zugriff auf eine Vielzahl von Pfaden, die es benötigen wird, daher müssen Sie den „Vollzugriff auf die Festplatte" für das Terminal aktivieren. Dies kann in den Systemeinstellungen unter Sicherheit & Datenschutz > Datenschutz -> Vollzugriff auf die Festplatte erfolgen. Um Änderungen zu bestätigen, klicken Sie auf das Schloss in der unteren linken Ecke des Fensters und starten Sie Ihre Terminal-Sitzung neu.
Sollte ein Fehler auftreten, wird er in einer der *.errors-Dateien gespeichert, die einem Abschnitt der Sammlung entsprechen.
Die gesammelten Daten werden in einem Verzeichnis nach folgendem Muster 'md5 des Hostnamens'_YYYY-MM-DD_HHMMSS/ im aktuellen Arbeitsverzeichnis gespeichert. Wenn die Sammlung abgeschlossen ist, werden die Daten in eine tar.gz-Datei komprimiert, die nach dem md5 des Hostnamens benannt ist; die Umwandlung des Hostnamens dient dazu, Probleme mit Sonderzeichen zu vermeiden.
Skript-Flags:
'''
Schnellmodus: -q
Fügen Sie dieses Flag hinzu, wenn Sie das Skript ausführen, um die Erstellung von Dateilisten zu überspringen.
Hilfe: -h
Druckt eine kurze Hilfemeldung
'''
Haftungsausschlüsse
Dieses Skript entfernt die gesammelten Daten nach der Komprimierung nicht; diese enthalten sensible Informationen, stellen Sie sicher, dass Sie sie nach der Verwendung sicher löschen.
Das Skript erfordert aus Gründen der Benutzerfreundlichkeit den Vollzugriff auf die Festplatte für das Terminal; es wird empfohlen, diesen Zugriff nach der Sammlung zu deaktivieren.
Zuletzt sollten die gesammelten Daten nicht als forensisch einwandfrei betrachtet werden.