image

image

Bibliografische Information der Deutschen Bibliothek

Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte Daten sind im Internet über http://dnb.ddb.de abrufbar.

Alle Angaben in diesem Buch wurden vom Autor mit größter Sorgfalt erarbeitet bzw. zusammengestellt und unter Einschaltung wirksamer Kontrollmaßnahmen reproduziert. Trotzdem sind Fehler nicht ganz auszuschließen. Der Verlag und der Autor sehen sich deshalb gezwungen, darauf hinzuweisen, dass sie weder eine Garantie noch die juristische Verantwortung oder irgendeine Haftung für Folgen, die auf fehlerhafte Angaben zurückgehen, übernehmen können. Für die Mitteilung etwaiger Fehler sind Verlag und Autor jederzeit dankbar. Internetadressen oder Versionsnummern stellen den bei Redaktionsschluss verfügbaren Informationsstand dar. Verlag und Autor übernehmen keinerlei Verantwortung oder Haftung für Veränderungen, die sich aus nicht von ihnen zu vertretenden Umständen ergeben. Evtl. beigefügte oder zum Download angebotene Dateien und Informationen dienen ausschließlich der nicht gewerblichen Nutzung. Eine gewerbliche Nutzung ist nur mit Zustimmung des Lizenzinhabers möglich.

© 2017 Franzis Verlag GmbH, 85540 Haar bei München

Alle Rechte vorbehalten, auch die der fotomechanischen Wiedergabe und der Speicherung in elektronischen Medien. Das Erstellen und Verbreiten von Kopien auf Papier, auf Datenträgern oder im Internet, insbesondere als PDF, ist nur mit ausdrücklicher Genehmigung des Verlags gestattet und wird widrigenfalls strafrechtlich verfolgt.

Die meisten Produktbezeichnungen von Hard- und Software sowie Firmennamen und Firmenlogos, die in diesem Werk genannt werden, sind in der Regel gleichzeitig auch eingetragene Warenzeichen und sollten als solche betrachtet werden. Der Verlag folgt bei den Produktbezeichnungen im Wesentlichen den Schreibweisen der Hersteller.

Satz: DTP-Satz A. Kugge, München

eISBN 978-3-645-22431-4

Über den Autor

Der Autor Marc Brandt ist an der Hochschule für Polizei Baden-Württemberg als Dozent tätig. Hier hält er schwerpunktmäßig Seminare zu den Themengebieten Mac, Mobile Devices und Network Forensics.

Marc Brandt begann seine Laufbahn als Streifenpolizist. Ein Jahr später wechselte er zur Kriminalpolizei. Bereits während seiner Tätigkeit bei einer Spezialdienststelle der Polizei Baden-Württemberg konnte er seine technische Begeisterung einbringen und vertiefen. Nach seinem Wechsel zum Polizeipräsidium Mannheim ergriff er 2007 die Chance auf eine Beschäftigung in der IT-Forensik. Seit diesem Zeitpunkt bildet er sich stetig weiter und krönte seine Leidenschaft für digitale Spuren im Jahr 2015 mit dem Abschluss M. Sc. in Digitaler Forensik an der Hochschule Albstadt-Sigmaringen.

Im Rahmen seiner Tätigkeit als Dozent erstellte er bereits mehrere Skripte und Papers für IT-Experten innerhalb der Polizei und führte entsprechende Seminare durch. Das Buch »Mac OS Hacking« ist ein Ergebnis seiner praktischen Erfahrungen und seiner lehrenden Tätigkeit.

Danksagungen

Dieses Buch widme ich meiner Frau Nina, die mich seit Jahren begleitet. Mit ihrer Expertise ist sie meine größte Inspiration und zugleich größte Kritikerin.

Danken möchte ich Daniel Jud von der Kantonspolizei Zürich für seine wertvollen Tipps und Hilfen.

Mein Dank gebührt zudem dem Franzis Verlag für die freundliche, motivierende und professionelle Begleitung bei der Erstellung bis hin zur Veröffentlichung des Buchs, insbesondere Herrn Ulrich Dorn für sein wertvolles fachliches Lektorat.

Vorwort

Das Buch »Mac OS Hacking« ist eine umfangreiche Anleitung und Hilfe für IT-Forensiker, Analysten und interessierte Apple-Nutzer. Es bietet ein profundes Grundlagenwissen zum Thema Mac OS und führt durch alle wichtigen Prozesse einer forensischen Analyse eines Mac-Computersystems. Ein aufmerksames Studium des Buchs macht Sie zu einem Spezialisten für das Betriebssystem Mac OS.

Neben der Beschreibung von Funktionalitäten und Besonderheiten des Betriebssystems werden insbesondere digitale Spuren lokalisiert, kategorisiert und praktische Methoden für eine Analyse aufgezeigt. Das Auffinden von Informationen in Plist- oder SQLite-Dateien kann bei der Arbeit von forensischen Analysten u. a. von Ermittlungsbehörden zur Beantwortung bedeutsamer Fragestellungen führen und damit zur Aufklärung von Straftaten beitragen. Ebenso kann eine Sicherung und Analyse des Hauptspeichers beispielsweise zur Identifizierung von Passwörtern oder zur Lokalisierung von Malware verhelfen.

Das Buch entstand unter anderem auf Grundlage meiner Abschlussarbeit »Forensische Analyse von Mac OS X« im Rahmen des Studiums der Digitalen Forensik an der Hochschule Albstadt-Sigmaringen. »Mac OS Hacking« richtet sich an forensische Analysten und interessierte Leser, die einen tieferen Einblick in das Betriebssystem Mac OS erhalten möchten.

Im Lauf des Buchs lernt der Leser entsprechende Sicherungs- und Analysetechniken für digitale Spuren kennen. Darüber hinaus enthält das Buch weitere neu hinzugekommene Themenbereiche wie ein umfangreiches Kapitel über das Dateisystem HFS+ oder Analysemöglichkeiten von Mac-Technologien wie Spotlight, Time Machine oder iCloud. Ebenso neu eingeflossen sind Themen wie die fortgeschrittene analytische Nutzung des Terminals, ein Kapitel zu AppleScript und zu Mac OS X Server.

