Difference between pages "Libewf" and "Plaso"

From ForensicsWiki
(Difference between pages)
Jump to: navigation, search
 
(OLE Compound File formats)
 
Line 1: Line 1:
 
{{Infobox_Software |
 
{{Infobox_Software |
   name = libewf |
+
   name = plaso |
   maintainer = [[Joachim Metz]] |
+
   maintainer = [[Kristinn Gudjonsson]], [[Joachim Metz]] |
   os = [[Linux]], [[FreeBSD]], [[NetBSD]], [[OpenBSD]], [[Mac OS X]], [[Windows]] |
+
   os = [[Linux]], [[Mac OS X]], [[Windows]] |
   genre = {{Disk imaging}} |
+
   genre = {{Analysis}} |
   license = {{LGPL}} |
+
   license = {{APL}} |
   website = [http://code.google.com/p/libewf/ code.google.com/p/libewf/] |
+
   website = [https://code.google.com/p/plaso/ code.google.com/p/plaso/] |
 
}}
 
}}
  
'''Libewf''' is a library to access the [[Encase image file format|Expert Witness Compression Format (EWF)]].
+
Plaso (plaso langar að safna öllu) is the Python based back-end engine used by tools such as log2timeline for automatic creation of a super timelines. The goal of log2timeline (and thus plaso) is to provide a single tool that can parse various log files and forensic artifacts from computers and related systems, such as network equipment to produce a single correlated timeline. This timeline can then be easily analysed by forensic investigators/analysts, speeding up investigations by correlating the vast amount of information found on an average computer system. Plaso is intended to be applied for creating super timelines but also supports creating [http://blog.kiddaland.net/2013/02/targeted-timelines-part-i.html targeted timelines].
  
== Features ==
+
The Plaso project site also provides [[4n6time]], formerly "l2t_Review", which is a cross-platform forensic tool for timeline creation and review by [[David Nides]].
Read or write supported EWF formats:
+
* [[SMART]] .s01 (EWF-S01)
+
* [[EnCase]] .E01 (EWF-E01) and .Ex01 (EWF2-Ex01)
+
  
Read-only supported EWF formats:
+
== Supported Formats ==
* Logical Evidence File (LEF) .L01 (EWF-L01) and .Lx01 (EWF2-Lx01)
+
  
Other features:
+
=== Storage Media Image File Formats ===
* empty-block compression
+
Storage Medis Image File Format support is provided by [[dfvfs]].
* read/write access using delta (or shadow) files
+
* write resume
+
  
== Tools ==  
+
=== Volume System Formats ===
The '''libewf''' package contains the following tools:
+
Volume System Format support is provided by [[dfvfs]].
* '''ewfacquire''', which writes storage media data from devices and files to EWF files.
+
* '''ewfacquirestream''', which writes data from stdin to EWF files.
+
* '''ewfdebug'''; experimental tool does nothing at the moment.
+
* '''ewfexport''', which exports storage media data in EWF files to (split) RAW format or a specific version of EWF files.
+
* '''ewfinfo''', which shows the metadata in EWF files.
+
* '''ewfmount''', which FUSE mounts EWF files.
+
* '''ewfrecover'''; special variant of ewfexport to create a new set of EWF files from a corrupt set.
+
* '''ewfverify''', which verifies the storage media data in EWF files.
+
  
The '''libewf''' package also contains the following bindings:
+
=== File System Formats ===
* '''ewf.net''', bindings for .Net
+
File System Format support is provided by [[dfvfs]].
* '''pyewf''', bindings for Python contributed by [[David Collett]] in 2008
+
  
=== Contributions ===
+
=== File formats ===
Tools that have been contributed to the project are provided as separate tools on the sourceforge libewf project site. These are:
+
<b>TODO expand this list</b>
* '''mount_ewf.py''', which allows the storage media data in a EWF files to be mounted, contributed by [[David Loveall]] in 2007.
+
* '''libewf-java''', Java (JNA) bindings were contributed by [[Bradley Schatz]] in 2009.
+
* '''delphi imdisk proxy''', Borland Delphi imdisk proxy, as an alternative to mount_ewf.py for Windows, contributed by [[Brendan Berney]] in 2010.
+
* '''jlibewf''', native Java EWF reader contributed by [[Bruce Allen]] in 2010.
+
* '''libewfcs''', native C# EWF reader contributed by [[Bruce Allen]] in 2011.
+
* '''ewfaquirestream-mt''', C++ 11 multi-threaded version of ewfacquirestream contributed by Bernhard Zach in 2013.
+
  
A menu based interface for ewfacquirestream called pyEWF, contributed by [[Dennis Schreiber]], was originally also available on the uitwisselplatform project site. However this is currently no longer maintained and was not moved to the sourceforge project size. The uitwisselplatform no longer exists. The name pyewf was reused for the libewf Python bindings created by [[David Collett]] which is now included in the libewf package.
+
* Apple System Log (ASL)
 +
* Basic Security Module (BSM)
 +
* Bencode files
 +
* [[Google Chrome|Chrome cache files]]
 +
* [[Extensible Storage Engine (ESE) Database File (EDB) format]] using [[libesedb]]
 +
* [[Internet Explorer History File Format]] (also known as MSIE 4 - 9 Cache Files or index.dat) using [[libmsiecf]]
 +
* [[OLE Compound File]] using [[libolecf]]
 +
* [[Property list (plist)|Property list (plist) format]] using [[binplist]]
 +
* SQLite databases
 +
* Syslog
 +
* [[Windows Event Log (EVT)]] using [[libevt]]
 +
* [[Windows NT Registry File (REGF)]] using [[libregf]]
 +
* [[LNK|Windows Shortcut File (LNK) format]] using [[liblnk]]
 +
* [[Windows XML Event Log (EVTX)]] using [[libevtx]]
  
=== Examples ===  
+
=== Bencode file formats ===
 +
* Transmission
 +
* uTorrent
  
Imaging a device on a Unix-based system:
+
=== ESE database file formats ===
<pre>
+
* Internet Explorer WebCache format
ewfacquire /dev/sda
+
</pre>
+
  
Imaging a device on a Windows system:
+
=== OLE Compound File formats ===
<pre>
+
* Document summary information
ewfacquire \\.\PhysicalDrive0
+
* Summary information (top-level only)
</pre>
+
  
Converting a RAW into an EWF image
+
=== Property list (plist) formats ===
<pre>
+
ewfacquire myfile.raw
+
</pre>
+
  
or:
+
=== SQLite database file formats ===
<pre>
+
* Android call logs
ewfacquire -c best -m fixed -t myfile -S 1T -u [-q] myfile.raw
+
* Android SMS
</pre>
+
* Chrome cookies
 +
* Chrome browsing and downloads history
 +
* Firefox browsing and downloads history
 +
* Google Drive
 +
* Launch services quarantine events
 +
* MacKeeper
 +
* Mac OS X document versions
 +
* Skype
 +
* Zeitgeist activity
  
or
+
=== Windows Registry formats ===
 +
<b>TODO expand this list</b>
  
<pre>
+
== History ==
cat split.raw.??? | ewfacquirestream
+
Plaso is a Python-based rewrite of the Perl-based [[log2timeline]] initially created by [[Kristinn Gudjonsson]]. Plaso builds upon the [[SleuthKit]], [[libyal]] and other projects.
cat myfile.??? | ewfacquirestream  -c best -m fixed -t myfile -S 1T
+
  
</pre>
+
== See Also ==
 
+
* [[dfvfs]]
Converting an optical disc (split) RAW into an EWF image (libewf 20110109 or later)
+
* [[log2timeline]]
<pre>
+
ewfacquire -T optical.cue optical.iso
+
</pre>
+
 
+
Converting an EWF into another EWF format or a (split) RAW image
+
<pre>
+
ewfexport image.E01
+
</pre>
+
 
+
Exporting files from a logical image (L01)
+
<pre>
+
ewfexport image.L01
+
</pre>
+
 
+
FUSE mounting an EWF image (libewf 20110828 or later)
+
<pre>
+
ewfmount image.E01 mount_point
+
</pre>
+
 
+
FUSE mounting a logical image (L01) (libewf 20111016 or later)
+
<pre>
+
ewfmount -f files image.L01 mount_point
+
</pre>
+
 
+
Verify an single image with results to the screen
+
<pre>
+
ewfverify image.E01
+
</pre>
+
 
+
From a linux shell, verify a group of images in subdirectories of the current directory creating a simple log file per image.
+
<pre>
+
find . -name \*.E01 -printf '%f %p\n' | xargs printf "ewfverify -l \$(basename -s .E01 %s).ewfverify.out  %s\n" | sh
+
</pre>
+
 
+
or
+
 
+
<pre>
+
find . -name '*.E01' | while read F
+
do
+
  echo ewfverify -l "$(basename -s .E01 $F).ewfverify.out" "$F"
+
done
+
</pre>
+
 
+
== History ==  
+
 
+
Libewf was created by [[Joachim Metz]] in 2006, while working for [http://en.hoffmannbv.nl/ Hoffmann Investigations].
+
 
+
Libewf is a rewrite of earlier work on the EnCase 4 file format by [[Michael Cohen]] part of [[PyFlag]] and the [[:File:ASR Data's Expert Witness Compression Format.pdf|Expert Witness Compression Format]] Specification by [[Andrew Rosen]]. It has been updated to read and write EnCase version 1 to 7 .E01 files, EnCase 5 to 7 .L01 files, EnCase 7 .Ex01 and .Lx01 files and SMART .s01 files. Libewf has initiated an Extended EWF (EWF-X) specifications to bypass limitations on the format imposed by the EnCase .E01 format.
+
 
+
In 2007 [[David Loveall]] contributed mount_ewf.py to the libewf project. This application allows a [[fuse]] based mount of the storage media data in the EWF files to be mounted. Due to repeated issues with Python and the fuse Python-bindings on [[Mac OS X]] part of the functionality of these scripts has been rewritten into '''ewfmount'''.
+
 
+
As of version 20120715 support for EWF version 2 (.Ex01 and .Lx01) was added.
+
  
 
== External Links ==
 
== External Links ==
 
+
* [https://code.google.com/p/plaso/ Project site]
* [https://code.google.com/p/libewf/ Project site]
+
* [https://sites.google.com/a/kiddaland.net/plaso/home Project documentation]
* [https://code.google.com/p/libewf/wiki/Building Building libewf and tools from source]
+
* [http://blog.kiddaland.net/ Project blog]
* [https://code.google.com/p/libewf/wiki/Mounting Mounting a set of EWF file(s)]
+
* [https://sites.google.com/a/kiddaland.net/plaso/usage/4n6time 4n6time]
* [http://libewf.sourceforge.net Old project site]
+

Revision as of 03:32, 3 June 2014

plaso
Maintainer: Kristinn Gudjonsson, Joachim Metz
OS: Linux, Mac OS X, Windows
Genre: Analysis
License: APL
Website: code.google.com/p/plaso/

Plaso (plaso langar að safna öllu) is the Python based back-end engine used by tools such as log2timeline for automatic creation of a super timelines. The goal of log2timeline (and thus plaso) is to provide a single tool that can parse various log files and forensic artifacts from computers and related systems, such as network equipment to produce a single correlated timeline. This timeline can then be easily analysed by forensic investigators/analysts, speeding up investigations by correlating the vast amount of information found on an average computer system. Plaso is intended to be applied for creating super timelines but also supports creating targeted timelines.

The Plaso project site also provides 4n6time, formerly "l2t_Review", which is a cross-platform forensic tool for timeline creation and review by David Nides.

Supported Formats

Storage Media Image File Formats

Storage Medis Image File Format support is provided by dfvfs.

Volume System Formats

Volume System Format support is provided by dfvfs.

File System Formats

File System Format support is provided by dfvfs.

File formats

TODO expand this list

Bencode file formats

  • Transmission
  • uTorrent

ESE database file formats

  • Internet Explorer WebCache format

OLE Compound File formats

  • Document summary information
  • Summary information (top-level only)

Property list (plist) formats

SQLite database file formats

  • Android call logs
  • Android SMS
  • Chrome cookies
  • Chrome browsing and downloads history
  • Firefox browsing and downloads history
  • Google Drive
  • Launch services quarantine events
  • MacKeeper
  • Mac OS X document versions
  • Skype
  • Zeitgeist activity

Windows Registry formats

TODO expand this list

History

Plaso is a Python-based rewrite of the Perl-based log2timeline initially created by Kristinn Gudjonsson. Plaso builds upon the SleuthKit, libyal and other projects.

See Also

External Links