SlideShare a Scribd company logo
CNIT 121:
Computer
Forensics
13 Investigating Mac OS X Systems
Topics
HFS+ and File System
Analysis
• Hierarchical File System features:
Nine Structures
1. Boot blocks
2. Volume header
3. Allocation file
4. Extents overflow file
5. Catalog file
6. Attributes file
7. Startup file
8. Alternate volume header
9. Reserved blocks
CNIT 121: 13 Investigating Mac OS X Systems
Nine Structures
1. Boot blocks
• First 1024 bytes of volume
• Typically empty on modern systems
2. Volume Header and Alternate Volume Header
•Located 1024 bytes from the beginning of the
volume
•Information about the volume, including the
location of other structures
CNIT 121: 13 Investigating Mac OS X Systems
iBored
Disk Editor
for
Mac
Mac Timestamps
•All in local time
•HFS+ Volume
•Create date, modify date, backup date,
checked date
•File
•Access, modify, inode change, inode birth
time (file creation)
Stat Command
• Shows all four timestamps on Mac
Allocation File
• A bit for
every block
• 1 = in use
• 0 = available
Extents Overflow File
• "Extents" are
contiguous
allocation
blocks
Catalog File
• Details hierarchy of files and folders in the system
• Each file and folder has a unique catalog node ID
(CNID)
Attributes File
• Optional
• Used for named forks
• Additional metadata assigned to a file
• Like Microsoft's Alternate Data Streams
• Stores origin of files from the Internet, and tags
like "Green" and "Important"
Startup File
• Not used by Mac OS X
• Usually empty
File System Services
• Spotlight
• Managed Storage
Spotlight
• Metadata indexing and searching service
• Indexers examine the content of files to find
keywords
• Some index entire content, others only import
metadata
Spotlight
• Can be used to search a live system
• Not much use for a static acquisition
• Indexes are deleted when a file is deleted
• No tools are available to parse the data stored
by the Spotlight indexer once it's extracted
from a drive image
Managed Storage
• New in Mac OS X Lion (10.7)
• Allows apps to continuously save data
• Uses daemon "revisiond"
• Saves data on volumes under the "hidden"
directory
• /.DocumentRevisions-V100
Capturing db Files
• Copy them to another folder
• Originals are in use and won't open
• db.sqlite shows files used with timestamps
• Consider the file with file_storage_id 6
Generations
• 394 versions of that file saved
• With timestamps and other info.
Core Operating System Data
File System Layout
• Four domains for data classification
• Local
• System
• Network
• User
Local Domain
• Applications and configurations that are shared
among all users of a system
• Administrative privileges required to modify
data in this domain
• These directories are in the local domain:
System Domain
• Data installed by Apple, and a few specialized
low-level utilities
• Most useful domain for intrusion investigations
because it contains the system logs
• Includes all the traditional Unix structures, all of
which require administrative privileges to
modify
• /bin, /usr, /dev, /etc, and so on, also /System
Network Domain
• Applications and data stored here is shared
among a network of systems and users
• In practice, rarely populated with data
• Located under the /Network directory
User Domain
• Primary source of data for most other
investigations
• Contains user home directories and a shared
directory
• All user-created content and configurations will
be found under /Users
• High-privilege and Unix-savvy users may break
this model
MacPorts Package Manager
• Lets you add BSD packages to your Mac
• Very useful
• Requires command-line developer tools
• Link Ch 13b
The Local Domain
/Applications
• Nearly every installed application is here
• Application Bundles
• Contain everything an application needs to
run:
• Executable code, graphics, configuration
files, libraries, helper applications and scripts
Application Bundles
• Finder treats the bundle as a single file
• Most common extensions
Inside the Bundle
• Right-click, Show Package Contents
• Subdirectories
• MacOS, Resources, Library, Frameworks,
PlugIns, SharedSupport
• Developers can put anything in these directories
• VMware Fusion's Library folder contains command-
line utilities to manage the VMware hypervisor
Console App
Package Contents
• Contains additional metadata
• Time and date stamps show when the app was
installed
• A good place to hide data
/Developer
• Used by XCode, Apple's development
environment
• Until recently, all development tools, SDKs,
documentation, and debugging tools were here
• Later versions of XCode moved the tools
• This directory may still be present on some
systems
/Library
• /System/Library
• App settings for the operating system
• /Library
• Settings shared between users
• /Users/username/Library
• User-specific settings
Application Support
• /Library/Application Support
• /User/username/Library/Application Support
• Settings, caches, license information, and
anything else desired by the developer
Caches
• /Library/Caches
• /User/username/Library/Caches
• Temporary data for applications
Frameworks
• /Library/Frameworks
• /System/Library/Frameworks
• Drivers or helper applications, for
applications
• Usually nothing significant here
Keychains
• /Library/Keychains
• /System/Library/Keychains
• /User/username/Library/Keychains
• Passwords and certificates
• Requires user's password to open
Logs
• /Library/Logs
• /User/username/Library/Logs
• Application logs
• Very important to review
Preferences
• /Library/Preferences
• /User/username/Library/Preferences
• Application preferences, if the application
allows a system API to manage them
• Stored in .plist files
• Comparable to the Software hive in Windows
Receipts
• /Library/Receipts
• /User/username/Library/Receipts
• Files here are updated when an application is
added to the system
• InstallHistory.plist contains information about
every application installed via the OS's
installer or update framework
WebServer
• /Library/WebServer
• Apache, installed on every copy of Mac OS X,
is started when a user turns on Web sharing
• This folder is Apache's Document Root
File Types
• Used by nearly every application
• Property lists (.plist)
• Tools: plutil on Mac, "plist Explorer" on
Windows
• SQLite databases
• Tools: Firefox Plugin SQLite Manager,
sqlitebrowser
The System Domain
Traditional Unix Paths
• Some investigations are based entirely on data
found here, such as log files
• /System directory is structured similarly to the 