Das Buch lebt in erster Linie davon, gelesen und benutzt zu werden. Es würde mich freuen, wenn Ihnen das Lesen Spaß bereitet und Sie viele Informationen mitnehmen und einsetzen können. Gerne freue ich mich über Ihr Feedback und Ihre Ideen zur Verbesserung des Buchs und der zugehörigen Übungen.

Marc Brandt, Calw im Sommer 2017

Motivation und Aufbau des Buchs

Apple-Computersysteme mit dem Betriebssystem Mac OS spielen heute eine immer größere Rolle. Dennoch befindet sich die Mac-Forensik als Teildisziplin der Computerforensik noch immer in einer Nischenrolle. Es existieren vergleichsweise wenige Fortbildungsangebote und nur wenige verlässliche Dokumentationen – und diese wiederum meist nicht in deutscher Sprache. Apple selbst ist recht zurückhaltend und liefert nur zu bestimmten Bereichen technische Informationen (sogenannte Technical Notes), beispielsweise dem XNU-Kernel. Viele proprietäre Funktionalitäten bzw. Frameworks sind hingegen wenig bis überhaupt nicht dokumentiert.

Bekannte Bücher wie Amit Singhs »OS X Internals: A Systems Approach« oder das exzellente Werk »Mac OS X and iOS Internals« von Jonathan Levin bieten zwar profunde Informationen zur OS-X-Systemarchitektur, zu Objective-C, Frameworks und APIs, sind aber derzeit nicht auf aktuellem Stand oder legen keine Schwerpunkte auf die forensische Analyse. Das Buch »OS X Internals: A Systems Approach« beispielsweise ist PowerPC-orientiert und wurde 2006 (bis zur OS-X-Version 10.4 Tiger) zuletzt aktualisiert. Das über 800 Seiten schwere Buch »Mac OS X and iOS Internals« wurde zuletzt 2013 aufgelegt (bis zur OS-X-Version 10.7.4 Lion und iOS 5.1.1).

Zur Zeit befindet sich Mac OS in der Version 10.12.2 mit der Bezeichnung macOS Sierra, die mobile Variante des Betriebssystems iOS in der Version 10.2.1. Aus diesem Bedürfnis nach Informationen heraus entstand die Idee für dieses Buch. Es möchte auf die Besonderheiten des Betriebssystems Mac OS eingehen, das mehr und mehr Menschen in seinen Bann zieht. Es möchte hinter die Kulissen von Mac OS und der damit korrespondierenden Apple-Geräte schauen, möchte eingesetzte Technologien und Mechanismen transparent erklären, um Analysten, Forensikern und interessierten Lesern als Anleitung bzw. Hilfestellung zur Verfügung zu stehen.

Das Buch ist in die folgenden Teilbereiche gegliedert:

Mac OS Lab: Das Kapitel führt durch die Einrichtung eines Übungs-Accounts auf Ihrem Mac-Computer. Mit dem eingerichteten Account können Sie die begleitenden Übungen zum Buch durchführen.

Hintergrund: Das Kapitel gibt eine Einführung in die Grundkonzepte und die Systemarchitektur von Mac OS. Es bietet einen Blick unter die Oberfläche des Betriebssystems und zeigt Mac-spezifische Technologien auf.

Mac-Datenträger, -Partitionen und -Dateisystem: Das Kapitel bietet umfangreiche Informationen zu eingesetzten Partitionierungs-Schemata und den Dateisystemen HFS+ und Apple File System unter forensischen Gesichtspunkten.

Forensische Analyse von Mac OS: Das Kapitel zeigt Möglichkeiten der forensischen Sicherung und Analyse von Mac-Computern und Mac OS auf. Dabei liefert es einen Einblick in den aktuellen Stand der Forschung.

Kategorisierung von Spuren: Das Kapitel enthält eine mögliche Kategorisierung von digitalen Spuren. Dies erleichtert die Suche und Bewertung entsprechender Spuren und dient als Grundlage für eine weitere forensische Analyse.

Persistente Spuren: Das Kapitel betrachtet nicht flüchtig gespeicherte digitale Spuren eines Mac-OS-Betriebssystems und bietet eine weitere Kategorisierungsmöglichkeit an. In diesem Kapitel werden systemnahe und anwendungsorientierte Artefakte, Analysemöglichkeiten und ihre Bewertung besprochen.

Mac-OS-Log-Dateien: Mac OS besitzt mächtige Logging-Funktionalitäten, die eine Fundgrube für Informationen darstellen. Das Kapitel thematisiert die von Mac OS verwendeten Technologien, unter anderem auch das mit macOS Sierra neu eingeführte Unified-Logging-System.

Hack the Mac: Mac OS ist als sicheres Betriebssystem bekannt. Viele Anwender nutzen die sehr intuitiv einzurichtenden Zugangsbeschränkungen wie Kennwörter, Schlüsselbund-Dateien oder die Verschlüsselungstechnologie FileVault. Das Kapitel zeigt praktisch auf, wann und wie sie überwunden bzw. konkret angegriffen werden können.

Übung Analyse und Cracking: In diesem Kapitel haben Sie die Möglichkeit, ein kriminalistisches Szenario zu bearbeiten. Das Szenario umfasst Inhalte und Techniken aus den Kapiteln »Persistente Spuren«, »Mac OS Log-Dateien« und »Hack the Mac«.

Anwendungsanalyse unter Mac OS: Nach der Vorstellung eines allgemeinen Modells zur Analyse von Programmen führt das Kapitel am Beispiel der Nachrichten-Applikation durch eine Anwendungsanalyse unter Mac OS.

Nicht-persistente Spuren: Als äußerer Rahmen einer Kategorisierung von digitalen Spuren beinhalten nicht persistente Spuren im weitesten Sinne flüchtige Spuren. Dazu zählen beispielsweise der Hauptspeicher, Auslagerungsdateien oder Cloud Storage.

Random-Access-Memory-Analyse: Die Sicherung und Analyse von Hauptspeicherinhalten wird in einem eigenen Kapitel besprochen. Das Buch legt hierbei einen Schwerpunkt auf Analysemöglichkeiten mit der Open-Source-Software Volatility.

Mac-Technologien unter forensischer Betrachtung: Das Kapitel bespricht praxisrelevante Mac-spezifische Technologien wie Versions, Spotlight, Time Machine und iCloud. Neben einem möglichst tiefen Einblick in die Funktionsweisen bietet das Kapitel forensische Analysestrategien zu den jeweiligen Themenbereichen.

