Operating System Forensics Flashcards
Windows O/S Forensics Methodology
- Collecting Volatile Information
- Collecting Non-Volatile Information
- Windows Memory Analysis
- Windows Registry Analysis
- Cache, Cookie & History Analysis
- Windows File Analysis
- Metadata Investigation
- Event Logs Analysis
What is the first volatile information you need to collect?
System time/date
The second piece of volatile information you collect is logged on users. What are the three tools you can use for this?
- PSloggedon
- LogonSessions -p
- net session
What are the three ways you can check for open files?
- net file
- psfile
- openfiles
What two commands can show you network information?
- nbtstat -c
2. netstat -a | -r
What can show you the memory contents of processes?
a. tasklist /v
b. pslist -x
c. listdlls
d. handle
Process to port mapping
- netstat -o
2. netstat -fport
Process Memory Tools
- process explorer
- pmdump
- userdump
Network Status Tools
- ipconfig
- promqry
- promisdetect
Print Spool Files
The temporary files can store print details such as owner, document, printer, printing processor - format, number of copies printed and the print method
Print Spool Files Support what two data types?
RAW - .SPL file consists of data to be printed EMF - .SPL file consists the metadata and can be printed on any printer
FSUTIL Object ID
Manages object identifiers, which are used by the Windows operating system to track objects such as files and directories. fsutil quota. Manages disk quotas on NTFS volumes to provide more precise control of network-based storage
FSUTIL Disable LAST ACCESS UPDATE on files:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem\Disablas tacess
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem\
NTFSDisablelastacessupdate
Autoruns
a great tool for checking areas within the file system, such as scheduled tasks.
Microsoft Security IDs for users
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
Event Logs-PSLogList
PsLogList allows to login to remote systems in situations when current set of security credentials would not permit access to the Event Log.
ESE Database
Windows 10 comes with Microsoft Edge as the default web browser. It uses the Extensible Storage Engine (ESE) database format to store browsing records, including history, cache, and cookies.
ESE Database Tables
categorized as FileCleanup, Folder, ReadingList, RowId, MSysObjids, MSysObjects, FolderStash, MSysLocales, and MSysObjectsShadow. These tables contain information of all the applications stored and accessed from the system. This information can act as evidence in case of criminal incidents.
ESE Database Path
\Users\user_name\AppData\Local\Packages\Microsoft.MicrosoftEdge_xxxxx\AC\Micr osoftEdge\User\Default\DataStore\Data\nouser1\xxxxx\DBStore\spartan.eb
Microsoft Edge cached Files
Edge cached files location:
\Users\user_name\AppData\Local\Packages\Microsoft.MicrosoftEdge_xxxx
\AC#!001\MicrosoftEdge\Cache\
Edge last active browsing session data location:
\Users\user_name\AppData\Local\Packages\Microsoft.MicrosoftEdge_xxxx
\AC\MicrosoftEdge\User\Default\Recovery\Active\
Edge stores history records, Cookies, HTTP POST request header packets and downloads in:
\Users\user_name\AppData\Local\Microsoft\Windows\WebCache\WebCac heV01.dat
If the last browsing session was opened in InPrivate mode then the browser stores these records in:
\Users\user_name\AppData\Local\Packages\Microsoft.MicrosoftEdge_xxxx
\AC\MicrosoftEdge\User\Default\Recovery\Active{browsing-session- ID}.dat
DevCon Tool
Device Console , is a command-line tool that displays detailed information about devices on computers running Windows operating system. DevCon can be used to enable, disable, install, configure, and remove devices. It also performs device management functions on local computers and remote computers.
What can you do with Slack Space?
Hide Data
Virtual Memory
Virtual (or logical) memory is a concept that, when implemented by a computer and its OS, allows programmers to use a large range of memory addresses for stored data.
Virtual memory can be scanned to find out the hidden running processes.
Use X-Ways Forensics tool to scan virtual memory.
What is X-Ways Forensic Tool Used for?
Use X-Ways Forensics tool to scan virtual memory.
What is the DRIVESPY Tool used for?
Finding Drive Slack Space
Swap Space
Linux operating system allocates a certain amount of storage space on a hard disk called Swap Space. OS uses as the virtual memory extension of a computer’s real memory (RAM).
Hibernate Files/aka sleep modes. What ar ethe two types of sleep modes
Sleep Mode
Hibernate mode
Hibernate Mode
completely writes the memory as a hiberfil.sys file in HDD. the hiberfil.sys file is a crucial source of evidence, as it consists of the crucial information of all programs, applications, files, and processes that were running on the RAM at a given time.
Where can you see if hibernate mode was enabled?
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power
Sleep Mode
keeps the system running in a low power state so that the user can quickly resume where he/she has paused working.
Where is the pagefile.sys file?
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
What is the pagefile.sys?
a hidden file on the Windows operating system, which is used as virtual memory to expand the physical memory of a system. To increase the RAM performance, the system moves the least used “pages” of memory into pagefile.sys file to free the RAM space and pools in the running applications.
Windows Search Index
supports indexing for over 200 common file types by maintaining a record of all the documents. It also allows the users to quickly access any document such as messages, calendar events, contacts, and media files.
Partition Logic
Partition Logic is a hard disk partitioning and data management tool. It can create, delete, erase, format, defragment, resize, copy, and move partitions and modify their attributes. It can copy entire hard disks from one to another.
Partition Find & Mount
Partition Find & Mount implements a new concept of deleted or lost partition recovery. It locates and mounts partitions into the system, thus making those lost partitions available. It will also work in case any Boot Record (including the Master Boot Record) is missing, damaged or overwritten.
Web Browser Cache
The web browser cache allows users to cache the contents of web pages locally, in order to speed future access to regularly visited sites. This can be done because, the downloaded content remains on the hard drive until deleted. However, the data remains in the unallocated space of the hard drive even after deleting the cache.
ChromwCacheView
ChromeCacheView is a small utility that reads the cache folder of Google Chrome Web browser, and displays the list of all the files that are currently stored in the cache. For each cache file, the following information is displayed: URL, Content type, File size, Last accessed time, Expiration time, Server name, Server response, etc.
Cookies
Cookies are small packages of data made to track, validate, and maintain specific user information. Cookies may have an expiration date, after which the browser deletes it. The system can also delete the cookies without the need of an expiration date at the end of a user session. The users may also delete cookie data directly from the browser.
Temp Files
Programs and processes create temporary files when they cannot allocate enough memory for the tasks or when the program is working on a large set of data. In general, when a program terminates, the system deletes these temp files. However, some programs create temp files and leave them behind. These files contain information about all the system processes which can be useful to gather evidences in any forensic investigation
Windows Thumbnail caches
Thumbcache Viewer
Thumbcache Viewer allows you to extract thumbnail images from the thumbcache_.db and iconcache_.db database files found on Windows Vista, Windows 7, Windows 8, Windows 8.1, and Windows 10. The program comes with both graphic user interface and command-line interface.
Windows Memory Analysis
Memory of a system refers to the storage space, where the system saves important data required for processing, such as application files, virtual memory, etc. This space contains files and metadata required for functioning of the in-built and external applications. Investigators can analyze this space to find the installed application, recent events, and other related data.
Memory Dump Files
Memory dump or crash dump is a storage space, where the system stores a memory backup, in case of a system failure. aka BSOD
Dumpchk is a tool that can be used
Types of Memory dumps
Automatic
Complete
Kernal- created by default in the %systemroot% folder as a memory dump file whenever a machine has kernel faults.
Small- a 64 KB dump containing the stop code and a list of all the loaded drivers and parameters.
What is important about the EProcess Block Structure?
- PPEB_LDR_DATA (pointer to the loader data) structure that includes pointers or references to DLLs used by the process
- A pointer to the image base address, where the beginning of the executable image file can be found
- A pointer to the process parameters structure, which maintains the DLL path, the path to the executable image, and the command line used to launch the process
What tools can be used to view EProcess info?
Microsoft debug toolset or LiveKD
How do you parse memory?
Lsproc.pl
Lsproc (short for list processes) locates processes but not threads. It takes single argument, the path, and name, to a RAM dump file:
Lspd.pl
Parsing Memory Contents
Lspd.pl is a Perl script that will allow the user to list the details of the process. Like the other tools, lspd.pl is a command-line Perl script that relies on the output of lsproc.pl to obtain its information. Specifically, lspd.pl takes two arguments: the path and name of the dump file and the offset from the lsproc.pl output of the process that the investigators are interested in.
Lspi.pl
Extracting the Process Image
takes the same arguments as lspd.pl and lspm.pl It locates the beginning of the executable image for the process. If the Image Base Address Offset leads to an executable image file, Lspi.pl parses the values
contained in the PE header to locate the pages that make up the rest of the executable image file.
Lspm.pl
Parsing Process Memory
takes the same arguments as lspd.pl (the name and path of the dump file, and the physical offset within the file of the process structure) and extracts the available pages from the dump file, and writes them to a file within the current working directory. To run lspm.pl against the ITPROtv.exe process, use the following command line:
Collecting/Dumping Process Memory
pmdump.exe tool- allows dumping the contents of process memory without stopping the process.
Process Dumper - It dumps the entire process space along with additional metadata and the process environment to the console (STDOUT), so that the output can be redirected to a file or a socket.
Userdump.exe - allows dumping of any process, without attaching a debugger and without terminating the process once the dump has been completed.
Powershell script to get basic details on memory for a process:
Get-Process | Sort-Object WorkingSet64 | Select-Object Name,@{Name=’WorkingSet’;
The Volatility Framework
is a completely open collection of tools, implemented in Python under the GNU General Public License, for the extraction of digital artifacts from volatile memory (RAM) samples. The extraction techniques are performed completely independent of the system being investigated but offers visibility into the runtime state of the system. The framework is intended to introduce people to the techniques and complexities associated with extracting digital artifacts from volatile memory samples and provide a platform for further work into this exciting area of research.
Five Windows Registry Root Folders
HKEY_CLASSES_ROOT - Config info f/which application is used to open what
HKEY_CURRENT_USER - Current logged on user
HKEY_LOCAL_MACHINE - System Config Info
HKEY_USERS - All active loaded user profiles
HKEY_CURRENT_CONFIG - h/w profile used during startup
HKEY_USERS
HKU
Each registry key under HKU hive relates to a user on the computer, which is named after the user’s security identifier (SID). The registry keys and registry values under each SID control the user specific mapped drives, installed printers, environmental variables and so on.
HKEY_CLASSES_ROOT
HKCR
A subkey of HKEY_LOCAL_MACHINE\Software.
It contains file extension association information and also programmatic identifier (ProgID), Class ID (CLSID), and Interface ID (IID) data. This hive stores the necessary information which makes sure that the correct program opens when the user opens a file through the windows explorer