/Library directory
• Locations where applications maintain
persistence
• Requires administrator privileges to create or
modify files
Artifacts
• System logs in /var/log
• Databases in /var/db
• Records of printed data in the CUPS log
• System sleep image
• Software imported using MacPorts or Fink, or
compiled in place, may be in /opt
The User Domain
User-Created Content
Specific Sources of
Evidence
User and Service
Configuration
• Apple uses LDAP for enterprise management
and Directory Services for local user
management
• Directory Services doesn't use the traditional
Unix files /etc/passwd and /etc/groups
• Data in SQLite databases and binary-formatted
property lists
The Evidence
• Directory Service data is in 

/private/var/db/dslocal
• Databases (or nodes) for the local system are in
the subdirectory nodes/Default
• My password hash is on the next slide
• More info at links Ch 13c and 13d
Password Hash
Decoding the Password
Hash
Other Configuration Options
sqlindex
• In /private/var/db/dslocal
• Maintains creation and modification time for the
plist files in the directory structure
• And information on the relationships between
the data
• Automatically backed up to /private/var/db/
dslocal-backup.xar (a gzip tar file)
Analysis of sqlindex
• Shows when a share was created
• Whether an account existed,and its privilege
level
User Accounts
Sharepoints
• Status of the share for
• AFP (Apple Filing Protocol)
• SMB (Server Message Block)
• FTP (File Transfer Protocol)
• Sharepoint names and share path
• When the share was created
Trash and Deleted Files
• Files deleted from USB sticks go into a Trash
folder on the stick, labeled by user ID, like
• /Volumes/USBDRIVE/.Trashes/501
System Auditing,
Databases, and Logging
• Open Source Basic Security Module (OpenBSM)
• Powerful auditing system
• Logs:
• File access
• Network connections
• Execution of applications and their command-
line options
OpenBSM
• Default configuration doesn't save detailed
information and is of limited use for IR
• Configuration files in /etc/security
• Primary file is audit_control
OpenBSM
• This configuration will log everything for all
users, and
• Login/logout, administrative events,
processes, and network activity
Helper Services
• Run in background
• Track events or common data
• Maintain state with SQLite databases or
property list
• Examples:
Airportd
• Runs in an application sandbox
• Configured in /usr/share/sandbox
Airportd Plist
Networks
System and Application
Logging
• Many log and forensic artifacts in these folders
• Most are in plaintext, some are binary
CNIT 121: 13 Investigating Mac OS X Systems
Read with Syslog
Other ASL Log Files
• Filenames starting with BB
• Authentication logs from long ago
• Year is 1 year after the correct date
Other ASL Log Files
• Filenames starting with AUX
• Backtrace for crashed or abnormally
terminated applications
• Plaintext
/private/var/audit
• Read with praudit
Example Log Entries
• Erase flash drive
• Failed login attempt
Interesting Items in Log
• iCloud connection, Time Machine, iTunes
• Indicates that there are backups of data on
other devices
Scheduled Tasks and
Services
• Apple moved from cron to launchd
• Commands to execute at startup
Properties for LaunchAgents
Application Installers
• When an application is installed, two files are
placed in /private/var/db/receipts
• Bill of Materials (BOM) and plist
• BOM contains a complete inventory of files
• Plist contains install date, package identifier,
and path access control lists
Application Installers
CNIT 121: 13 Investigating Mac OS X Systems
CNIT 121: 13 Investigating Mac OS X Systems
CNIT 121: 13 Investigating Mac OS X Systems
CNIT 121: 13 Investigating Mac OS X Systems

