\
\
Hexadecimal code | File system |
---|---|
01 | DOS 12-bit FAT (floppy disks) |
04 | DOS 12-bit FAT (floppy disks) |
05 | Extended partition |
06 | DOS 16-bit FAT for partitions larger than 32 MB |
07 | NTFS and exFAT |
08 | AIX bootable partition |
09 | AIX data partition |
0B | DOS 32-bit FAT |
0C | DOS 32-bit FAT for interrupt 13 support |
0F | Extended Partition with Logical Block Address (LBA) |
17 | Hidden NTFS partition (XP and earlier) |
1B | Hidden FAT32 partition |
1E | Hidden VFAT partition |
3C | Partition Magic recovery partition |
66–69 | Novell partitions |
81 | Linux |
82 | Linux swap partition (can also be associated with Solaris partitions) |
83 | Linux native file systems (Ext2, Ext3, Ext4, Reiser, Xiafs) |
86 | FAT16 volume/stripe set (Windows NT) |
87 | High Performance File System (HPFS) fault-tolerant mirrored partition or NTFS volume/stripe set |
A5 | FreeBSD and BSD/386 |
A6 | OpenBSD |
A9 | NetBSD |
C7 | Typical of a corrupted NTFS volume/stripe set |
EB | BeOS |
\
File Allocation Table (FAT): The file structure database that Microsoft designed for floppy disks.
FAT12: This version is used specifically for floppy disks, so it has a limited amount of storage space.
FAT16: It supports disk partitions with a maximum storage capacity of 4 GB.
FAT32: When disk technology improved and disks larger than 2 GB were developed, Microsoft released FAT32, which can access larger drives.
exFAT: Developed for mobile personal storage devices, such as flash memory devices, secure digital eXtended capacity (SDCX), and memory sticks.
VFAT: Developed to handle files with more than eight-character filenames and three-character extensions; introduced with Windows 95.
Drive Slack: Composed of the unused space in a cluster between the end of an active file’s content and the end of the cluster.
Unallocated Disk Space: The area of the disk where the deleted file resides.
Filename | System file | Record Position | Description |
---|---|---|---|
$Mft | MFT | 0 | Base file record for each folder on the NTFS volume; other record positions in the MFT are allocated if more space is needed. |
$MftMirr | MFT 2 | 1 | The first four records of the MFT are saved in this position. |
$LogFile | Log file | 2 | Previous transactions are stored here to allow recovery after a system failure in the NTFS volume. |
$Volume | Volume | 3 | Information specific to the volume, such as label and version, is stored here. |
$AttrDef | Attribute definitions | 4 | A table listing attribute names, numbers, and definitions. |
$ | Root filename index | 5 | This is the root folder on the NTFS volume. |
$Bitmap | Boot sector | 6 | A map of the NTFS partition shows which clusters are in use and which are available. |
$Boot | Boot sector | 7 | Used to mount the NTFS volume during the bootstrap process; additional code is listed here if it’s the boot drive for the system. |
$BadClus | Bad cluster file | 8 | For clusters that have unrecoverable errors, an entry of the cluster location is made in this file. |
$Secure | Security file | 9 | Unique security descriptors for the volume are listed in this file. |
$Upcase | Upcase table | 10 | Converts all lowercase characters to uppercase Unicode characters for the NTFS volume. |
$Extend | NTFs extension file | 11 | Optional extensions are listed here, such as quotas, object identifiers, and reparse point data. |
12–15 | Reserved for future use. |
\
\
Attribute ID | Name | Purpose |
---|---|---|
0x10 | $Standard Information | This field contains data on file creation, alterations, MFT changes, read dates and times, and DOS file permissions. |
0x20 | $Attribute_List | Attributes that don’t fit in the MFT (nonresident attributes) are listed here along with their locations. |
0x30 | $File_Name | The long and short names for a file are contained here. Up to 255 Unicode bytes are available for long filenames. |
0x40 | $Object_ID | Ownership and who has access rights to the file or folder are listed here. Every MFT record is assigned a unique GUID. |
0x50 | $Security_Descriptor | Contains the access control list (ACL) for the file. |
0x60 | $Volume_Name | The volume-unique file identifier is listed here. Not all files need this unique identifier. |
0x70 | $Volume_Information | This field indicates the version and state of the volume. |
0x80 | $Data | File data for resident files or data runs for nonresident files. |
0x90 | $Index_Root | Implemented for use of folders and indexes. |
0xA0 | $Index_Allocation | Implemented for use of folders and indexes. |
0xB0 | $Bitmap | A bitmap indicating cluster status, such as which clusters are in use and which are available. |
0xC0 | $Reparse_Point | This field is used for volume mount points and Installable File System (IFS) filter drivers. |
0xD0 | $EA_lnformation | For use with OS/2 HPFS. |
0xE0 | For use with OS/2 HPFS. | |
0x100 | $Logged_Utility_Stream | This field is used by Encrypting File System (EFS) in Windows 2000 and later. |
\
\
Registry: A hierarchical database containing system and user information.
Registry Editor: A Windows utility for viewing and modifying data in the Registry.
HKEY: Windows splits the Registry into categories with the prefix HKEY_.
Key: Folders in each HKEY. Keys can contain other key folders or values.
Subkey: A key displayed under another key, similar to a subfolder in Windows or File Explorer.
Branch: A key and its contents, including subkeys.
Value: A name and value in a key; it’s similar to a file and its data content.
Default value: All keys have a default value that may or may not contain data.
Hives: These are specific branches in HKEY_USER
and HKEY_LOCAL_MACHINE
.
</p>
Filename and location | Purpose of file |
---|---|
Users\user-account\Ntuser.dat | User-protected storage area; contains the list of most recently used files and desktop configuration settings |
Windows\system32\config\Default.dat | Contains the computer’s system settings |
Windows\system32\config\SAM.dat | Contains user account management and security settings |
Windows\system32\config\Security.dat | Contains the computer’s security settings |
Windows\system32\config\Software.dat | Contains installed programs’ settings and associated usernames and passwords. |
Windows\system32\config\System.dat | Contains additional computer system settings |
Windows\system32\config\systemprofile | Contains additional NTUSER information |
HKEY | Function |
---|---|
HKEY_CLASSES_ROOT | A symbolic link to HKEY_LOCAL_MACHINE\SOFTWARE\Classes ; provides file type and file extension information, URL protocol prefixes, and so forth. |
HKEY_CURRENT_USER | A symbolic link to HKEY_USERS; stores settings for the currently logged-on user. |
HKEY_LOCAL_MACHINE | Contains information about installed hardware and software. |
HKEY_USERS | Stores information for the currently logged-on user; only one key in this HKEY is linked to HKEYCURRENTUSER. |
HKEY_CURRENT_CONFIG | A symbolic link to HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Hardware ProfileVxxxx (with xxxx representing the current hardware profile); contains hardware configuration settings |
HKEY_DYN_DATA | Used only in Windows 9x/Me systems; stores hardware configuration settings. |
\
\Boot\Bcd
folder is maintained to control the boot process.Boot.ini
file, which displays a boot menu.Ntoskrnl.exe
and reads Bootvid.dll
, Hal.dll
, and startup device drivers.Boot.ini
specifies the Windows XP path installation and contains options for selecting the Windows version.BootSect.dos
(a hidden file), which contains the address of each OS.NTDetect.com
, a 16-bit real-mode program that queries the system for device and configuration data, and then passes its findings to Ntldr.NTBootdd.sys
: The device driver that allows the OS to communicate with SCSI or ATA drives that aren’t related to the BIOS.Ntoskrnl.exe
: The Windows XP OS kernel, located in the systemroot\Windows\ System32
folder.Hal.dll
: The Hardware Abstraction Layer (HAL) dynamic link library, located in the systemroot\Windows\System32
folder.Pagefile.sys
file to optimize the amount of physical RAM available.systemroot\Windows\System32\ Drivers
folder.Filename | Description |
---|---|
Ntoskrnl.exe | The XP executable and kernel. |
Ntkrnlpa.exe | The physical address support program for accessing more than 4 GB of physical RAM. |
Hal.dll | The Hardware Abstraction Layer |
Win32k.sys | The kernel-mode portion of the Win32 subsystem. |
Ntdll.dll | System service dispatch stubs to executable functions and internal support functions. |
Kernel32.dll | Core Win32 subsystem DLL file |
Advapi32.dll | Core Win32 subsystem DLL file |
User32.dll | Core Win32 subsystem DLL file |
Gdi32.dll | Core Win32 subsystem DLL file |
As an investigator, you might need a virtual server to view legacy systems, and you might need to forensically examine suspects’ virtual machines.
Virtual machines enable you to run another OS on an existing physical computer by emulating a computer’s hardware environment.
A virtual machine consists of several files. The two main files are:
Another reason for using a virtual machine in an investigation is to emulate actions taken by a suspect or even by malware.
Several forensics analysis tools can convert a forensic image to an ISO image or a virtual hard disk (VHD) file, which enables you to run a suspect’s computer in a virtual environment.
A virtual machine acts like any other computer but with a twist: It performs all the tasks the OS running on the physical computer can, do up to a certain point.
The virtual machine recognizes the hardware components of the host computer it’s loaded on.
The guest OS is limited by the host computer’s OS, which might block certain operations.
In digital forensics, virtual machines make it possible to restore a suspect drive on a virtual machine and run nonstandard software the suspect might have loaded, for example.
\n