4 Collecting Volatile Data
4 Collecting Volatile Data
Lecture 4
0011 0010 1010 1101 0001 0100 1011
Operating
System Applications
RAM
Hard
BIOS
Disk
Where do we find Volatile Data
• Physical Memory- OS keeps key functions
0011 0010 1010 1101 0001 0100 1011
– user-mode rootkits
• 2nd Generation
– volatile memory rootkits – library (dll) rootkits
– user-mode rootkits, e.g., Hacker Defender
• 3rd Generation
– device driver rootkits
– kernel-mode rootkits, e.g., Vanquish, HE4Hook
What to Collect
Operating Systems
• Code page loaded in memory for execution
0011 0010 1010 1101 0001 0100 1011
• PDA
– CPU, RAM, peripheral ports, etc.
– Memory sticks, Secure Digital cards, …
– Primary storage for user data is in RAM, which
is kept in place by device’s power
• What to collect
0011 0010 1010 1101 0001 0100 1011
– Raw memory
– Users: successful and failed logons, local & remote
– Processes: running processes and dependencies
– Network: IP connection, configuration, route tables,
MAC address-resolution cache, …
– Date & Time: configuration settings
– Task Management: tasks scheduled
Basic rule: gain the most potential evidence reliably with least intrusion.
Module 3
0011 0010 1010 1101 0001 0100 1011
How to Collect
Raw Versus Processed Memory
Raw Processed
0011 0010 1010 1101 0001 0100 1011
• Less intrusive method • An application (from
• Information is more trusted binary CD) issues
complete OS calls via API to
• Redirect physical extract information from
memory dump to physical memory
external memory via • More immediately useful
network, USB, or – logged on users
Firewire. – processes
– TCP/IP connections
– Ports
• Incomplete information
Tools
• Regmon
0011 0010 1010 1101 0001 0100 1011
www.sysinternals.com
Module 4
0011 0010 1010 1101 0001 0100 1011
Process
Live Analysis
• Disconnect
0011 0010 the system
1010 1101 0001 from
0100 1011 the network
– unless you are trying to track an active attack
– usual case you want to stop any damage or loss of valuable
information
• Record
– Note the time, date, who discovered the problem and how you
were made aware of it. From now on every time you do something
make a note of the situation describing what actions were taken,
what results were found, and when & where it took place.
• Evidence
– Forensics code (TCT) on a CDROM or other immutable media,
ready for action – collect information
• Determine Action
– Based on the data collected decide what to do…
Actions
• False alarm
0011 0010 1010 1101 0001 0100 1011
http://www.securityfocus.com/infocus/1769
Module 5
0011 0010 1010 1101 0001 0100 1011
Toolkits
http://www.forensics.nl/toolkits
FATKit: The Forensic Analysis ToolKit
• Cross-platform, modular, and extensible digital
investigation
0011 framework
0010 1010 1101 0001 0100 1011 for analyzing volatile
system memory
• Automates the extraction and visualization of digital
objects found in physical memory
• Linux- and Windows-
specific kernel analyses
including process/task
enumeration, module
enumeration, and memory-
resident malicious code
State of development in question.
detection. http://www.4tphi.net/fatkit/
Helix Live CD
• Customized distribution of the Knoppix Live
0011 0010 1010 1101 0001 0100 1011
Linux CD
• Does NOT touch the host computer in any way
and it is forensically sound
• Windows functionality to facilitate the capture
of live Windows systems’ volatile data - runs as
a standard windows application
• Linux functionality for a bootable, self-
contained operating system that can be used for
in-depth analysis of “dead” systems. Free
http://www.e-fense.com/helix
Knoppix-STD 0.1
• Collection of hundreds if not thousands of
0011 0010 1010 1101 0001 0100 1011
open source security tools
• Live Linux Distro
• Turn it into a firewall, a web server, an IDS
box, a honeypot.
• Use it to do data recovery on an dead or
locked computer, perform a vulnerability
assessment, a penetration test, perform an
autopsy on a compromised machine, test
your incident response team.
http://s-t-d.org/faq.html Free
LiveWire Investigator
• LiveWire
0011 0010 1010 1101Investigator captures
0001 0100 1011 relevant data – including running
state – while the system being investigated continues to operate
• Extensive array of data acquisition options and analytical tools
• Automates the logging and reporting of all investigative actions
• Capture and record running state
– Volatile Memory Snapshot
– Live Registry Examination
– System Log
• Collect key information on running programs, network
connections, and data transmissions
– IP, NetBIOS, Routing table acquisition
– Running processes $8995.00
http://www.wetstonetech.com/catalog/item/1104418/2347979.htm
Penguin Sleuth
• Virtual
0011 0010 computer
1010 1101 forensics
0001 0100 1011 and security platform
• Originally modified the Knoppix distribution to make it
more forensic friendly
• Knoppix provides a method of looking at the computer,
without altering the evidence.
• Detecting files that have not been deleted
• Validated for live preview of EXT23, FAT32, and NTFS
partitions.4” . Not validated for live preview of EXT3 or
reiserfs partitions
• Live previews of computers: chkrootkit, tcpdump, and
many other live network analysis tools
http://www.penguinsleuth.org/ Free
http://www.linux-forensics.com
The Coroner's Toolkit (TCT)
• Primarily designed for Unix systems, but it
0011 0010 1010 1101 0001 0100 1011
can do some data collection & analysis on
non-Unix disks/media.
• Tools
– grave-robber (data capturing tool)
– the C tools (ils, icat, pcat, file, etc.)
– unrm & lazarus (collection & analysis of data
on deleted files)
– mactime (analyzes the mtime file)
– findkey tool that recovers cryptographic keys
from a running process or from files.
Free
http://www.porcupine.org/forensics/tct.html#features
EnCase Enterprise Edition
•Network-enabled, multi-platform enterprise
0011 0010 1010 1101 0001 0100 1011
investigation solution.
•Preserves volatile and static data on servers and
workstations anywhere on the network, without
disrupting operations.
•Extensive capability
–Securely investigate/analyze machines over the
LAN/WAN from a central location
–Audit machines for compromise by zero-day attacks
–Identify and remediate Windows-based kernel rootkits
expensive, but
www.guidancesoftware.com must get a quote
ProDiscover
• Computer Forensic Tool for Law Enforcement
0011 0010 1010 1101 0001 0100 1011
$7995.00
www.techpathways.com
Tradeoffs
• Windows-based operating systems
0011 0010 1010 1101 0001 0100 1011
http://www.securityfocus.com/infocus/1769
Building a Live Collection Disk
Security Focus Live Collection Disk and Process
• nc1010
0011 0010 – read and
1101 write
0001 data
0100 across
1011 network connections
• dd – copy and convert a file
• datecat – print date information
• pcat – print process information
• Hunter – print process info for suspicious modules
• insmod – install loadable module in the running kernel
• netstat – list currently active network connections
• arp – manipulate the kernel's ARP cache
• route – manipulate the kernel's IP routing tables
• dmesg – examine or control the kernel ring buffer
http://www.securityfocus.com/infocus/1769
Basic idea
• Do the least intrusive volatile data
0011 0010 1010 1101 0001 0100 1011
TCP/UDP ports
– (remote)#nc -l -p port >
connections_compromised
– (compromised)# /mnt/cdrom/netstat -an |
/mnt/cdrom/nc (remote) port
– (remote)# md5sum
connections_compromised >
connections_compromised.md5
– an easy method of detecting a rootkit,
loaded into kernel memory, is when one of
its tasks is hiding an open port.
Process Continued
• Physical memory image
0011 0010 1010 1101 0001 0100 1011
– (compromised)#/mnt/cdrom/insmod -f
/mnt/cdrom/hunter.o
• The "-f switch", forces the loading of the
hunter.o due to version mismatch with kernel (If
we know which kernel version is on the compromised machine we can download the proper
source code from www.kernel.org)
Command
/mnt/cdrom/cat /proc/version OS Version
/mnt/cdrom/cat /proc/sys/kernel/name Host Name
system image.
• Also ready to analyze the “live” data
collected here.
Module 7
0011 0010 1010 1101 0001 0100 1011