Autopsy  4.18.0
Graphical digital forensics platform for The Sleuth Kit and other tools.
Classes | Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule Class Reference

Inherits org.sleuthkit.autopsy.ingest.DataSourceIngestModule.

Classes

class  L2TStatusProcessor
 

Public Member Functions

ProcessResult process (Content dataSource, DataSourceIngestModuleProgress statusHelper)
 
default void shutDown ()
 
void startUp (IngestJobContext context) throws IngestModuleException
 

Private Member Functions

ProcessBuilder buildLog2TimeLineCommand (Path moduleOutputPath, Image image)
 
ProcessBuilder buildPsortCommand (Path moduleOutputPath)
 
void createPlasoArtifacts (String plasoDb, DataSourceIngestModuleProgress statusHelper)
 
TimelineEventType findEventSubtype (String fileName, ResultSet row) throws SQLException
 
AbstractFile getAbstractFile (String file)
 

Static Private Member Functions

static ProcessBuilder buildProcessWithRunAsInvoker (String...commandLine)
 
static File locateExecutable (String executableName) throws FileNotFoundException
 

Private Attributes

IngestJobContext context
 
Case currentCase
 
FileManager fileManager
 
Image image
 
File log2TimeLineExecutable
 
AbstractFile previousFile = null
 
File psortExecutable
 
final PlasoModuleSettings settings
 

Static Private Attributes

static final String COOKIE = "cookie"
 
static final String LOG2TIMELINE_EXECUTABLE = "Log2timeline.exe"
 
static final int LOG2TIMELINE_WORKERS = 2
 
static final Logger logger = Logger.getLogger(PlasoIngestModule.class.getName())
 
static final String MODULE_NAME = PlasoModuleFactory.getModuleName()
 
static final String PLASO = "plaso"
 
static final String PLASO32 = "plaso-20180818-win32"
 
static final String PLASO64 = "plaso-20180818-amd64"
 
static final String PSORT_EXECUTABLE = "psort.exe"
 
static final long TERMINATION_CHECK_INTERVAL = 5
 
static final TimeUnit TERMINATION_CHECK_INTERVAL_UNITS = TimeUnit.SECONDS
 

Detailed Description

Data source ingest module that runs Plaso against the image.

Definition at line 74 of file PlasoIngestModule.java.

Member Function Documentation

ProcessBuilder org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.buildLog2TimeLineCommand ( Path  moduleOutputPath,
Image  image 
)
private
static ProcessBuilder org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.buildProcessWithRunAsInvoker ( String...  commandLine)
staticprivate
ProcessBuilder org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.buildPsortCommand ( Path  moduleOutputPath)
private
void org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.createPlasoArtifacts ( String  plasoDb,
DataSourceIngestModuleProgress  statusHelper 
)
private
TimelineEventType org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.findEventSubtype ( String  fileName,
ResultSet  row 
) throws SQLException
private

Determine the event_type_id of the event from the plaso information.

Parameters
fileNameThe name of the file this event is from.
rowThe row returned from the log2timeline table of th eplaso output.
Returns
the event_type_id of the EventType of the given event.
Exceptions
SQLException

Definition at line 421 of file PlasoIngestModule.java.

Referenced by org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.createPlasoArtifacts().

AbstractFile org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.getAbstractFile ( String  file)
private
static File org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.locateExecutable ( String  executableName) throws FileNotFoundException
staticprivate
ProcessResult org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.process ( Content  dataSource,
DataSourceIngestModuleProgress  progressBar 
)

Processes a data source. Called once between calls to startUp() and shutDown().

Parameters
dataSourceThe data source to process.
progressBarA progress bar to be used to report progress.
Returns
A result code indicating success or failure of the processing.

Implements org.sleuthkit.autopsy.ingest.DataSourceIngestModule.

Definition at line 139 of file PlasoIngestModule.java.

References org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.buildLog2TimeLineCommand(), org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.buildPsortCommand(), org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.L2TStatusProcessor.cancel(), org.sleuthkit.autopsy.ingest.IngestMessage.createMessage(), org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.createPlasoArtifacts(), org.sleuthkit.autopsy.ingest.IngestMessage.MessageType.DATA, org.sleuthkit.autopsy.ingest.IngestJobContext.dataSourceIngestIsCancelled(), org.sleuthkit.autopsy.ingest.IngestModule.ProcessResult.ERROR, org.sleuthkit.autopsy.coreutils.MessageNotifyUtil.Notify.error(), org.sleuthkit.autopsy.coreutils.ExecUtil.execute(), org.sleuthkit.autopsy.casemodule.Case.getCurrentCase(), org.sleuthkit.autopsy.casemodule.services.Services.getFileManager(), org.sleuthkit.autopsy.ingest.IngestServices.getInstance(), org.sleuthkit.autopsy.casemodule.Case.getModuleDirectory(), org.sleuthkit.autopsy.casemodule.Case.getServices(), org.sleuthkit.autopsy.ingest.IngestModule.ProcessResult.OK, org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.PLASO, org.sleuthkit.autopsy.ingest.IngestServices.postMessage(), org.sleuthkit.autopsy.ingest.DataSourceIngestModuleProgress.progress(), org.sleuthkit.autopsy.ingest.DataSourceIngestModuleProgress.switchToDeterminate(), and org.sleuthkit.autopsy.coreutils.ExecUtil.waitForTermination().