More Related Content

PPT
Unix memory management
PPTX
Threads .ppt
PPTX
Sisteme de Operare: Introducere
PPTX
Lecture 2 process
PDF
Course 102: Lecture 25: Devices and Device Drivers
PDF
MacOS memory allocator (libmalloc) Exploitation - Chinese Version
PDF
Course 102: Lecture 24: Archiving and Compression of Files
PPTX
Operations on Processes and Cooperating processes
Unix memory management
Threads .ppt
Sisteme de Operare: Introducere
Lecture 2 process
Course 102: Lecture 25: Devices and Device Drivers
MacOS memory allocator (libmalloc) Exploitation - Chinese Version
Course 102: Lecture 24: Archiving and Compression of Files
Operations on Processes and Cooperating processes

What's hot (20)

PDF
Strategies to design FUD malware
PPTX
Threads in Operating System | Multithreading | Interprocess Communication
PDF
Power of the Log: LSM & Append Only Data Structures
PDF
Linux kernel modules
PDF
Linux Binary Exploitation - Return-oritend Programing
PDF
Course 102: Lecture 20: Networking In Linux (Basic Concepts)
PDF
Course 102: Lecture 26: FileSystems in Linux (Part 1)
PDF
Windows Registry Analysis
PDF
4 threads
PPTX
Ext filesystem4
PPTX
Unix Operating System
PDF
Linux systems - Getting started with setting up and embedded platform
PDF
MySQL Index Cookbook
PDF
Course 102: Lecture 28: Virtual FileSystems
PDF
Linux Performance Analysis: New Tools and Old Secrets
PPT
Bash shell
PPT
Software Security Engineering
PPTX
Bash Shell Scripting
PDF
Play with FILE Structure - Yet Another Binary Exploit Technique
Strategies to design FUD malware
Threads in Operating System | Multithreading | Interprocess Communication
Power of the Log: LSM & Append Only Data Structures
Linux kernel modules
Linux Binary Exploitation - Return-oritend Programing
Course 102: Lecture 20: Networking In Linux (Basic Concepts)
Course 102: Lecture 26: FileSystems in Linux (Part 1)
Windows Registry Analysis
4 threads
Ext filesystem4
Unix Operating System
Linux systems - Getting started with setting up and embedded platform
MySQL Index Cookbook
Course 102: Lecture 28: Virtual FileSystems
Linux Performance Analysis: New Tools and Old Secrets
Bash shell
Software Security Engineering
Bash Shell Scripting
Play with FILE Structure - Yet Another Binary Exploit Technique
Ad