Advanced Terminal: Das Mac-Terminal ist ein äußerst mächtiges und vielfältiges Werkzeug auch für Analysten. Das Kapitel gibt einen tieferen Einblick in die Möglichkeiten, das Potenzial der Kommandozeile für forensische Zwecke zu nutzen.

AppleScript: Das Kapitel beinhaltet eine Einführung in die Skriptsprache AppleScript und das Werkzeug Automator. Anhand einiger praktischer Beispiele werden einfach umzusetzende Automatisierungsmöglichkeiten aufgezeigt.

OS X Server: Das Kapitel betrachtet das Serversystem OS X Server und gibt eine Einführung in forensische Analysemöglichkeiten.

Übungen und Downloads

Das Buch wurde so verfasst, dass sich ein chronologisches Lesen, angefangen bei der Beschreibung der Betriebssystemarchitektur über die Kategorisierung der digitalen Spuren bis hin zur forensischen Analyse bzw. der RAM-Analyse und den weiteren Kapiteln des Buchs, anbietet. Nichtsdestotrotz können die einzelnen Kapitel des Buchs auch für sich allein stehend gelesen werden.

Zum optimalen Lesen und Verstehen der Inhalte dieses Buchs benötigen Sie einen Mac-Computer mit einem aktuellen Betriebssystem, idealerweise OS X 10.11 El Capitan oder macOS 10.12 Sierra. Obwohl das Vorhandensein eines Mac-Computers nicht unbedingt eine Voraussetzung ist, um das Buch zu verstehen, empfehle ich sehr, die Übungsbeispiele auch praktisch durchzuführen.

Die im Buch vorgestellten Übungsbeispiele stehen auf der Website des Franzis Verlags unter der URL www.buch.cd zum Download zur Verfügung.

Typografische Konventionen

Das Buch nutzt unterschiedliche typografische Konventionen und didaktische Elemente, um den Lesefluss zu erleichtern. Im Folgenden sind einige der genutzten Stilelemente beschrieben:

Programmcode, Listings und Terminaleingaben werden im Fließtext formatiert dargestellt. Funktionen und Anweisungen sind entsprechend eingerückt.

def example():

print(„Hallo Welt“)

Eingaben im Terminal sind durch das Prompt $ gekennzeichnet. In diesem Buch werden Terminaleingaben und korrespondierende Ausgaben in vielen Fällen in Form von beispielhaften Screenshots aufgezeigt.

$ ls -lai

Datei- und Pfadangaben werden in kursiver Schrift dargestellt.

/Users/marc/Desktop/example.txt

~/Desktop/example.txt

Hyperlinks zu externen Quellen im Internet werden ebenfalls in kursiver Schrift dargestellt.

http://www.franzis.de

Inhaltsverzeichnis

1Ein Mac OS Lab aufsetzen

1.1System Integrity Protection deaktivieren

1.2Einen Übungs-Account einrichten

1.2.1Einen neuen Benutzer-Account erstellen

1.2.2Gatekeeper-Funktionalität deaktivieren

1.3Programme im Mac OS Lab installieren

1.3.1Java SE

1.3.2Xcode

1.3.3Fuse

1.3.4Mac Ports

1.3.5Homebrew

1.3.6Libewf

1.3.7Xmount

1.3.8Sleuth Kit

1.3.9SQLite-Browser

1.3.10Hex-Editoren

1.3.11Github

1.3.12Python

1.4Den Übungs-Account wieder löschen

2Wichtige Hintergrundinformationen

2.1Das Betriebssystem Mac OS

2.2Applelution in Cupertino

2.2.1Apple-Betriebssystem-Modelle

2.3Mac OS X intern

2.3.1Historie der Mac-OS-X-Versionen

2.3.2Darwin – das Grundgerüst von Mac OS

2.4Die Mac-OS-Architektur

2.4.1HFS+

2.4.2HFS+ case-sensitive

2.4.3/bin

2.4.4/sbin

2.4.5/usr

2.4.6/etc

2.4.7/dev

2.4.8/tmp

2.4.9/var

2.4.10/Applications

2.4.11/Developer

2.4.12/Library

2.4.13/Network

2.4.14/System

2.4.15/Users

2.4.16/Volumes

2.4.17/Cores

2.4.18Apple EFI

2.4.19Launchd

2.4.20Prozesse und Threads

2.4.21Mach-O-Binaries

2.4.22Bundles und Packages

2.4.23Applications

2.4.24Frameworks

2.5Mac-OS-Sicherheitskonzepte

2.5.1Code Signing

2.5.2Sandboxing

2.5.3Gatekeeper

2.5.4File Quarantine

2.5.5System Integrity Protection

2.5.6XPC

2.6Zusammenfassung

2.7Übung: Mac-OS-Handling

3Das Mac-OS-Dateisystem im Fokus

3.1Solid State Disks

3.2GUID-Partitionsschema

3.2.1GUID Partition Table

3.2.2Analyse der GUID Partition Table

3.2.3Zusammensetzen von Fusion-Drive-Laufwerken

3.3Hierarchical File System Plus (HFS+)

3.3.1Speichersystematik

3.3.2HFS+ Special Files

3.3.3Extraktion von HFS+ Special Files

3.3.4Volume Header

3.3.5Allocation File

3.3.6B-Baum-Struktur

3.3.7Catalog File

3.3.8Extents Overflow File

3.3.9Attributes File

3.3.10Journal

3.3.11Dateikomprimierung

3.3.12Hardlinks

3.3.13Mac-OS-Zeitstempel

3.4Apple File System (APFS)

3.4.1Flexible Partitionen

3.4.2Dateisystem-Snapshots

3.4.3Dateien und Verzeichnisse klonen

3.4.4Verschlüsselung

3.4.5Eine APFS-Volume erstellen

3.4.6Partitionsschema

3.4.7Container-Superblock

3.4.8Volume Header

3.4.9Forensische Ansätze

3.4.10Ausblick auf das APFS

3.5Übung: Partitionen und Dateisystem

4Forensische Analyse von Mac OS

4.1Stand der Forschung

4.2Modelle der Digitalen Forensik

4.3Der investigative Prozess nach Casey

4.3.1Der investigative Prozess für Mac-Computer

4.4Live Response

