COEN 252 Computer Forensics Data Analysis Techniques for Hard Drives Data Analysis Techniques Create forensic duplicate. Protect original as best evidence. Review Report. Testify. image file (with tools). Data Analysis Techniques Need collaboration between forensics investigators and case workers. Data Analysis Techniques Sources of Evidence Existing Files Deleted Files Logs Special system files (registry, cron) Email archives, printer spools Administrative settings Special types of files (lnk, prefetch) Data Analysis Techniques File restoration techniques FAT, NTFS By hand with a hexeditor Specialty tools like Norton undelete Forensics software like encase, FTK Mount drive on UNIX system and use UNIX tools (Fatback) Data Analysis Techniques Unix system With a hex editor edit the link count in inodes, file will then be linked to Lost&Found debugfs to relink a file to Lost&Found in ext2 Data Analysis Techniques Deleted files are overwritten if Drive is wiped (e.g. part of PGP suite) New files are created on the partition New software is installed on the partition Applications running may update the partition Data Analysis Techniques Deleted files are overwritten if The partition stores the %systemroot% directory and Windows modifies it for internal housekeeping. If the partition contains the web browser cache If the volume contains the TEMP directory At system shutdown / startup Data Analysis Techniques Free, slack and unallocated space Use a hex-editor Use a specialty tool that generates a file by appending all slack and free space Use a forensics tool Free: Outside of a partition. Slack: Allocated, but unused overhang in the last cluster of a file Unallocated: Not assigned to a current file. Data Analysis Techniques First Task: Generate database of all files Full path. MAC-dates & -times. Logical size of file. MD5 hash (to counteract evidence deterioration). Data Analysis Techniques Generate database of all files Use MD5 hash to exclude well-known files from investigation. Data Analysis Techniques Prepare drive for string searches. Forensics tools do this automatically. Need to deal with proprietary formats. Compressed files need to be uncompressed. Encrypted files need to be unencrypted. Data Analysis Techniques Perform string searches On UNIX, use grep. Forensics tools preprocess forensic duplicates. Data Analysis Techniques Perform String Searches The “How” is easier than the “What”. Investigator and analyst need to work together: “What are we looking for?” “What information do we need?” Data Analysis Techniques Example: The hard drive of a robbery suspect contains numerous references to his “little excursions”. To tie the suspect to the computer, establish usage by suspect alone by: Finding personal pictures (look for jpg). Restore old emails. Restore chat sessions. http://www.signonsandiego.com/news/metro/santana/20010312-9999_1n12compute.html Data Analysis Techniques What to look for Email Primary Source of Evidence. Email in transit is protected by the EPCA and other statutes. Checking email after transition is treated similar to searches of files. Data Analysis Techniques What to look for Print Spooler Files. Typically deleted right after printing Usually not be overwritten Not used by modern printers Data Analysis Techniques What to look for Web Cache Evidence All web browsers cache. Some delete files after session closes. Ex.: United States v. Tucker: The government introduced Internet conversations taken from Tucker's computer which showed that while he was looking for pictures he stated that he was into "young action" and would "like to start trading (3)27" and introduced a listing of Internet conversations documenting Tucker's trading of such images. United States Court of Appeals, Eleventh Circuit.No. 97-2767 Data Analysis Techniques What to look for Swap Files / Virtual Memory Files Can be very large. Use Forensics Tools like Encase Alternatively: Hex Editors, Norton Disk Commander (under Windows) Windows Data Analysis Perform keyword searches. Review Logs. Review Registry. Review swap files. Review special application files: Internet Cache Recycle Bin Printer Spool Email Files Windows Data Analysis: Text Searches Raw Data Level BinText (Foundstone) Disk Investigator (K. Soloway) SectorSpyXP (McCamy, Lexun Freeware) Forensics Tools Encase FTK Mareswares Windows Data Analysis: Text Searches Windows Data Analysis Logs Windows NT, 2000, XP, 2003, 7 maintain log files System Log Application Log Security Log Windows Data Analysis Logs Live System: Use Event Viewer Windows Data Analysis Logs Event Log Dump Use PsLogList (sysinternal) dumpel (Win2000 Resource Kit) Windows Data Analysis Logs From forensics duplicate secevent.evt appevent.evt sysevent.evt Windows Data Analysis Logs Drawbacks Default security logging is “no logging”. Do not record IP addresses Application log uses localized settings. (Forensics workstation will not interpret these.) Windows Data Analysis Logs Internet Information Services (IIS) has its own set of logs. Uses W3C standards as a default Windows Data Analysis Logs Need to be enabled. More important for incidence response than for law enforcement. Get HTTP status codes. Windows Data Analysis Logs Many other applications log: Internal firewalls. Create your own log from the timestamp of files around critical times. FileList (www.forensics-intl.com) will do this for you. Windows Data Analysis Reviewing Relevant Files Recycle Bin Date and Time of Deletion in Folder Recycled in Win95/98. Folder Recycler in WinNT/2000/XP. System file INFO in Win95 System file INFO2 in Win98 Information available in Win2000, WinXP Windows Data Analysis Reviewing Relevant Files Windows moves deleted file into the recycle bin. It deletes from there. Thus, files can be retrieved from deleted recycle bin entries. Windows Data Analysis Reviewing Relevant Files $Logfile entry in the MFT contains the log of all file system transactions Deletion of a file leaves several entries in $Logfile Not unusual to find files that are no longer on the disk Shows that file was used by the system Windows Data Analysis Reviewing Relevant Files Shortcuts can contain relevant information. Stored in the desktop folder. A special agent of the Illinois Attorney General’s Office investigated a case involving child pornography. The agent located a shortcut file in the Windows/Desktop folder whose target was a screensaver program. Upon examining the screensaver program, the agent found that it caused 30 images depicting child pornography to be displayed on the computer’s monitor when the shortcut was activated. Casey, p. 153 Windows Data Analysis Reviewing relevant files Prefetch files Give better performance Used to collect information on what is necessary to run a program Stored in Windows/prefetch Various tools to parse prefetch files Forensic significance: Suggests that program has been executed Gives last time application was run Gives number of runs Reviewing Relevant Files Scheduled Tasks Windows 2000, XP, 2003 in Windows\Tasks Windows 7 Windows\System32\Tasks .job files Scheduled task log SchedLgU.txt in Windows\Tasks Windows Data Analysis Reviewing Relevant Files JUMP lists List of files recently opened in Windows 7 Appdata\Roaming\Microsoft\Windows\Recent\AutomaticDesti nations First 16 characters of file name identify application Uses .lnk file format Gives time stamps Various analyzers exist Windows Data Analysis Reviewing Relevant Files Thumbs.db (System file) Contains thumbs pictures for folder. Not perfectly synchronized with folder. Deleted images might still be available. Windows Data Analysis Reviewing Relevant Files Temporary files Emails with large attachments: Files with extension tmp Created by many applications Attachments are probably stored as temp files. (Depends on email system.) Look for file extensions .tmp . Windows Data Analysis Reviewing Relevant Files Internet Explorer (as well as other browsers) use a cache. index.dat contains internet explorer cached websites. Written in binary. Use Pasco from Foundstone. Windows Data Analysis Reviewing Relevant Files Windows Data Analysis Reviewing Relevant Files Windows Data Analysis Reviewing Relevant Files Browser Cache C:\Documents and Settings\ Username\ Local Settings\Temporary Internet Files Or C:\Program Files\Netscape\Users\ Username\Cache Windows Data Analysis Reviewing Relevant Files Windows Data Analysis Reviewing Relevant Files Cookies can be partially decyphered. Use galleta from foundstone. Windows Data Analysis Reviewing Relevant Files Typically, concatenate all cookies. Redirect galleta into an excel file. Investigate the excel file. Windows Data Analysis Reviewing Relevant Files Dial-up Networking rasautou –s gives autodial addresses Windows Data Analysis Registry Database that stores settings and options for 32b MSWin OS Contains information and setting for Hardware Software Users Preferences Windows Data Analysis Registry Win95, Win98 USER.DAT, SYSTEM.DAT in Windows WinME USER.DAT, SYSTEM.DAT, CLASSES.DAT WinNT, 2000, XP In %SystemRoot%\System32\Config Windows Data Analysis Registry Use RegEdit to access. Before experimentation, make a backup of the registry. Windows Data Analysis Registry Hierarchical structure Main branches are Hives Hives contain keys. Keys can contain subkeys and values Windows Data Analysis Registry Windows Data Analysis Registry Six main branches HKEY_CLASSES_ROOT - This branch contains all of your file association mappings to support the drag-and-drop feature, OLE information, Windows shortcuts, and core aspects of the Windows user interface. HKEY_CURRENT_USER - This branch links to the section of HKEY_USERS appropriate for the user currently logged onto the PC and contains information such as logon names, desktop settings, and Start menu settings. Windows Data Analysis Registry HKEY_LOCAL_MACHINE - This branch contains computer specific information about the type of hardware, software, and other preferences on a given PC, this information is used for all users who log onto this computer. HKEY_USERS - This branch contains individual preferences for each user of the computer, each user is represented by a SID sub-key located under the main branch. Windows Data Analysis Registry HKEY_CURRENT_CONFIG - links to the section of HKEY_LOCAL_MACHINE appropriate for the current hardware configuration. HKEY_DYN_DATA - points to the part of HKEY_LOCAL_MACHINE, for use with the Plug-&-Play features of Windows, this section is dynamic and will change as devices are added and removed from the system. Windows Data Analysis Registry Registry Editor can import and export registry settings to / from a text file. Copy registry hive files from the forensic duplicate to your forensic work station. Import them into regedit. IF YOU MESS UP THE REGISTRY, YOU NEED TO REBUILD YOUR SYSTEM. Windows Data Analysis Registry In a recent investigation by the Los Angeles County Sheriff’s Computer Crime Unit, a detective investigated an employee suspected of misappropriating confidential computer information stored by his company. When the detective examined one of the workplace computers, he found remnants of a key-trapping program in the registry. During an interview, the suspect admitted to having installed, used, and deleted the key-trapping program for the purposes of obtaining user names and passwords of coworkers. Windows Data Analysis Registry Use the registry to Find installed software (such as L0phtcrack). Manually deleted software. Use backups of the registry to trace the installation and uninstallation of software. Find data on user accounts Windows Data Analysis Registry Use the registry to obtain listing of applications that are set to run automatically obtain registry entries that have been modified lately Registry keys have LastWrite time 64b value representing 100 nanoseconds since January 1, 1601. User accounts Windows Data Analysis MS Word files Word documents contain a revision log. Used by Richard M. Smith to investigate a press release by PM Blair. Turned out that press released was mainly a copy of an Middle East Review of International Affairs article. .pdf, .html, … files generated from .doc files do not have this revision history. Windows Data Analysis .pfd files .pdf files also contain meta-data Accessible in Adobe Reader Windows Data Analysis Unusual or Hidden Files NTSF uses a feature from Mac Hierarchical File System to store multiple entry under one file entry. “Data Streams” Allow us to hide a file cp nc.exe logo.jpg:nc.exe Now nc.exe is hidden. Use SFind (foundstone) to find stremed files. Windows Data Analysis Print Spooler Files Print Spooler Files. (EMF under Win). EMF files are deleted after printing. “Gap-Toothed Bandit”, Micheal Craig Dickman, used proceeds from bank robberies to support his struggling biotech start-up. Arrested after a heist in La Jolla, 1999. SD RCFL found the demand notes as a deleted EMF file on his laptop. Data Analysis Techniques What to look for Print Spooling uses temporary files. contain data to be printed. data on the print job. Two methods, RAW and EMF Shadow file .SHD info on print job .SPL contains data to be printed (RAW) .SPL contains file name, method, list of files with print data EMF****.TMP Data Analysis Techniques What to look for Department of Consumer Affairs in Orange County, CA, arrested a suspect for selling counterfeit state license certificates and seized his computer. Although the examiners had seized some of the counterfeit certificates from victims, they were unable to locate evidence on the computer. When the examiners requested a second review from the California Department of Insurance, Fraud Division, the Computer Forensics Team identified several deleted enhanced metafiles that exactly matched the paper copies that had been seized during the investigation. The only evidence present on the drive were the enhanced metafiles. The defendant was convicted at trial. Casey, p. 163 Windows Data Analysis Rogue Processes To find rogue processes on a duplicate image Restore the file system. Run a virus software. Disable writing to restored volume. Windows Data Analysis Find Hidden Doors Schedule an event remote /s “cmd.exe” mysystem Remote command from NT Resource Kit remote /c “cmd.exe” mysystem Allows to connect with a command prompt from outside the system Schedule this with the at or the soon utility Windows Data Analysis Find Hidden Doors at will find any jobs that have been scheduled: Windows Data Analysis Review last searches Use AFind (foundstone) to look for the last few files accessed. Look at the Find scrollbox. UNIX Data Analysis Review all pertinent logs Perform keyword searches Review relevant files Identify unauthorized user accounts or groups Identify rogue processes Check for unauthorized access points Analyze trust relationships Check for kernel module rootkits Unix Data Analysis Logs Unix maintains a variety of logs. A hacker could change the logs. But you need to look at them. Placed in directories depending on UNIX flavor /var/log usr/adm Var/adm UNIX Data Analysis Logs syslog Controlled by /etc/syslog.conf Uses syslogd Can be used to log remotely Unix Data Analysis Logs Look at the syslog.conf Three fields: Facility field: subsystem that produced the log (e.g. mail) Priority field: debug, info, notice, warning, err, crit, alert, emerg Action field: how is the log recorded, typically name of log field (or IP address) Unix Data Analysis Logs Log entries In ASCII Usually world-readable Only writable by root Unix Data Analysis Logs Remote Syslog Server logs Attackers with root privileges can change the logs Use a remote syslog server for safety Attacker can add spurious entries to the remote syslog Harden remote syslog server Unix Data Analysis Logs TCP Wrappers Host based access control for TCP and UDP services Any connection attempt are logged via syslog May 13 23:11:45 victim sshd[12528]: ROOT LOGIN REFUSED FROM www.scu.edu May 13 23:19:03 victim in.tftpd[524]: connect from 10.10.10.10 Unix Data Analysis Logs Other network logs Server specific logs, e.g. for FTP Unix Data Analysis Host Logging su command logs Part of syslog Stored in var/log/messages Currently logged in users Stored in utmp or wtmp Use w, who, finger, last to read Modified by many hacker tools Unix Data Analysis Host Logging Logon attempt logs Recorded on most UNIX machines /var/messages in LINUX Unix Data Analysis Host Logging cron Allows users to schedule programs for future execution Often used for attacks Logged, typically in /var/cron/log Unix Data Analysis User Activity Logging Every command by every user can be logged Shells store history files for each user Unix Data Analysis Logging Attacker gains root access to system Deletes .bash-history file Links file to /dev/null Can no longer log Look for the shell log: [linuxbox] # ls –al total 52 drwxr-x--- 5 drwxr-x--- 5 -rw------1 -rw-r--r-1 lrwxrwxrwx 1 root root root root root root 4096 Dec 12 04:47 root 4096 Dec 8 01:27 root 108 Dec 12 04:47 root 1198 Aug 23 04:47 tty 9 Dec 8 14:12 . .. .XAuthority .XDefaults .bash_history -> /dev/null UNIX Data Analysis String Searches grep String search within a file String search within a binary file Recursive searches # grep root /etc/passwd root:x:0:0:root: /root: /bin/bash # grep PROMIC /sbin/ifconfig Binary file /sbin/ifconfig matches # grep –r –I password / UNIX Data Analysis String Searches find Use to search for a file by name E.g., find “…” (a typical hacker trick to hide a file) Found one. # find / -name “\.\.\.” –print /home/hacker/MDAc/temp/…/root/… UNIX Data Analysis Relevant Files Finding relevant files after an incident is an art. Careful about destroying evidence by running system commands that will change times. Mount evidence drive read-only or better, duplicate. UNIX Data Analysis Relevant Files Identify the time of the incident. Look for files accessed, created or modified around that time. Use find with –atime, -ctime, -mtime option UNIX Data Analysis Relevant Files: SUID Programs UNIX allows applications to set the user-id (SUID) and set the group-id (SGID). Programs runs with privileges of owner, typically root. Programs are source of most privilege escalation attacks. UNIX Data Analysis Relevant Files: SUID Programs Sometimes unprivileged users need to accomplish tasks that require high privileges. For example, passwd needs to access the password file in /etc/passwd But users should not be given access to /etc/passwd UNIX Data Analysis Relevant Files: SUID Programs User invokes passwd passwd changes its UID (with SUID) passwd now runs with root UID passwd can now access the password file. UNIX Data Analysis Relevant Files: SUID Programs You recognize these programs with ls –l File permission have an s instead of an x -rwsr-xr-- SUID program -rwxr-sr-- SGID program UNIX Data Analysis Relevant Files: SUID Programs SECURITY INCIDENT EXAMPLE Superuser is logged on as root and leaves terminal unattended # cp /bin/sh /tmp/break-acct Creates#chmod SUID shell. 4755 /tmp/break-acct Anyone invoking /tmp/break-account gets root privileges. UNIX Data Analysis Relevant Files: SUID Programs Old Break-in /usr/lib/preserve is used by vi and ex editors to make an automatic backup of a file that is edited when the users suddenly disconnects. preserve writes file changes to a temp file in a special directory UNIX Data Analysis Relevant Files: SUID Programs preserve uses /bin/mail to send the user a notification that the file has been saved. This temp file should not be accessible by world. Thus, preserve needs root privileges UNIX Data Analysis Relevant Files: SUID Programs preserve was installed as SUID root. preserve ran /bin/mail as root. preserve executed the mail program with the system function call. system uses sh to parse the string that it executes. UNIX Data Analysis Relevant Files: SUID Programs Problem: Shell variable IFS tells sh how to interpret the white spaces. Normally sets white spaces to be space, tab, enter, etc. Attacker sets white spaces to “/” UNIX Data Analysis Relevant Files: SUID Programs Attacker runs vi. Attacker crashes system. preserve runs. system interprets /bin/mail as “bin mail” Thus, it executes any program called bin with argument mail as root. UNIX Data Analysis Relevant Files: SUID Programs Find all SUID SGID with the following command: find starts in / Looks for files with permission 002000 (SGID) or 004000 #(SUID) find / \( -perm -00400 –o –perm -002000 \) –type f -print Know what to expect. UNIX Data Analysis Relevant Files: Hidden Files Hide “bad” files By giving them innocuous names By giving a name similar to a reasonable name “ syslog” vs. “syslog” Calling a directory “…” (“.” current directory, “..” parent directory) Relevant Files: Configuration Files Primary target to keep access for a hacker. etc/hosts.allow etc/hosts.deny determine access policy. /etc/inetd.conf controls network services Relevant Files: Configuration Files Add an entry to inetd.conf: Simple backdoor that listens on port 55000 nowait /usr/sbin/tcpd Same telnet2 telnet stream server tcp as the one root for port 23. Port 55000 might not be monitored in.telnetd UNIX Data Analysis Relevant Files: cron cron facility used to schedule future executions of programs /var/spool/cron /usr/spool/cron stores cron jobs /etc/rc.d contains a listing of programs that start when UNIX boots. Check all startup scripts for trojans. UNIX Data Analysis Phone Home Outgoing traffic is usually not monitored. Compromised system uses cron to initiate a connection to an outside system. Outside system can control the compromised system. UNIX Data Analysis Relevant Files: Startup User home directory contain startup files. .login .profile .cshrc UNIX Data Analysis Relevant Files: /tmp Only world-writable file system on a typical UNIX system. Hangout for nefarious tools. UNIX Data Analysis User Accounts Each user has an entry in /etc/passwd dvader:x:512:516:Darth Vader:/home/dvader:/bin/bash User name Password (shadowed) User Id Group Id Comment field Home directory Default login shell UNIX Data Analysis User Accounts /etc/groups defines groups: root::0:root, tschwarz bin::2:root,bin,daemon sys::3:root,bin,sys,adm adm::4:root,adm,daemon uucp::5:root,uucp User names UNIX Data Analysis User Accounts If suspicious of compromise, investigate user accounts and group accounts. Checking for Unauthorized Access Points Investigate all network services for potential access points. X-server FTP Telnet DNS Sendmail finger SNMP IMAP POP HTTP HTTPS UNIX Data Analysis Analyzing Trust Relationships If machine A trusts machine B, then anyone on machine B can access services on machine A. Don’t set up trust relationships. They allow an attacker to escalate privileges to other machines Check files such as /etc/hosts.equiv or .rhosts UNIX Data Analysis Analyzing Trust Relationships Network topology routes data through other computers. Sniffing (esp. for passwords). Even possible in a switched environment: arpredirect in dsniff UNIX Data Analysis Loadable Kernel Modules LKM can by dynamically loaded with root-level access. Used to let a hacker maintain access. Adore, Knark, Itf UNIX Data Analysis Loadable Kernel Modules Trojan system utilities used to detect them. Look for discrepancies between internal and external scans. Detection tools are available.