Viewers also liked (20)

PDF
CNIT 121: 12 Investigating Windows Systems (Part 2 of 3)
PDF
CNIT 129S: 9: Attacking Data Stores (Part 1 of 2)
PDF
CNIT 121: 4 Getting the Investigation Started on the Right Foot & 5 Initial D...
PDF
CNIT 129S: Ch 3: Web Application Technologies
PDF
CNIT 121: 2 IR Management Handbook
PDF
CNIT 40: 6: DNSSEC and beyond
PDF
CNIT 129S: Ch 4: Mapping the Application
PDF
CNIT 121: 12 Investigating Windows Systems (Part 3)
PDF
CNIT 121: 11 Analysis Methodology
PDF
CNIT 129S: Ch 5: Bypassing Client-Side Controls
PDF
CNIT 129S: 8: Attacking Access Controls
PDF
CNIT 129S: Ch 6: Attacking Authentication
PDF
CNIT 129S: Securing Web Applications Ch 1-2
PDF
CNIT 121: 3 Pre-Incident Preparation
PDF
CNIT 129S: 13: Attacking Users: Other Techniques (Part 1 of 2)
PDF
CNIT 121: 6 Discovering the Scope of the Incident & 7 Live Data Collection
PDF
CNIT 121: Computer Forensics Ch 1
PDF
CNIT 128 Ch 4: Android
PDF
CNIT 40: 3: DNS vulnerabilities
PDF
CNIT 129S: 11: Attacking Application Logic
CNIT 121: 12 Investigating Windows Systems (Part 2 of 3)
CNIT 129S: 9: Attacking Data Stores (Part 1 of 2)
CNIT 121: 4 Getting the Investigation Started on the Right Foot & 5 Initial D...
CNIT 129S: Ch 3: Web Application Technologies
CNIT 121: 2 IR Management Handbook
CNIT 40: 6: DNSSEC and beyond
CNIT 129S: Ch 4: Mapping the Application
CNIT 121: 12 Investigating Windows Systems (Part 3)
CNIT 121: 11 Analysis Methodology
CNIT 129S: Ch 5: Bypassing Client-Side Controls
CNIT 129S: 8: Attacking Access Controls
CNIT 129S: Ch 6: Attacking Authentication
CNIT 129S: Securing Web Applications Ch 1-2
CNIT 121: 3 Pre-Incident Preparation
CNIT 129S: 13: Attacking Users: Other Techniques (Part 1 of 2)
CNIT 121: 6 Discovering the Scope of the Incident & 7 Live Data Collection
CNIT 121: Computer Forensics Ch 1
CNIT 128 Ch 4: Android
CNIT 40: 3: DNS vulnerabilities
CNIT 129S: 11: Attacking Application Logic
Ad

Similar to CNIT 121: 13 Investigating Mac OS X Systems (20)

