Difference between pages "Shell Item" and "New Technology File System (NTFS)"

From ForensicsWiki
(Difference between pages)
Jump to: navigation, search
(Example)
 
(Changes in Windows Vista)
 
Line 1: Line 1:
The Windows Shell uses Shell Items (or Shell Item list) to identify items within the Windows Folder Hierarchy. A
+
The '''New Technology File System''' ('''NTFS''') is a [[file system]] developed and introduced by [[Microsoft]] in 1995 with [[Windows]] NT. As a replacement for the [[FAT]] file system, it quickly became the standard for [[Windows 2000]], [[Windows XP]] and [[Windows Server 2003]].
Shell Item list is much like a "path", and is unique to its parent folder. The format of the Shell Item
+
is undocumented and varies between Windows versions.
+
  
The Shell Item is used in [[LNK | Windows Shortcut (LNK)]] file and the ShellBags key in the [[Windows Registry]].
+
The features of NTFS include:
  
== Format ==
+
* [[Hard-links]]
 +
* Improved performance, reliability and disk space utilization
 +
* Security [[access control lists]]
 +
* File system journaling
  
The basic format is a list, consisting of a (shell item) entry size value (field) and entry data.
+
== Time Stamps ==
  
There are multiple types of entries to specify different parts of the "path":
+
NTFS keeps track of lots of time stamps. Each file has a time stamp for 'Create', 'Modify', 'Access', and 'Entry Modified'. The latter refers to the time when the MFT entry itself was modified. These four values are commonly abbreviated as the 'MACE' values. Note that other attributes in each MFT record may also contain timestamps that are of forensic value.
* volume
+
* network share
+
* file and directory
+
* URI
+
  