4.4.1Maßnahmen bei eingeschalteten Mac-Computern

4.4.2Vertrauenswürdige Binaries

4.4.3Sammlung volatiler Daten (Triage)

4.4.4Virtuelle Maschinen

4.5Übung: Live Response

4.5.1RAM-Sicherung

4.5.2Logische Sicherung

4.6Post-Mortem-Analyse

4.6.1Forensische Abbilder von Datenträgern

4.6.2Live-CD/-DVD oder bootbarer USB-Stick

4.6.3Sicherung von MacBooks mit NVMe-Controllern

4.6.4Sicherung über die Recovery-Partition

4.6.5Target Disk Mode

4.6.6FileVault 2 und Fusion Drive

4.6.7Open-Firmware-Passwort

4.6.8Disk Arbitration

4.7Sicherungsstrategien für Mac-Computer

4.8Übung: Sicherung erstellen

4.8.1Sicherung mit dd/dcfldd

4.8.2Sicherung mit ewfacquire

4.8.3Sicherung mit dem FTK Imager

5Kategorisierung digitaler Spuren

5.1Persistente Spuren

5.2Mac-spezifische Formate

5.2.1Property List Files

5.2.2NSKeyedArchiver-Format

5.2.3SQLite

5.2.4Analyse von SQLite

5.2.5Disk Images

5.2.6Forensische Abbilder mounten

5.3System- und lokale Domäne

5.3.1Systeminformationen

5.3.2Nutzerkonten

5.3.3Netzwerkeinstellungen

5.3.4Software-Installationen

5.3.5Drucker

5.3.6Keychains

5.3.7Firewall

5.3.8Launch Agents

5.3.9Launch Daemons

5.3.10Freigaben

5.4Nutzer-Domäne

5.4.1Nutzer-Account-Informationen

5.4.2Papierkorb

5.4.3Zuletzt genutzte Objekte

5.4.4Dock

5.4.5Spaces

5.4.6Anmeldeobjekte von Nutzern

5.4.7SSH

5.4.8Apps

5.4.9Kontakte

5.4.10Kalender

5.4.11Mail

5.4.12Safari

5.4.13Fotos

5.4.14Nachrichten

5.4.15FaceTime

5.4.16Notizen

5.4.17Continuity

5.4.18Siri

5.4.19Applikationen von Drittanbietern

5.5Netzwerk-Domäne

5.6Zusammenfassung

6Informationen aus Log-Dateien

6.1Log-Dateien des Betriebssystems

6.1.1Nutzer-/Account-Informationen

6.1.2Software-Installationen

6.1.3Filesystem Check

6.1.4Storage Manager

6.1.5WiFi.log

6.1.6System.log

6.1.7Periodische Log-Dateien

6.1.8Apple System Logs

6.1.9Audit-Logs

6.1.10Unified Logging

6.2Log-Dateien der Nutzer-Domäne

6.2.1Verbundene iOS-Geräte

6.2.2FaceTime-Verbindungen

6.2.3Übersicht

7Hack the Mac

7.1Mac-OS-Nutzerpasswörter

7.1.1Cracking des Nutzerpassworts mit Dave Grohl

7.1.2Cracking des Nutzerpassworts mit Hashcat

7.2FileVault 2 – Full Disk Encryption

7.2.1FileVault2-Cracking mit JtR – EncryptedRoot.plist.wipekey

7.2.2FileVault2-Cracking mit JtR – Image-Datei

7.3Mac-OS-Keychains cracken

7.3.1Angriff auf den Nutzerschlüsselbund mit JtR

7.4Verschlüsselte Disk Images

7.4.1Angriff auf eine verschlüsselte DMG-Datei mit JtR

7.4.2Angriff auf eine verschlüsselte Sparsebundle-Datei mit JtR

7.5Übung: Analyse und Cracking – Teil 1

7.5.1Szenario

7.5.2Lösung: Szenario

7.5.3Fortsetzung des Szenarios

7.5.4Lösung: Fortsetzung des Szenarios

8Anwendungsanalyse unter Mac OS

8.1Tools zur Anwendungsanalyse

8.1.1Mac OS: Aktivitätsanzeige

8.1.2List open Files: lsof

8.1.3Fs_usage

8.1.4Xcode: Instruments

8.1.5DTrace

8.1.6FSmonitor

8.1.7DaemonFS

8.2Modell zur Analyse von Applikationen unter Mac OS

8.3Anwendungsanalyse der Nachrichten-App

8.3.1Analyseumgebung

8.3.2Anwendungsanalyse der Nachrichten-App

8.3.3Ansätze für eine forensische Analyse

8.3.4Zusammenfassung

9Random-Access-Memory-Analyse

9.1Stand der Forschung

9.2Struktur des RAM-Speichers

9.3Tools zur Sicherung und Analyse

9.4RAM-Analyse mit Volatility

9.5Volatility-Plugin vol_logkext.py

9.6Zusammenfassung

10Forensische Betrachtung der Mac-Technologien

10.1Versions

10.2Spotlight

10.2.1Analyse von Spotlight

10.2.2Spotlight als Werkzeug

10.3Time Machine

10.3.1Time-Machine-Spuren auf zu sichernden Rechnern

10.3.2Allgemeine Struktur eines gemounteten Time-Machine-Backups

10.3.3Struktur eines lokalen Backups

10.3.4Analyse von Time-Machine-Backups

10.4iCloud

10.4.1iCloud-Spuren unter Mac OS

10.4.2iCloud-Daten sichern

10.5iOS-Backups

10.6Übung: Cracken eines verschlüsselten iOS-Backups

10.7Übung: Angriff auf die Manifest.plist

10.8Übung: Analyse und Cracking – Teil 2

10.8.1Suchen mit Spotlight

10.8.2Fortsetzung des Szenarios

10.8.3Lösung: Suchen mit Spotlight

10.8.4Lösung: Fortsetzung des Szenarios

11Advanced Terminal im forensischen Umfeld

11.1Basiskommandos

11.2Tastaturfunktionen

11.3Spezielle Kommandos

11.3.1Suche nach Dateien: locate

11.3.2Suche nach Dateien: find

11.3.3Grep

11.4Mac-OS-Kommandos

11.4.1Anzeige von erweiterten Metadaten

11.4.2Anzeige und Konvertierung von Plist-Dateien