default void org.sleuthkit.autopsy.ingest.IngestModule.shutDown ( )
inherited

Invoked by Autopsy when an ingest job is completed (either because the data has been analyzed or because the job was cancelled), before the ingest module instance is discarded. The module should respond by doing things like releasing private resources, submitting final results, and posting a final ingest message.

IMPORTANT: If the module instances must share resources, the modules are responsible for synchronizing access to the shared resources and doing reference counting as required to release those resources correctly. Also, more than one ingest job may be in progress at any given time. This must also be taken into consideration when sharing resources between module instances. See IngestModuleReferenceCounter.

Implemented in org.sleuthkit.autopsy.thunderbirdparser.ThunderbirdMboxFileIngestModule, org.sleuthkit.autopsy.modules.hashdatabase.HashDbIngestModule, org.sleuthkit.autopsy.keywordsearch.KeywordSearchIngestModule, org.sleuthkit.autopsy.modules.filetypeid.FileTypeIdIngestModule, org.sleuthkit.autopsy.modules.fileextmismatch.FileExtMismatchIngestModule, org.sleuthkit.autopsy.modules.embeddedfileextractor.EmbeddedFileExtractorIngestModule, org.sleuthkit.autopsy.modules.yara.YaraIngestModule, and org.sleuthkit.autopsy.ingest.FileIngestModuleAdapter.

Definition at line 86 of file IngestModule.java.

void org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.startUp ( IngestJobContext  context) throws IngestModuleException

Invoked by Autopsy to allow an ingest module instance to set up any internal data structures and acquire any private resources it will need during an ingest job. If the module depends on loading any resources, it should do so in this method so that it can throw an exception in the case of an error and alert the user. Exceptions that are thrown from startUp() are logged and stop processing of the data source.

IMPORTANT: If the module instances must share resources, the modules are responsible for synchronizing access to the shared resources and doing reference counting as required to release those resources correctly. Also, more than one ingest job may be in progress at any given time. This must also be taken into consideration when sharing resources between module instances. See IngestModuleReferenceCounter.

Parameters
contextProvides data and services specific to the ingest job and the ingest pipeline of which the module is a part.
Exceptions
org.sleuthkit.autopsy.ingest.IngestModule.IngestModuleException

Implements org.sleuthkit.autopsy.ingest.IngestModule.

Definition at line 108 of file PlasoIngestModule.java.

References org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.context, org.sleuthkit.autopsy.coreutils.PlatformUtil.isWindowsOS(), and org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.locateExecutable().

Member Data Documentation

IngestJobContext org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.context
private
final String org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.COOKIE = "cookie"
staticprivate

Definition at line 84 of file PlasoIngestModule.java.

Case org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.currentCase
private

Definition at line 94 of file PlasoIngestModule.java.

FileManager org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.fileManager
private

Definition at line 95 of file PlasoIngestModule.java.

Image org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.image
private
final String org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.LOG2TIMELINE_EXECUTABLE = "Log2timeline.exe"
staticprivate

Definition at line 82 of file PlasoIngestModule.java.

final int org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.LOG2TIMELINE_WORKERS = 2
staticprivate

Definition at line 85 of file PlasoIngestModule.java.

File org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.log2TimeLineExecutable
private

Definition at line 89 of file PlasoIngestModule.java.

final Logger org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.logger = Logger.getLogger(PlasoIngestModule.class.getName())
staticprivate

Definition at line 76 of file PlasoIngestModule.java.

final String org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.MODULE_NAME = PlasoModuleFactory.getModuleName()
staticprivate

Definition at line 77 of file PlasoIngestModule.java.

final String org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.PLASO = "plaso"
staticprivate
final String org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.PLASO32 = "plaso-20180818-win32"
staticprivate
final String org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.PLASO64 = "plaso-20180818-amd64"
staticprivate

Definition at line 80 of file PlasoIngestModule.java.

AbstractFile org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.previousFile = null
private
final String org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.PSORT_EXECUTABLE = "psort.exe"
staticprivate

Definition at line 83 of file PlasoIngestModule.java.

File org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.psortExecutable
private

Definition at line 90 of file PlasoIngestModule.java.

final PlasoModuleSettings org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.settings
private

Definition at line 92 of file PlasoIngestModule.java.

final long org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.TERMINATION_CHECK_INTERVAL = 5
staticprivate

Definition at line 86 of file PlasoIngestModule.java.

final TimeUnit org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.TERMINATION_CHECK_INTERVAL_UNITS = TimeUnit.SECONDS
staticprivate

Definition at line 87 of file PlasoIngestModule.java.


The documentation for this class was generated from the following file:

Copyright © 2012-2021 Basis Technology. Generated on: Thu Jul 8 2021
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.