Some shell item entries contain date and time values which can be used in [[Timeline Analysis]].
+
Additional information on how NTFS timestamps work when files are moved or copied is available here: [http://support.microsoft.com/kb/299648 Microsoft KB 299648]
  
== Example ==
+
=== Changes in Windows Vista  ===
An example of a shell item list taken from '''Calculator.lnk'''
+
In Windows Vista, NTFS no longer tracks the Last Access time of a file by default. This feature can be enabled by setting the NtfsDisableLastAccessUpdate value to '0' in the Registry key:
 +
<pre>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem</pre>
  
<pre>
+
Note that this feature has been around since as early as Windows 2000 [http://technet.microsoft.com/en-us/library/cc959914.aspx].
shell item type                    : 0x1f
+
shell item sort order              : 0x50
+
shell item folder identifier        : 20d04fe0-3aea-1069-a2d8-08002b30309d
+
shell item folder name              : My Computer
+
  
shell item type                    : 0x2f
+
== Alternate Data Streams ==
shell item volume name              : C:\
+
The '''NTFS''' file system includes a feature referred to as Alternate Data Streams (ADSs).  This feature has also been referred to as "multiple data streams", "alternative data streams", etc.  ADSs were included in '''NTFS''' in order to support the resource forks employed by the Hierarchal File System ([[HFS]]) employed by Macintosh systems. 
  
shell item type                    : 0x31
+
As of [[Windows XP]] SP2, files downloaded via Internet Explorer, Outlook, and Windows Messenger were automatically given specific "zoneid" ADSs.  The [[Windows]] Explorer shell would then display a warning when the user attempted to execute these files (by double-clicking them).
shell item file size                : 0
+
shell item modification time        : Dec 31, 2010 13:28:48 UTC
+
shell item file attribute flags    : 0x0010
+
        Is directory (FILE_ATTRIBUTE_DIRECTORY)
+
  
shell item short name              : WINDOWS
+
Sysadmins should be aware that prior to Vista, there are no tools native to the [[Windows]] platform that would allow you to view the existence of arbitrary ADSs.  While ADSs can be created and their contents executed or viewed, it wasn't until the "/r" switch was introduced with the "dir" command on Vista that arbitrary ADSs would be visible.  Prior to this, tools such as [http://www.heysoft.de/Frames/f_sw_la_en.htm LADS] could be used to view the existence of these files.
shell item extension size          : 38
+
shell item extension version        : 3
+
shell item creation time            : Dec 31, 2010 13:26:18 UTC
+
shell item access time              : Dec 31, 2010 13:28:52 UTC
+
shell item long name                : WINDOWS
+
  
shell item type                    : 0x31
+
Microsoft FSRM (File System Resource Manager) also uses ADS as part of 'file classification'.
shell item file size                : 0
+
shell item modification time        : Dec 31, 2010 13:28:38 UTC
+
shell item file attribute flags    : 0x0010
+
        Is directory (FILE_ATTRIBUTE_DIRECTORY)
+
  
shell item short name              : system32
+
Examiners should be aware that most forensic analysis applications, including [[EnCase]] and ProDiscover, will display ADSs found in acquired images in red.
shell item extension size          : 40
+
shell item extension version        : 3
+
shell item creation time            : Dec 31, 2010 13:26:18 UTC
+
shell item access time              : Dec 31, 2010 13:28:38 UTC
+
shell item long name                : system32
+
  
shell item type                    : 0x32
+
== Advanced Format (4KB Sector) Hard Drives ==
shell item file size                : 115712
+
NTFS does not natively handle drives that use the new standard of 4KB sectors. For information on this, see [[Advanced Format]].
shell item modification time        : Mar 25, 2003 12:00:00 UTC
+
shell item file attribute flags    : 0x0020
+
        Should be archived (FILE_ATTRIBUTE_ARCHIVE)
+
  
shell item short name              : calc.exe
+
== Transactional NTFS (TxF) ==
shell item extension size          : 40
+
shell item extension version        : 3
+
shell item creation time            : Dec 31, 2010 13:06:06 UTC
+
shell item access time              : Dec 31, 2010 13:06:06 UTC
+
shell item long name                : calc.exe
+
</pre>
+
  
== See Also ==
+
According to MSDN Transactional NTFS (TxF) allows file operations on an NTFS file system volume to be performed in a transaction.
* [[Jump Lists]]
+
* [[LNK]]
+
  
== External Links ==
+
Several TxF related file-system-metadata files can be found in the file-system-metadata directory: \$Extend\$RmMetadata\. TxF also uses the MFT attribute $LOGGING_UTILITY_STREAM with the name $TXF_DATA.
  
* [http://msdn.microsoft.com/en-us/library/windows/desktop/cc144090(v=vs.85).aspx MSDN: Introduction to the Shell Namespace (Windows)]
+
TxF uses the [[Common Log File System (CLFS)]]
* [http://netez.com/2xExplorer/shellFAQ/bg_shell.html Fundamental Shell Concepts]
+
* [http://mysite.verizon.net/hartsec/files/WRA_Guidance.pdf MiTeC Registry Analyser], by [[Allan Hay|Allan S Hay]], December 2004
+
* [http://computer-forensics.sans.org/blog/2008/10/31/shellbags-registry-forensics/ ShellBags Registry Forensics], by johnmccash, October 2008
+
* [http://42llc.net/?p=385 Shell Bag Format Analysis], by [[Yogesh Khatri]], October 2009 (appears to be no longer available)
+
* [https://googledrive.com/host/0B3fBvzttpiiSajVqblZQT3FYZzg/Windows%20Shell%20Item%20format.pdf Windows Shell Item format], by the [[liblnk|liblnk project]], July 2010 (work in progress)
+
* [http://www.williballenthin.com/forensics/shellbags/index.html Windows shellbag forensics], by [[Willi Ballenthin]]
+
* [http://code.google.com/p/regripper/wiki/ShellBags RegRipper - ShellBags], by [[Harlan Carvey]]
+
* [http://volatility-labs.blogspot.ca/2012/09/movp-32-shellbags-in-memory-setregtime.html MoVP 3.2 Shellbags in Memory, SetRegTime, and TrueCrypt Volumes], [[Jamie Levy]], September 2012
+
* [http://windowsir.blogspot.ch/2012/10/shellbag-analysis-revisitedsome-testing.html Shellbag Analysis, Revisited...Some Testing], by [[Harlan Carvey]], October 2012
+
* [http://tech.groups.yahoo.com/group/win4n6/message/7623 Shellbag research], by [[Sebastien Bourdon-Richard]], October 2012
+
  
[[Category:Data Formats]]
+
== External links ==
 +
* [http://en.wikipedia.org/wiki/NTFS Wikipedia: NTFS]
 +
* [http://msdn.microsoft.com/en-us/library/bb968806%28v=VS.85%29.aspx MSDN on Transactional NTFS]
 +
* [http://en.wikipedia.org/wiki/Transactional_NTFS Wikipedia on Transactional NTFS]
 +
* [http://www.tzworks.net/prototype_page.php?proto_id=12  Windows NTFS Metadata Extractor Utility] Free tool that can be run on Windows, Linux or Mac OS-X
 +
* [http://www.tzworks.net/prototype_page.php?proto_id=28 Graphic Engine for NTFS Analysis (gena)] (GUI to view NTFS internals/extract data on live systems)
 +
* [http://sourceforge.net/projects/linux-ntfs/files/NTFS%20Documentation/ Linux-ntfs Documentation] Detailed documentation of the NTFS format by the Linux-NTFS driver creators.
 +
* [http://support.microsoft.com/kb/140365 Default cluster size for NTFS, FAT, and exFAT]
 +
* [http://code.google.com/p/libfslibs/downloads/detail?name=New%20Technologies%20File%20System%20%28NTFS%29.pdf New Technologies File System (NTFS)], by the [[libfslibs|libfslibs project]], August 2009
 +
 
 +
[[Category:File Systems]]

Revision as of 08:33, 14 September 2013

The New Technology File System (NTFS) is a file system developed and introduced by Microsoft in 1995 with Windows NT. As a replacement for the FAT file system, it quickly became the standard for Windows 2000, Windows XP and Windows Server 2003.

The features of NTFS include:

Time Stamps

NTFS keeps track of lots of time stamps. Each file has a time stamp for 'Create', 'Modify', 'Access', and 'Entry Modified'. The latter refers to the time when the MFT entry itself was modified. These four values are commonly abbreviated as the 'MACE' values. Note that other attributes in each MFT record may also contain timestamps that are of forensic value.

Additional information on how NTFS timestamps work when files are moved or copied is available here: Microsoft KB 299648

Changes in Windows Vista

In Windows Vista, NTFS no longer tracks the Last Access time of a file by default. This feature can be enabled by setting the NtfsDisableLastAccessUpdate value to '0' in the Registry key:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem

Note that this feature has been around since as early as Windows 2000 [1].

Alternate Data Streams

The NTFS file system includes a feature referred to as Alternate Data Streams (ADSs). This feature has also been referred to as "multiple data streams", "alternative data streams", etc. ADSs were included in NTFS in order to support the resource forks employed by the Hierarchal File System (HFS) employed by Macintosh systems.

As of Windows XP SP2, files downloaded via Internet Explorer, Outlook, and Windows Messenger were automatically given specific "zoneid" ADSs. The Windows Explorer shell would then display a warning when the user attempted to execute these files (by double-clicking them).

Sysadmins should be aware that prior to Vista, there are no tools native to the Windows platform that would allow you to view the existence of arbitrary ADSs. While ADSs can be created and their contents executed or viewed, it wasn't until the "/r" switch was introduced with the "dir" command on Vista that arbitrary ADSs would be visible. Prior to this, tools such as LADS could be used to view the existence of these files.

Microsoft FSRM (File System Resource Manager) also uses ADS as part of 'file classification'.

Examiners should be aware that most forensic analysis applications, including EnCase and ProDiscover, will display ADSs found in acquired images in red.

Advanced Format (4KB Sector) Hard Drives

NTFS does not natively handle drives that use the new standard of 4KB sectors. For information on this, see Advanced Format.

Transactional NTFS (TxF)

According to MSDN Transactional NTFS (TxF) allows file operations on an NTFS file system volume to be performed in a transaction.

Several TxF related file-system-metadata files can be found in the file-system-metadata directory: \$Extend\$RmMetadata\. TxF also uses the MFT attribute $LOGGING_UTILITY_STREAM with the name $TXF_DATA.

TxF uses the Common Log File System (CLFS)

External links