11.5Scripting-Grundlagen

11.6Übung: Advanced Terminal

12AppleScript, Automator, OS X Server

12.1Ein kurze Einführung in AppleScript

12.2Automator und relevante Arbeitsabläufe

12.2.1Workflow: Copy Files

12.2.2Workflow: Kalenderdaten parsen

12.2.3Workflow: Kontakte parsen

12.2.4Dienst: Dateiliste erstellen

12.2.5Dienst: MD5-Hashliste erstellen

12.2.6Programme: Versteckte Dateien anzeigen und ausblenden

12.2.7Programme: Diskarbitration Daemon aktivieren und deaktivieren

12.3Mac OS als vollwertiges Serversystem

12.3.1OS-X-Server-Upgrade über den App Store

12.3.2Grundlegende OS-X-Server-Einstellungen

12.3.3Dateifreigaben innerhalb eines Mac-Netzwerks

12.3.4Digitale Spuren zu eingerichteten Diensten

Literaturverzeichnis

Kapitel »Wichtige Hintergrundinformationen«

Kapitel »Das Mac-OS-Dateisystem im Fokus«

Kapitel »Forensische Analyse von Mac OS«

Kapitel »Kategorisierung digitaler Spuren«

Kapitel »Informationen aus Log-Dateien«

Kapitel »Hack the Mac«

Kapitel »Anwendungsanalyse unter Mac OS«

Kapitel »Random-Access-Memory-Analyse«

Kapitel »Forensische Betrachtung der Mac-Technologien«

Kapitel »AppleScript, Automator, OS X Server«

Stichwortverzeichnis

1Ein Mac OS Lab aufsetzen

Besitzen Sie einen Apple-Computer mit Mac OS 10.11 El Capitan oder macOS 10.12. Sierra? Gerne möchte ich Sie dazu einladen, Ihren Computer so einzurichten, dass Sie in der Lage sind, die einzelnen Kapitel des Buchs und die zugehörigen Übungen praktisch zu bearbeiten und nachzuvollziehen. Das folgende Kapitel thematisiert das Einrichten eines eigenen Nutzer-Accounts unter Mac OS. Folgen Sie hierzu der schrittweisen Anleitung und richten Sie Ihren Mac so ein, dass sämtliche benötigte Funktionalitäten und Programme, die in diesem Buch aufgezeigt werden, zur Verfügung stehen. Im Rahmen des Buchs finden zur Durchführung von Übungen ausschließlich frei verfügbare Open-Source-Programme Verwendung. Nach dem Lesen des Buchs und Bearbeiten der Übungsbeispiele können Sie den Übungs-Account wieder aus Ihrem Mac-OS-System löschen und damit den Ausgangszustand wiederherstellen.

1.1System Integrity Protection deaktivieren

Die Sicherheitseinstellung System Integrity Protection verhindert unter Umständen die Installation von Drittanbieterprogrammen unter Mac OS. Um eine Installation der Programme zu ermöglichen, sollte die Funktion deaktiviert werden. Führen Sie dazu folgende Schritte durch:

1.Führen Sie mit der Tastenkombination image einen Neustart des Mac im Recovery-Modus durch.

2.Öffnen Sie das Dienstprogramm Terminal und geben Sie im Terminal-Fenster den Befehl csrutil disable ein.

3.Damit der Befehl wirksam wird, führen Sie einen Neustart des Mac durch.

Das Deaktivieren der System Integrity Protection (abgekürzt SIP) erfolgt systemweit und beeinflusst somit sämtliche eingerichtete Benutzer.

Nach der Arbeit mit dem Buch kann die System Integrity Protection selbstverständlich wieder aktiviert werden. Hierzu werden die oben angeführten Schritte wiederholt, im Terminal wird dann allerdings der Befehl csrutil enable eingegeben. Der SIP-Status kann mit dem Befehl csrutil status abgefragt werden.

1.2Einen Übungs-Account einrichten

Um auf Ihrem Mac-OS-System einen Übungs-Account einzurichten, sollten Sie auf Ihrem System Volume mindestens 10 GB freien Speicherplatz zur Verfügung haben. Überprüfen Sie den zur Verfügung stehenden Speicherplatz über die Menüleiste Ihres Desktops. Öffnen Sie hierzu das Apfel-Symbol-Menü und wählen Sie dort Über diesen Mac.

image

Bild 1.1: Das geöffnete Apfel-Symbol-Menü.

1.2.1Einen neuen Benutzer-Account erstellen

Erstellen Sie einen neuen Benutzer-Account, indem Sie in den Systemeinstellungen Ihres Mac OS Benutzer & Gruppen wählen. Authentifizieren Sie sich dort mit Ihrem Administrator-Passwort und erstellen Sie den neuen Benutzer-Account MacOS im Administrator-Modus. Wählen Sie ein Passwort und bestätigen Sie mit Benutzer erstellen.

image

Bild 1.2: Einen neuen Benutzer erstellen.

Nach dem erfolgreichen Erstellen wird der Übungs-Account MacOS in der Benutzerverwaltung aufgeführt. Um ein schnelles Wechseln zwischen den Accounts Ihres Systems zu ermöglichen, aktivieren Sie unter Anmeldeoptionen das Optionsfeld Menü für schnellen Benutzerwechsel.

image

Bild 1.3: Menü für schnellen Benutzerwechsel aktivieren.

In der Mac-OS-Menüleiste sehen Sie jetzt auf der rechten Seite einen neu hinzugekommene Eintrag mit dem Namen des aktuell auf Ihrem Apple-Computer angemeldeten Benutzers – hier ibcc. Öffnen Sie das Menü der Schaltfläche und wechseln Sie zum neuen Benutzer MacOS.

image

Bild 1.4: In den Übungs-Account MacOS wechseln.

Nach dem Wechsel in den Übungs-Account MacOS können Sie mit der Installation weiterer Software fortfahren. Über die Menüleiste können Sie jederzeit zurück in Ihren ursprünglichen Benutzer-Account wechseln.

1.2.2Gatekeeper-Funktionalität deaktivieren

