Difference between pages "Tools:File Analysis" and "Shell Item"

From ForensicsWiki
(Difference between pages)
Jump to: navigation, search
(Added File Sharing category and P2PMarshal link)
 
 
Line 1: Line 1:
= Open Source Tools =
+
The Windows Shell uses Shell Items (or Shell Item list) to identify items within the Windows Folder Hierarchy. A
 +
Shell Item 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.
  
; [[file]]
+
The Shell Item is used in [[LNK | Windows Shortcut (LNK)]] file and the ShellBags key in the [[Windows Registry]].
: The file command determines the file type of a given file, depending on its contents and not on e.g. its extension or filename. In order to do that, it uses a magic configuration file that identifies filetypes.
+
  
; [[ldd]]
+
== Format ==
: ...
+
  
; [[ltrace]]
+
The basic format is a list, consisting of a (shell item) entry size value (field) and entry data.
: ...
+
  
; [[strace]]
+
There are multiple types of entries to specify different parts of the "path":
: ...
+
* volume
 +
* network share
 +
* file and directory
 +
* URI
  
; [[strings]]
+
Some shell item entries contain date and time values which can be used in [[Timeline Analysis]].
: Strings will print the strings of printable characters in files. It allows choosing different charactersets (ASCII, UNICODE). It is a quick way to browse through files/partitions/... in order to look for words, filenames, keywords etc.
+
  
; [[Galleta]]
+
== Example ==
: Parses cookie files. http://www.foundstone.com/resources/proddesc/galleta.htm
+
An example of a shell item list taken from '''Calculator.lnk'''
  
; The [[Open Computer Forensics Architecture]]
+
<pre>
: http://ocfa.sourceforge.net/
+
shell item type                    : 0x1f
 +
shell item flags                    : 0x50
 +
shell item folder identifier        : 20d04fe0-3aea-1069-a2d8-08002b30309d
 +
shell item folder name              : My Computer
  
; [[Pasco]]
+
shell item type                    : 0x2f
; Parses '''index.dat'' files. http://www.foundstone.com/resources/proddesc/pasco.htm
+
shell item volume name              : C:\
  
; [[Rifiuti]]
+
shell item type                    : 0x31
; Examines the INFO2 file in the Recycle Bin     http://www.foundstone.com/resources/proddesc/rifiuti.htm
+
shell item flags                    : 0x00
 +
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)
  
; [[yim2text]]
+
shell item short name              : WINDOWS
; Extracts the 'encrypted' info in yahoo instant messenger log files. http://www.1vs0.com/tools.html
+
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
  
; [[Hachoir]]
+
shell item type                    : 0x31
: determines the file type using file header/footer (hachoir-metadata --type), able to list strings in Unicode (hachoir-grep), etc. Support more than 60 file formats.
+
shell item flags                    : 0x00
 +
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)
  
; [[Cygwin]]
+
shell item short name              : system32
: http://www.cygwin.com/
+
shell item extension size          : 40
: Linux like environment for Windows
+
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
  
; [[UnxUtils]]
+
shell item type                    : 0x32
: http://unxutils.sourceforge.net/
+
shell item flags                    : 0x00
: Common unix utilities compiled for a Windows environment.
+
shell item file size                : 115712
 +
shell item modification time        : Mar 25, 2003 12:00:00 UTC
 +
shell item file attribute flags    : 0x0020
 +
        Should be archived (FILE_ATTRIBUTE_ARCHIVE)
  
= File Sharing Analysis Tools =
+
shell item short name              : calc.exe
; [[P2PMarshal|P2P Marshal]]
+
shell item extension size          : 40
: Tools to discover and analyze peer-to-peer files for Windows.
+
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>
  
= [[NDA]] and [[scoped distribution]] tools =
+
== External Links ==
 +
 
 +
* [http://downloads.sourceforge.net/project/liblnk/Documentation/Windows%20Shell%20Item%20format/Windows%20Shell%20Item%20format.pdf Windows Shell Item format (work in progress)]
 +
 
 +
[[Category:Data Formats]]

Revision as of 03:14, 12 January 2011

The Windows Shell uses Shell Items (or Shell Item list) to identify items within the Windows Folder Hierarchy. A Shell Item 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 Windows Shortcut (LNK) file and the ShellBags key in the Windows Registry.

Format

The basic format is a list, consisting of a (shell item) entry size value (field) and entry data.

There are multiple types of entries to specify different parts of the "path":

  • volume
  • network share
  • file and directory
  • URI

Some shell item entries contain date and time values which can be used in Timeline Analysis.

Example

An example of a shell item list taken from Calculator.lnk

shell item type                     : 0x1f
shell item flags                    : 0x50
shell item folder identifier        : 20d04fe0-3aea-1069-a2d8-08002b30309d
shell item folder name              : My Computer

shell item type                     : 0x2f
shell item volume name              : C:\

shell item type                     : 0x31
shell item flags                    : 0x00
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
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
shell item flags                    : 0x00
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
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
shell item flags                    : 0x00
shell item file size                : 115712
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
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

External Links