Difference between pages "Category:Digital Forensics XML" and "Windows"

From Forensics Wiki
(Difference between pages)
Jump to: navigation, search
(Note non-draft status)
 
(Introduced in Windows 8)
 
Line 1: Line 1:
''Digital Forensics XML'' (DFXML) is the effort to create an XML schema to allow for easy interoperability between different forensic tools.
+
{{Expand}}
  
There is a [https://github.com/dfxml-working-group/dfxml_schema Digital Forensics XML standard schema] that lets one validate a DFXML document with the xmllint utility.
+
'''Windows''' is a widely-spread [[operating system]] from [[Microsoft]].
  
Development on DFXML to date has involved creating a set of tools that can produce or ingest XML with a common set of tags. It would be nice to have a more aggressive effort, but to date there has not been sufficient funding.
+
There are 2 main branches of Windows:
 +
* the DOS-branch: i.e. Windows 95, 98, ME
 +
* the NT-branch: i.e. Windows NT 4, XP, Vista
  
Given this state of affairs, our current strategy is to:
+
== Features ==
 +
* Basic and Dynamic Disks, see: [http://msdn.microsoft.com/en-us/library/windows/desktop/aa363785(v=vs.85).aspx]
  
* Develop a set of standardized tags and data representations for current XML tools.
+
=== Introduced in Windows NT ===
* Modify our tools to produce XML similar to the sample XML.
+
* [[NTFS]]
* Develop a DTD and schema to allow XML validation.
+
  
==Tools==
+
=== Introduced in Windows 2000 ===  
  
===Tools that produce DFXML===
+
=== Introduced in Windows XP ===
If you want to work with DFXML, you may wish to start with the [https://github.com/simsong/dfxml DFXML package on github].
+
* [[Prefetch]]
 +
* System Restore (Restore Points); also present in Windows ME
  
The following tools are known to produce DFXML:
+
==== SP2 ====
* The [[fiwalk]] C++ program produces DFXML for files from disk images using SleuthKit.
+
* Windows Firewall
* [[frag_find]], the hash-based carver, uses DFXML to document where files physically reside in the disk image.
+
* [[photorec]], the popular carver, uses DFXML to document its configuration and where files physically reside in the disk image.
+
* [[bulk_extractor]] uses DFXML to report the configuration of each run and the provenance of the input files.
+
* [[afxml]], part of AFFLIB, converts metadata for disk images into DFXML format.
+
* [[libewf | ewfinfo]], part of libewf, can output metadata for EWF disk images in DFXML format.
+
* [[md5deep]], [[sha1deep]], [[hashdeep]], and the other programs in the md5deep package produce DFXML hash files when provided with the '''-d''' option. .
+
  
The following tools are known to consume DFXML:
+
=== Introduced in Windows Server 2003 ===
 +
* Volume Shadow Copies
  
* [https://github.com/simsong/dfxml dfxml.py and libdfxml], currently available for download on github.
+
=== Introduced in [[Windows Vista]] ===
 +
* [[BitLocker Disk Encryption | BitLocker]]
 +
* [[Windows Desktop Search | Search]] integrated in operating system
 +
* [[ReadyBoost]]
 +
* [[SuperFetch]]
 +
* [[NTFS|Transactional NTFS (TxF)]]
 +
* [[Windows NT Registry File (REGF)|Transactional Registry (TxR)]]
 +
* [[Windows Shadow Volumes|Shadow Volumes]]; the volume-based storage of the Volume Shadow Copy data
 +
* $Recycle.Bin
 +
* [[Windows XML Event Log (EVTX)]]
 +
* [[User Account Control (UAC)]]
  
===Tools that consume DFXML===
+
=== Introduced in Windows Server 2008 ===
* [[frag_find]], the hash-based carver, will be able to read piecewise hash files in DFXML format.
+
* iblkfind.py, part of the [[fiwalk]] distribution, will report the file associated with any disk sector.
+
* identify_filenames.py, part of the [[bulk_extractor]] distribution, will take a bulk_extractor feature file and annotate it with the names of the files from which each feature was extracted.
+
* idifference.py, part of the [[fiwalk]] distribution, will report the difference between two disk images.
+
* imap.py, part of the [[fiwalk]] distribution, will draw a map of what's on a disk. Only useful for small partitions.
+
* imicrosoft_redact.py, part of the [[fiwalk]] distribution, will break the Microsoft binaries in a disk image.
+
* iverify.py, part of the [[fiwalk]] distribution, will verify that the contents of files in a DFXML file haven't been changed.
+
* The [https://github.com/anarchivist/dfxml dfxml gem for Ruby], mostly used to process [[fiwalk]] output
+
* [https://github.com/anarchivist/gumshoe Gumshoe], a Ruby/Solr-based search interface for metadata extracted from disk images
+
  
===Tools that transform DFXML===
+
=== Introduced in [[Windows 7]] ===
* sanitize_xml.py, part of the fiwalk distribution, will remove personally-identifiable information in filenames and directory names from a DFXML file.
+
* [[BitLocker Disk Encryption | BitLocker To Go]]
 +
* [[Jump Lists]]
 +
* [[Sticky Notes]]
  
 +
=== Introduced in [[Windows 8]] ===
 +
* [[Windows File History | File History]]
 +
* [[Windows Storage Spaces | Storage Spaces]]
 +
* [[Search Charm History]]
 +
* [[Resilient File System (ReFS)]]; Was initially available in the Windows 8 server edition.
  
===DFXML Toolkit===
+
=== Introduced in Windows Server 2012 ===
The following toolkits are useful for building new tools that read and write DFXML:
+
* [[Resilient File System (ReFS)]]
* The dfxml.py Python module implements objects for reading and writing DFXML.
+
* The xml.cpp and xml.h files that are included in the bulk_extractor and md5deep (version 4) source code are a good C++ implementation for DFXML generation.
+
* The xml.c and xml.h files that are included in the photorec (new version) source code are a good C implementation for DFXML generation.
+
  
This toolkit is now available as a git project on github at https://github.com/simsong/dfxml
+
== Forensics ==
  
===XML Forensics Tools and Toolkits===
+
=== Partition layout ===
* We are creating a DFXML strategy for distributing hash sets.
+
Default partition layout, first partition starts:
 +
* at sector 63 in Windows 2000, XP, 2003
 +
* at sector 2048 in Windows Vista, 2008, 7
  
==DFXML Bibliography==
+
=== Filesystems ===
===Papers===
+
* [[FAT]], [[FAT|exFAT]]
#Garfinkel, S. [http://simson.net/clips/academic/2012.DI.dfxml.pdf Digital Forensics XML and the DFXML toolset], Digital Investigation, 2012.
+
* [[NTFS]]
#Garfinkel, Simson., [http://simson.net/clips/academic/2009.SADFE.xml_forensics.pdf Automating Disk Forensic Processing with SleuthKit, XML and Python], Systematic Approaches to Digital Forensics Engineering (IEEE/SADFE 2009), Oakland, California. (Acceptance rate: 32%, 7/22)
+
* [[Resilient File System (ReFS) | ReFS]]
===Presentations===
+
# [http://simson.net/ref/2011/2011-12-07%20DFXML.pdf Digital Forensic Tool Integration], Simson Garfinkel, December 7, 2011
+
  
==See Also==
+
=== Recycle Bin ===
* [[fiwalk]]
+
 
* [http://www.cgsecurity.org/wiki/Data_Carving_Log XML Log Sample for photorec]
+
==== RECYCLER ====
* [http://mark0.net/soft-tridscan-e.html TrIDScan], which has an XML language to describe file types.
+
Used by Windows 2000, XP.
* [https://github.com/simsong/dfxml DFXML toolkit on Github]
+
Uses INFO2 file.
[[Category:Top-Level]]
+
 
 +
See: [http://www.cybersecurityinstitute.biz/downloads/INFO2.pdf]
 +
 
 +
==== $RECYCLE.BIN ====
 +
Used by Windows Vista.
 +
Uses $I and $R files.
 +
 
 +
See: [http://www.forensicfocus.com/downloads/forensic-analysis-vista-recycle-bin.pdf]
 +
 
 +
=== Registry ===
 +
 
 +
The [[Windows Registry]] is a database of keys and values that provides a wealth of information to forensic [[investigator]]s.
 +
 
 +
=== Thumbs.db Files ===
 +
 
 +
[[Thumbs.db]] files can be found on many Windows systems. They contain thumbnails of images or documents and can be of great value for the [[investigator]].
 +
 
 +
See also: [[Vista thumbcache]].
 +
 
 +
=== Browser Cache ===
 +
 
 +
=== Browser History ===
 +
 
 +
The [[Web Browser History]] files can contain significant information. The default [[Web browser|web browser]] that comes with Windows is [[Internet Explorer|Microsoft Internet Explorer]] but other common browsers on Windows are [[Apple Safari]], [[Google Chrome]], [[Mozilla Firefox]] and [[Opera]].
 +
 
 +
=== Search ===
 +
See [[Windows Desktop Search]]
 +
 
 +
=== Setup log files (setupapi.log) ===
 +
Windows Vista introduced several setup log files [http://support.microsoft.com/kb/927521].
 +
 
 +
=== Sleep/Hibernation ===
 +
 
 +
After (at least) Windows 7 recovers from sleep/hibernation there often is a system time change event (event id 1) in the event logs.
 +
 
 +
=== Users ===
 +
Windows stores a users Security identifiers (SIDs) under the following registry key:
 +
<pre>
 +
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
 +
</pre>
 +
 
 +
The %SID%\ProfileImagePath value should also contain the username.
 +
 
 +
=== Windows Error Reporting (WER) ===
 +
 
 +
As of Vista, for User Access Control (UAC) elevated applications WER reports can be found in:
 +
<pre>
 +
C:\ProgramData\Microsoft\Windows\WER\
 +
</pre>
 +
 
 +
As of Vista, for non-UAC elevated applications (LUA) WER reports can be found in:
 +
<pre>
 +
C:\Users\%UserName%\AppData\Local\Microsoft\Windows\WER\
 +
</pre>
 +
 
 +
Corresponding registry key:
 +
<pre>
 +
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting
 +
</pre>
 +
 
 +
== Advanced Format (4KB Sector) Hard Drives ==
 +
Windows XP does not natively handle drives that use the new standard of 4KB sectors. For information on this, see [[Advanced Format]].
 +
 
 +
== %SystemRoot% ==
 +
The actual value of %SystemRoot% is store in the following registry value:
 +
<pre>
 +
Key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\
 +
Value: SystemRoot
 +
</pre>
 +
 
 +
== See Also ==
 +
* [[Windows Event Log (EVT)]]
 +
* [[Windows XML Event Log (EVTX)]]
 +
* [[Windows Vista]]
 +
* [[Windows 7]]
 +
* [[Windows 8]]
 +
 
 +
== External Links ==
 +
 
 +
* [http://en.wikipedia.org/wiki/Microsoft_Windows Wikipedia: Microsoft Windows]
 +
* [http://support.microsoft.com/kb/927521 Windows 7, Windows Server 2008 R2, and Windows Vista setup log file locations]
 +
* [http://www.forensicfocus.com/downloads/forensic-analysis-vista-recycle-bin.pdf The Forensic Analysis of the Microsoft Windows Vista Recycle Bin], by [[Mitchell Machor]], 2008
 +
* [http://www.ericjhuber.com/2013/02/microsoft-file-system-tunneling.html?m=1 Microsoft Windows File System Tunneling], by [[Eric Huber]], February 24, 2013
 +
* [http://www.nsa.gov/ia/_files/app/Spotting_the_Adversary_with_Windows_Event_Log_Monitoring.pdf Spotting the Adversary with Windows Event Log Monitoring], by National Security Agency/Central Security Service, February 28, 2013
 +
 
 +
=== Malware/Rootkits ===
 +
* [http://forensicmethods.com/inside-windows-rootkits Inside Windows Rootkits], by [[Chad Tilbury]], September 4, 2013
 +
 
 +
=== Tracking removable media ===
 +
* [http://www.swiftforensics.com/2012/08/tracking-usb-first-insertion-in-event.html Tracking USB First insertion in Event logs], by Yogesh Khatri, August 18, 2012
 +
 
 +
=== Under the hood ===
 +
* [http://msdn.microsoft.com/en-us/library/windows/desktop/aa366533(v=vs.85).aspx MSDN: Comparing Memory Allocation Methods], by [[Microsoft]]
 +
* [http://blogs.msdn.com/b/ntdebugging/archive/2007/06/28/how-windows-starts-up-part-the-second.aspx How Windows Starts Up (Part the second)]
 +
* [http://msdn.microsoft.com/en-us/library/aa375142.aspx DLL/COM Redirection]
 +
* [http://msdn.microsoft.com/en-us/library/windows/desktop/ms682586(v=vs.85).aspx Dynamic-Link Library Search Order]
 +
* [http://blogs.msdn.com/b/junfeng/archive/2004/04/28/121871.aspx Image File Execution Options]
 +
 
 +
==== MSI ====
 +
* [http://blogs.msdn.com/b/heaths/archive/2009/02/02/changes-to-package-caching-in-windows-installer-5-0.aspx?Redirected=true Changes to Package Caching in Windows Installer 5.0], by Heath Stewart, February 2, 2009
 +
* [http://blog.didierstevens.com/2013/07/26/msi-the-case-of-the-invalid-signature/ MSI: The Case Of The Invalid Signature], by Didier Stevens, July 26, 2013
 +
 
 +
==== Side-by-side (WinSxS) ====
 +
* [http://en.wikipedia.org/wiki/Side-by-side_assembly Wikipedia: Side-by-side assembly]
 +
* [http://msdn.microsoft.com/en-us/library/aa374224.aspx Assembly Searching Sequence]
 +
* [http://blogs.msdn.com/b/junfeng/archive/2007/06/26/rt-manifest-resource-and-isolation-aware-enabled.aspx RT_MANIFEST resource, and ISOLATION_AWARE_ENABLED]
 +
* [http://msdn.microsoft.com/en-us/library/windows/desktop/dd408052(v=vs.85).aspx Isolated Applications and Side-by-side Assemblies]
 +
* [http://blogs.msdn.com/b/junfeng/archive/2006/01/24/517221.aspx#531208 DotLocal (.local) Dll Redirection], by [[Junfeng Zhang]], January 24, 2006
 +
* [http://blogs.msdn.com/b/junfeng/archive/2006/04/14/576314.aspx Diagnosing SideBySide failures], by [[Junfeng Zhang]], April 14, 2006
 +
* [http://omnicognate.wordpress.com/2009/10/05/winsxs/ EVERYTHING YOU NEVER WANTED TO KNOW ABOUT WINSXS]
 +
 
 +
==== Application Compatibility Database ====
 +
* [http://technet.microsoft.com/en-us/library/dd837644(v=ws.10).aspx Technet: Understanding Shims], by [[Microsoft]]
 +
* [http://msdn.microsoft.com/en-us/library/bb432182(v=vs.85).aspx MSDN: Application Compatibility Database], by [[Microsoft]]
 +
* [http://www.alex-ionescu.com/?p=39 Secrets of the Application Compatilibity Database (SDB) – Part 1], by [[Alex Ionescu]], May 20, 2007
 +
* [http://www.alex-ionescu.com/?p=40 Secrets of the Application Compatilibity Database (SDB) – Part 2], by [[Alex Ionescu]], May 21, 2007
 +
* [http://fred.mandiant.com/Whitepaper_ShimCacheParser.pdf Leveraging the Application Compatibility Cache in Forensic Investigations], by [[Andrew Davis]], May 4, 2012
 +
 
 +
==== System Restore (Restore Points) ====
 +
* [http://en.wikipedia.org/wiki/System_Restore Wikipedia: System Restore]
 +
* [http://www.stevebunting.org/udpd4n6/forensics/restorepoints.htm Restore Point Forensics], by [[Steve Bunting]]
 +
* [http://windowsir.blogspot.ch/2007/06/restore-point-analysis.html Restore Point Analysis], by [[Harlan Carvey]],  June 16, 2007
 +
* [http://windowsir.blogspot.ch/2006/10/restore-point-forensics.html Restore Point Forensics], by [[Harlan Carvey]], October 20, 2006
 +
* [http://www.ediscovery.co.nz/wip/srp.html System Restore Point Log Decoding]
 +
 
 +
==== Crash dumps ====
 +
* [http://blogs.technet.com/b/yongrhee/archive/2010/12/29/drwtsn32-on-windows-vista-windows-server-2008-windows-7-windows-server-2008-r2.aspx Technet: Drwtsn32 on Windows Vista/Windows Server 2008/Windows 7/Windows Server 2008 R2], by Yong Rhee, December 29, 2010
 +
* [http://support.microsoft.com/kb/315263 MSDN: How to read the small memory dump file that is created by Windows if a crash occurs], by [[Microsoft]]
 +
 
 +
==== RPC ====
 +
* [http://blogs.technet.com/b/networking/archive/2008/10/24/rpc-to-go-v-1.aspx RPC to Go v.1], by Michael Platts, October 24, 2008
 +
* [http://blogs.technet.com/b/networking/archive/2008/12/04/rpc-to-go-v-2.aspx RPC to Go v.2], by Michael Platts, December 4, 2008
 +
 
 +
==== WMI ====
 +
* [http://www.trendmicro.com/cloud-content/us/pdfs/security-intelligence/white-papers/wp__understanding-wmi-malware.pdf Understanding WMI Malware], by Julius Dizon, Lennard Galang, and Marvin Cruz, July 2010
 +
 
 +
==== Windows Error Reporting (WER) ====
 +
* [http://blogs.technet.com/b/yongrhee/archive/2010/12/29/drwtsn32-on-windows-vista-windows-server-2008-windows-7-windows-server-2008-r2.aspx Drwtsn32 on Windows Vista/Windows Server 2008/Windows 7/Windows Server 2008 R2], by Yong Rhee, December 29, 2010
 +
 
 +
==== Windows Firewall ====
 +
* [http://en.wikipedia.org/wiki/Windows_Firewall Wikipedia: Windows Firewall]
 +
* [http://technet.microsoft.com/en-us/library/cc737845(v=ws.10).aspx#BKMK_log Windows Firewall Tools and Settings]
 +
 
 +
==== Windows 32-bit on Windows 64-bit (WoW64) ====
 +
* [http://en.wikipedia.org/wiki/WoW64 Wikipedia: WoW64]
 +
 
 +
=== Windows XP ===
 +
* [http://support.microsoft.com/kb/q308549 Description of Windows XP System Information (Msinfo32.exe) Tool]
 +
 
 +
[[Category:Operating systems]]

Revision as of 14:14, 25 November 2013

Information icon.png

Please help to improve this article by expanding it.
Further information might be found on the discussion page.

Windows is a widely-spread operating system from Microsoft.

There are 2 main branches of Windows:

  • the DOS-branch: i.e. Windows 95, 98, ME
  • the NT-branch: i.e. Windows NT 4, XP, Vista

Contents

Features

  • Basic and Dynamic Disks, see: [1]

Introduced in Windows NT

Introduced in Windows 2000

Introduced in Windows XP

  • Prefetch
  • System Restore (Restore Points); also present in Windows ME

SP2

  • Windows Firewall

Introduced in Windows Server 2003

  • Volume Shadow Copies

Introduced in Windows Vista

Introduced in Windows Server 2008

Introduced in Windows 7

Introduced in Windows 8

Introduced in Windows Server 2012

Forensics

Partition layout

Default partition layout, first partition starts:

  • at sector 63 in Windows 2000, XP, 2003
  • at sector 2048 in Windows Vista, 2008, 7

Filesystems

Recycle Bin

RECYCLER

Used by Windows 2000, XP. Uses INFO2 file.

See: [2]

$RECYCLE.BIN

Used by Windows Vista. Uses $I and $R files.

See: [3]

Registry

The Windows Registry is a database of keys and values that provides a wealth of information to forensic investigators.

Thumbs.db Files

Thumbs.db files can be found on many Windows systems. They contain thumbnails of images or documents and can be of great value for the investigator.

See also: Vista thumbcache.

Browser Cache

Browser History

The Web Browser History files can contain significant information. The default web browser that comes with Windows is Microsoft Internet Explorer but other common browsers on Windows are Apple Safari, Google Chrome, Mozilla Firefox and Opera.

Search

See Windows Desktop Search

Setup log files (setupapi.log)

Windows Vista introduced several setup log files [4].

Sleep/Hibernation

After (at least) Windows 7 recovers from sleep/hibernation there often is a system time change event (event id 1) in the event logs.

Users

Windows stores a users Security identifiers (SIDs) under the following registry key:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList

The %SID%\ProfileImagePath value should also contain the username.

Windows Error Reporting (WER)

As of Vista, for User Access Control (UAC) elevated applications WER reports can be found in:

C:\ProgramData\Microsoft\Windows\WER\

As of Vista, for non-UAC elevated applications (LUA) WER reports can be found in:

C:\Users\%UserName%\AppData\Local\Microsoft\Windows\WER\

Corresponding registry key:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting

Advanced Format (4KB Sector) Hard Drives

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

 %SystemRoot%

The actual value of %SystemRoot% is store in the following registry value:

Key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\
Value: SystemRoot

See Also

External Links

Malware/Rootkits

Tracking removable media

Under the hood

MSI

Side-by-side (WinSxS)

Application Compatibility Database

System Restore (Restore Points)

Crash dumps

RPC

WMI

Windows Error Reporting (WER)

Windows Firewall

Windows 32-bit on Windows 64-bit (WoW64)

Windows XP