Die Gatekeeper-Funktionalität von Mac OS sollte ebenfalls deaktiviert werden. Unter Mac OS X in der Version 10.11 oder kleiner sollte in den Gatekeeper-Einstellungen das Optionsfeld Keine Einschränkungen ausgewählt werden. Unter macOS 10.12 ist es nicht mehr möglich, die Gatekeeper-Einstellungen entsprechend einzuschränken. In diesem Fall muss die Ausführung von nicht signiertem Programmcode dezidiert jedes Mal erlaubt werden.

image

Bild 1.5: Mit der Option Keine Einschränkungen wird die Gatekeeper-Funktionalität deaktiviert.

1.3Programme im Mac OS Lab installieren

Nachdem Sie den neuen Benutzer-Account angelegt haben, installieren Sie die folgenden Programme und Tools innerhalb Ihres eingerichteten Übungs-Accounts MacOS.

1.3.1Java SE

Laden Sie das aktuelle Java SE Development Kit unter der URL http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html herunter und installieren Sie das Programm anschließend durch Ausführung der DMG-Installationsdatei.

1.3.2Xcode

Installieren Sie die Entwicklungsumgebung Xcode für Mac OS. Registrieren Sie sich hierfür kostenfrei bei Apple und erstellen Sie einen Apple-Entwickler-Account (https://developer.apple.com/register). Hierüber haben Sie Zugriff auf umfangreiche kostenfreie Downloads und Informationen zu technischen Spezifikationen von Apple-Produkten und -Technologien.

Nach erfolgreicher Registrierung können Sie Xcode und die aktuellen Command Line Tools unter https://developer.apple.com/downloads herunterladen. Installieren Sie die beiden Programme in Ihrem Übungs-Account.

Alternativ können Sie sich im Übungs-Account mit Ihrer Apple ID anmelden und Xcode über den App Store beziehen.

1.3.3Fuse

Laden Sie Fuse für Mac OS über die URL http://osxfuse.github.io herunter und installieren Sie die DMG-Installationsdatei. Fuse erweitert die nativen Fähigkeiten Ihres MacOS-Systems zur Verwaltung von Dateisystemen und erlaubt es Ihnen, weitere Drittanbieter-Dateisysteme zu nutzen. Fuse ist eine Voraussetzung für das Programm Xmount.

1.3.4Mac Ports

Zur Verwendung von Linux Binaries unter Mac OS existiert die Portierungslösung Mac Ports. Mac Ports kann von der Webseite www.macports.org kostenfrei bezogen werden. Die Installation erfolgt durch die Ausführung der DMG-Installationsdatei. Nach Durchführung der Installation sollte Mac Ports mit dem Terminalkommando $ sudo port –v selfupdate aktualisiert werden. Die Bedienung von Mac Ports erfolgt über das Terminal. Mac Ports ermöglicht das Herunterladen von Linux-Programmen, die für Mac OS portiert wurden (Ports). Die Programme werden von Mac Ports heruntergeladen, Abhängigkeiten werden geprüft, kompiliert und installiert. Das Installationsverzeichnis von Mac Ports unter Mac OS ist /opt/local/var/macports.

Mac Ports kann mit den folgenden Terminalkommandos gesteuert werden:

Terminalkommandos: Mac Ports

$ sudo port selfupdate

Aktualisiert Mac Ports

$ sudo port search Suchbegriff

Suche nach Ports

$ sudo port install Paketname

Installation eines Ports

$ sudo port uninstall Paketname

Löschen eines Ports

$ sudo port upgrade outdated

Aktualisierung von Ports

$ sudo port uninstall inactive

Deinstalliert inaktive Ports

1.3.5Homebrew

Eine Installation von weiteren freien Programmen für Mac OS ermöglicht Homebrew. Der Paketmanager kann von der Webseite http://brew.sh kostenfrei bezogen werden. Die Installation erfolgt im Terminal mit dem Befehl:

$ ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"

Homebrew ermöglicht das Herunterladen von Programmen sowie deren Kompilierung und Installation. Dabei verzichtet Homebrew auf Root-Rechte. Programme werden in das Verzeichnis /usr/local/Cellar/ installiert, von wo aus jeweils ein symbolischer Link nach /usr/local/bin erzeugt wird. Sind Programme bereits im System installiert, wird kein Link erzeugt. Überschneidungen zu bereits vorhandenen Installationen werden dadurch verhindert. Die Bedienung von Homebrew erfolgt ebenfalls über das Terminal.

Homebrew kann mit den folgenden Terminalkommandos gesteuert werden:

Terminalkommandos: Homebrew

$ brew update

Aktualisiert Homebrew

$ brew search Suchbegriff

Sucht nach einem Programm

$ brew install Paketname

Installiert ein Programm

$ brew options Paketname

Zeigt Optionen zur Installation

$ brew uninstall Paketname

Deinstalliert ein Programm

$ brew outdated

Zeigt veraltete Programme an

$ brew upgrade Paketname

Aktualisiert Programme

$ brew cleanup

Deinstalliert veraltete Programmversionen

Nach der Installation von Homebrew ist es empfehlenswert, die Umgebungsvariable von Mac OS anzupassen und das Homebrew-Verzeichnis mit aufzunehmen. Dies kann durch Hinzufügen des folgenden Eintrags am Ende der Datei ~/.profile erfolgen:

$ export PATH=/usr/local/bin:/usr/local/sbin:$PATH

1.3.6Libewf

Die Libewf-Bibliothek bietet Zugriff auf das EWF-Format (Expert Witness Compression), das von vielen forensischen Produkten eingesetzt wird, um Sicherungen von Datenträgern anzufertigen. Beispielsweise enthält die Bibliothek das Programm ewfacquire zur Erstellung von forensischen Abbildern von Datenträgern oder ewfmount zum Einbinden von forensischen Abbildern im EFW-Format in Mac OS. Eine Installation von libewf kann über Mac Ports erfolgen:

$ sudo port install libewf

1.3.7Xmount

Das Programm Xmount ermöglicht das Konvertieren von verschiedenen Formaten von Festplattenabbildern untereinander. Es nutzt ein mit Fuse erzeugtes virtuelles Dateisystem, unter dem das konvertierte Datenträgerabbild verfügbar ist. Xmount kann so forensische Abbilder von Datenträgern im RAW- oder EWF-Format in das DMG-Format konvertieren, so dass sie im System eingebunden werden können. Ein anderer Einsatzbereich ist das Konvertieren in Formate wie VMDK oder VHD, um die Abbilder im Rahmen einer Virtualisierung mit Produkten wie VMware, VirtualBox, QEMU und anderen verwenden zu können. Mit Xmount konvertierte Abbilder von Datenträgern können unter Nutzung einer zusätzlichen Cache-Datei zudem beschreibbar eingebunden werden. Alle Schreibvorgänge werden dann virtuell im Cache File verarbeitet. Xmount kann über die URL https://www.pinguin.lu/xmount als 64-Bit-Package heruntergeladen und die DMG-Installationsdatei anschließend installiert werden.

1.3.8Sleuth Kit

Sleuth Kit ist eine mächtige Sammlung von Werkzeugen zur Analyse von Datenträgern oder Abbildern von Datenträgern. Sleuth Kit gehört in das Repertoire eines jeden IT-Forensikers und ermöglicht eine profunde und manuelle Analyse von Partitionierungsschemata und Dateisystemen. Die Werkzeugsammlung kann über Mac Ports bezogen werden.

$ sudo port install sleuthkit

1.3.9SQLite-Browser

Zur Analyse von SQLite-Datenbanken unter Mac OS kann beispielsweise der kostenfreie SQLite-Browser genutzt werden. Die DMG-Installationsdatei des Programms ist unter der URL http://sqlitebrowser.org verfügbar.

1.3.10Hex-Editoren

Installieren Sie einen der beiden kostenfreien Hexadezimaleditoren Hex Fiend oder 0XED. Hex Fiend kann als ZIP-Datei über die URL http://ridiculousfish.com/hexfiend heruntergeladen, entpackt und in das Programme-Verzeichnis von Mac OS verschoben werden. 0XED ist ebenfalls als ZIP-Datei über die URL http://suavetech.com/0xed erhältlich.

1.3.11Github

Github ist ein Onlinedienst zur Bereitstellung von Software-Projekten. Entwickler können diese über sogenannte Repositories (von Github verwaltete Verzeichnisse) zur Verfügung stellen. Zur Installation von Programmen über Github installieren Sie das Programm Git über Homebrew.

$ brew install git

1.3.12Python

Mac OS enthält bereits als Standard die Installation von Python 2.7. Eine direkte Nutzung von Python ist somit möglich. Es empfiehlt sich allerdings, zur Nutzung und zur Entwicklung von Python-Programmen zusätzlich die offiziellen Python-Releases zu installieren. Diese können über die URL https://www.python.org/downloads/mac-osx bezogen werden. Die offiziellen Stables bieten jeweils den neuesten Versionsstand von Python.

Eine Installation von Python 2.7 und/oder Python 3 kann sehr einfach über das Terminal unter Nutzung des Paketmanagers Homebrew durchgeführt werden:

$ brew install python

$ brew install python3

Die Installation von Python über Homebrew beinhaltet automatisch auch die Installation der Python-Paketmanager pip und Setuptools, die eine einfache Installation von Drittanbieter-Libraries für Python ermöglichen. Im Terminal kann die installierte Version für Python 2.7 mit folgendem Befehl ermittelt werden:

$ python --V

Die Überprüfung einer Installation von Python 3 erfolgt analog mit dem Befehl:

$ python3 --V

Weitere Software

Mit der Installation der beschriebenen Programme haben Sie die Basis-Einrichtung des Übungs-Accounts MacOS abgeschlossen. Im weiteren Verlauf des Buchs werden Sie zur Durchführung von Übungen aufgefordert, weitere Software hinzuzufügen. Die Installation wird dann in den entsprechenden Kapiteln gesondert beschrieben.

1.4Den Übungs-Account wieder löschen

Falls Sie das Buch gelesen und die Übungen abgeschlossen haben, können Sie den Übungs-Account MacOS wieder von Ihrem System löschen. Hierzu wählen Sie in den Systemeinstellungen den Punkt Benutzer & Gruppen. Dort können Sie den Übungs-Account nach der Authentifizierung mit Ihrem Administratorkennwort durch Auswahl der Minus-Schaltfläche löschen.

2Wichtige Hintergrundinformationen

Das Kapitel gibt wichtige Hintergrundinformationen zum Betriebssystem Mac OS. Im ersten Abschnitt wird die Entwicklung hin zur aktuellen Betriebssystemversion macOS 10.12 Sierra und die damit verbundene Entwicklung der Apple-Produktfamilie vorgestellt. Die folgenden Abschnitte »Mac OS intern« und »Mac-OS-Architektur« beschäftigen sich mit wichtigen Grundfunktionalitäten des Betriebssystems und internen Mechanismen. Anschließend gibt der Abschnitt »Mac-OS-Sicherheitskonzepte« einen Einblick in implementierte Sicherheitsmechanismen. Am Ende des Kapitels werden die wichtigsten Erkenntnisse nochmals zusammengefasst.

2.1Das Betriebssystem Mac OS

Mac OS hat sich seit seiner Einführung im Jahr 1984 durch den kalifornischen Computerhersteller Apple von einem Nischen-Betriebssystem zu einem der erfolgreichsten Betriebssysteme überhaupt entwickelt. Produkte wie MacBook, MacBook Pro, MacBook Air oder iMac erfreuen sich insbesondere in den letzten Jahren einer explosionsartigen Popularität.

Apple konnte als einer der wenigen Computerhersteller, die Hard- und Software in Produkteinheit vertreiben, sein Mac OS zum weltweit erfolgreichsten UNIX-basierten Betriebssystem aufsteigen lassen. Mit der Einführung des iPhones im Jahr 2007 hat die mobile Variante iOS den Siegeszug der Smartphones eingeleitet und eine völlig neue Ära für mobile Endgeräte bzw. Computer eröffnet. Heute ist Apple das wirtschaftlich erfolgreichste Unternehmen weltweit. Im November 2015 überschritt der Marktwert des Unternehmens erstmals die Marke von 700 Milliarden Dollar. Damit ist Apple das wertvollste Unternehmen aller Zeiten und lässt Konkurrenten wie Microsoft (394 Milliarden Dollar) weit hinter sich. Apple ist mit seinen Produkten ein Trendsetter für technische Innovationen und steht für hochwertige, moderne und leistungsfähige Geräte.

Diese Entwicklung ist kein Zufall. Apple verbesserte sein Betriebssystem Mac OS und die damit verbundenen Computer in einem jahrelangen Prozess ständig weiter. Ein Quantensprung in der Entwicklung war die Einführung von Mac OS X im Jahr 2001, welches das bis dahin nicht mehr konkurrenzfähige Mac OS Classic ablöste. Mac OS X war eine völlige Neuentwicklung. Begonnen mit dem Kernel, wurde die Betriebssystemarchitektur komplett neu entworfen und damit die Basis für die bis heute andauernde Entwicklung von Mac OS X gelegt. Die endgültige Befreiung als Nischenprodukt gelang Apple mit dem Wechsel seiner Prozessorarchitektur von PowerPC- zu Intel-Prozessoren im Jahr 2006. Die derzeit aktuelle Mac-OS-X-Version 10.12, auch als macOS Sierra bezeichnet, wurde am 20.09.2016 veröffentlicht. Die mobile Variante des Betriebssystems iOS 10 wurde am 13.09.2016 veröffentlicht. Die Funktionalitäten und Besonderheiten von OS X werden in den folgenden Abschnitten thematisiert.

Damit Sie Mac OS X und die besonderen Features des Betriebssystems besser verstehen, will das Buch zu einer kleinen Reise in die Vergangenheit einladen, die zeigt, wie sich Mac OS X über die Jahre entwickeln konnte. Dabei geht es nicht darum, jede technische Neuerung aufzuzählen. Apple führt teilweise von Version zu Version Hunderte neuer Features ein, insbesondere in der Mac OS X GUI(Graphical User Interface) oder den Anwendungsframeworks. Diese können bei Bedarf den technischen Spezifikationen der einzelnen Versionen bzw. Wikipedia entnommen werden. Vielmehr geht es darum, globaler auf die Entwicklung der entscheidenden Eckpunkte und Technologien von Mac OS X zu blicken.

2.2Applelution in Cupertino

Die Firma Apple Computer wurde 1976 von Steve Jobs, Steve Wozniak und Ronald Wayne in Cupertino (USA, Kalifornien) gegründet. Ronald Wayne verließ das Gründungstrio einige Tage später. Der erste Computer wurde im gleichen Jahr entworfen und in sehr geringer Stückzahl (200 Computer) unter dem Namen Apple I für 666,66 US-$ veräußert. Im Juni 1977 entwickelten Jobs und Wozniak das Nachfolgemodell Apple II. Die Architektur des Apple II war für die damaligen Verhältnisse sensationell. Jobs und Wozniak gelang es, die benötigte Hardware in ein recht flaches Gehäuse zu integrieren. Der Apple II konnte auf einem entsprechenden Monitor farbige Grafiken darstellen und mit einer Erweiterungskarte an einen Fernseher angeschlossen werden. Als Massenspeichermedium nutzte er bereits damals ein Floppy-Laufwerk mit 5 1/4-Zoll-Disketten. Der Apple-II-Computer war einer der ersten 8-Bit-Computer, die eine weite Verbreitung fanden.

Als Betriebssystem kam das von Wozniak entwickelte kommandozeilenbasierte Apple Integer Basic zum Einsatz. Der Rechner war aufgrund seines Designs, seines modularen Aufbaus und seiner Erweiterungsmöglichkeiten eine Innovation. Das verbesserte Modell Apple II+ wurde 1979 entwickelt und fand erstmals auch in Europa Verbreitung. Im Apple II+ kam das von Microsoft entwickelte Betriebssystem Applesoft BASIC zum Einsatz. Es bot erweiterte Funktionalitäten wie das Rechnen mit Gleitkommazahlen oder Befehle zur Darstellung hochauflösender Grafiken.

image

Bild 2.1: Apple II

Die von Microsoft entwickelte Codebasis von Applesoft BASIC wurde 1982 auch im Commodore BASIC des Commodore 64 benutzt. Zur Verbreitung des Computers trug außerdem maßgeblich das 1979 von Daniel Bricklin und Bob Frankston an der Harvard Business School erfundene Programm VisiCal bei. VisiCal war die erste Tabellenkalkulation überhaupt und konnte damals exklusiv auf Apple-II-Computern genutzt werden. Die Grundideen von VisiCal wurden später beispielsweise von Lotus und Microsofts Excel übernommen.

Zwar war der Apple-II-Computer bereits für eine größere Käuferschicht interessant, dennoch erforderte die Bedienung des Rechners durch das kommandozeilenorientierte BASIC ein gewisses Maß an technischem Verständnis. Die Vision von Jobs war es, einen Computer zu entwickeln, der von jedermann bedient werden kann. Ein erster Schritt in diese Richtung war das 1983 entwickelte Apple LISA OS, eines der ersten grafischen Betriebssysteme. LISA OS war allerdings zu teuer, um kommerziell Erfolg zu haben. Unter dem Begriff Macintosh wurde schließlich 1984 im Rahmen eines Werbespots zum Superbowl der erste kommerziell erfolgreiche Personal Computer mit einem grafischen Betriebssystem eingeführt.

image

Bild 2.2: Blick zurück auf LISA OS

Der Begriff Macintosh (im Weiteren auch verkürzt als Mac bezeichnet) sollte in Folge für die Apple-Betriebssysteme gelten. Das 1984 eingeführte Mac OS oder Mac OS Classic unterstützte die Bedienung per Maus und besaß als zentrales Element den bis heute bekannten Dateibetrachter Finder.

Ebenfalls im Jahr 1984 stellte Apple Computer John Sculley als Konzernchef ein. Die anfänglich gute Beziehung von Steve Jobs und John Sculley wandelte sich mehr und mehr zu einer Auseinandersetzung, die schließlich im Austritt von Steve Jobs aus der Firma Apple Computer 1985 ihr Ende fand.

Apple Computer konnte den anfänglichen technologischen Vorsprung in der Folge nicht halten. Das Mac-OS-Betriebssystem konnte nicht schnell genug fortentwickelt werden und verlor im Vergleich zu den mittlerweile vorhandenen Betriebssystemen Linux, BSD und vor allem Microsoft Windows (3.0 bis NT) den Anschluss. Eklatante Schwächen von Mac OS waren insbesondere die nur schwach entwickelten Multitasking-Fähigkeiten (sog. kooperatives Multitasking) und der nicht vorhandene Speicherschutz bei Programmausführungen.