PDF
CNIT 152: 13 Investigating Mac OS X Systems
PDF
CNIT 152 13 Investigating Mac OS X Systems
PDF
CNIT 121: 14 Investigating Applications
PPT
operating system File - System Interface
PDF
CNIT 121: 12 Investigating Windows Systems (Part 1 of 3)
PPTX
File Management & Access Control
PPT
Windowsforensics
PPTX
System Event Logs
PPT
operating system introduction and organization
PPTX
os Module-4 ppt (1).pptx,...........................
PPTX
Microsoft Offical Course 20410C_10
PDF
File system discovery
PDF
Systems Programming - File IO
PPT
Unix File System
PPT
detailed explanation on unix file system
PDF
Ch10 file system interface
PPTX
oracle linux administration | oracle linux training - oracle trainings
PDF
Webscripts Server
PPTX
2nd unit part 1
PDF
12-UnixCaseStudy.pdf of operating system
CNIT 152: 13 Investigating Mac OS X Systems
CNIT 152 13 Investigating Mac OS X Systems
CNIT 121: 14 Investigating Applications
operating system File - System Interface
CNIT 121: 12 Investigating Windows Systems (Part 1 of 3)
File Management & Access Control
Windowsforensics
System Event Logs
operating system introduction and organization
os Module-4 ppt (1).pptx,...........................
Microsoft Offical Course 20410C_10
File system discovery
Systems Programming - File IO
Unix File System
detailed explanation on unix file system
Ch10 file system interface
oracle linux administration | oracle linux training - oracle trainings
Webscripts Server
2nd unit part 1
12-UnixCaseStudy.pdf of operating system

More from Sam Bowne (20)

PDF
Introduction to the Class & CISSP Certification
PDF
Cyberwar
PDF
3: DNS vulnerabilities
PDF
8. Software Development Security
PDF
4 Mapping the Application
PDF
3. Attacking iOS Applications (Part 2)
PDF
12 Elliptic Curves
PDF
11. Diffie-Hellman
PDF
2a Analyzing iOS Apps Part 1
PDF
9 Writing Secure Android Applications
PDF
12 Investigating Windows Systems (Part 2 of 3)
PDF
10 RSA
PDF
12 Investigating Windows Systems (Part 1 of 3
PDF
9. Hard Problems
PDF
8 Android Implementation Issues (Part 1)
PDF
11 Analysis Methodology
PDF
8. Authenticated Encryption
PDF
7. Attacking Android Applications (Part 2)
PDF
7. Attacking Android Applications (Part 1)
PDF
5. Stream Ciphers
Introduction to the Class & CISSP Certification
Cyberwar
3: DNS vulnerabilities
8. Software Development Security
4 Mapping the Application
3. Attacking iOS Applications (Part 2)
12 Elliptic Curves
11. Diffie-Hellman
2a Analyzing iOS Apps Part 1
9 Writing Secure Android Applications
12 Investigating Windows Systems (Part 2 of 3)
10 RSA
12 Investigating Windows Systems (Part 1 of 3
9. Hard Problems
8 Android Implementation Issues (Part 1)
11 Analysis Methodology
8. Authenticated Encryption
7. Attacking Android Applications (Part 2)
7. Attacking Android Applications (Part 1)
5. Stream Ciphers

Recently uploaded (20)

PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PDF
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
PPTX
PPH.pptx obstetrics and gynecology in nursing
PDF
Microbial disease of the cardiovascular and lymphatic systems
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
Business Ethics Teaching Materials for college
PPTX
Pharma ospi slides which help in ospi learning
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PDF
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PDF
Insiders guide to clinical Medicine.pdf
PDF
RMMM.pdf make it easy to upload and study
2.FourierTransform-ShortQuestionswithAnswers.pdf
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
FourierSeries-QuestionsWithAnswers(Part-A).pdf
human mycosis Human fungal infections are called human mycosis..pptx
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
PPH.pptx obstetrics and gynecology in nursing
Microbial disease of the cardiovascular and lymphatic systems
Final Presentation General Medicine 03-08-2024.pptx
Business Ethics Teaching Materials for college
Pharma ospi slides which help in ospi learning
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
Module 4: Burden of Disease Tutorial Slides S2 2025
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
Anesthesia in Laparoscopic Surgery in India
STATICS OF THE RIGID BODIES Hibbelers.pdf
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
Abdominal Access Techniques with Prof. Dr. R K Mishra
Insiders guide to clinical Medicine.pdf
RMMM.pdf make it easy to upload and study

CNIT 121: 13 Investigating Mac OS X Systems