Autopsy
4.19.3
Graphical digital forensics platform for The Sleuth Kit and other tools.
|
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 |
Data source ingest module that runs Plaso against the image.
Definition at line 74 of file PlasoIngestModule.java.
|
private |
Definition at line 222 of file PlasoIngestModule.java.
References org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.buildProcessWithRunAsInvoker().
Referenced by org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.process().
|
staticprivate |
Definition at line 246 of file PlasoIngestModule.java.
Referenced by org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.buildLog2TimeLineCommand(), and org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.buildPsortCommand().
|
private |
Definition at line 256 of file PlasoIngestModule.java.
References org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.buildProcessWithRunAsInvoker().
Referenced by org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.process().
|
private |
Definition at line 288 of file PlasoIngestModule.java.
References org.sleuthkit.autopsy.ingest.IngestJobContext.dataSourceIngestIsCancelled(), org.sleuthkit.autopsy.coreutils.SQLiteDBConnect.executeQry(), org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.findEventSubtype(), org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.getAbstractFile(), org.sleuthkit.autopsy.ingest.IngestJobContext.getJobId(), org.sleuthkit.autopsy.casemodule.Case.getSleuthkitCase(), org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.image, org.sleuthkit.autopsy.coreutils.MessageNotifyUtil.Notify.info(), and org.sleuthkit.autopsy.ingest.DataSourceIngestModuleProgress.progress().
Referenced by org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.process().
|
private |
Determine the event_type_id of the event from the plaso information.
fileName | The name of the file this event is from. |
row | The row returned from the log2timeline table of th eplaso output. |
SQLException |
Definition at line 422 of file PlasoIngestModule.java.
Referenced by org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.createPlasoArtifacts().
|
private |
Definition at line 375 of file PlasoIngestModule.java.
References org.sleuthkit.autopsy.casemodule.services.FileManager.findFiles(), and org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.previousFile.
Referenced by org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.createPlasoArtifacts().
|
staticprivate |
Definition at line 269 of file PlasoIngestModule.java.
References org.sleuthkit.autopsy.coreutils.PlatformUtil.is64BitOS(), and org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.PLASO32.
Referenced by org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.startUp().
ProcessResult org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.process | ( | Content | dataSource, |
DataSourceIngestModuleProgress | progressBar | ||
) |
Processes a data source. Called once between calls to startUp() and shutDown().
IMPORTANT: In addition to returning ProcessResult.OK or ProcessResult.ERROR, modules should log all errors using methods provided by the org.sleuthkit.autopsy.coreutils.Logger class. Log messages should include the name and object ID of the data being processed. If an exception has been caught by the module, the exception should be sent to the Logger along with the log message so that a stack trace will appear in the application log.
dataSource | The data source to process. |
progressBar | A progress bar to be used to report progress. |
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().
|
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.centralrepository.ingestmodule.CentralRepoDataArtifactIngestModule, org.sleuthkit.autopsy.modules.filetypeid.FileTypeIdIngestModule, org.sleuthkit.autopsy.modules.fileextmismatch.FileExtMismatchIngestModule, org.sleuthkit.autopsy.modules.embeddedfileextractor.EmbeddedFileExtractorIngestModule, org.sleuthkit.autopsy.recentactivity.RAImageIngestModule, and org.sleuthkit.autopsy.modules.yara.YaraIngestModule.
Definition at line 91 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.
IMPORTANT: Start up IngestModuleException messages are displayed to the user, if a user is present. Therefore, an exception to the policy that exception messages are not localized is appropriate in this method. Also, the exception messages should be user-friendly.
context | Provides data and services specific to the ingest job and the ingest pipeline of which the module is a part. |
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().
|
private |
Definition at line 93 of file PlasoIngestModule.java.
Referenced by org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.startUp().
|
staticprivate |
Definition at line 84 of file PlasoIngestModule.java.
|
private |
Definition at line 94 of file PlasoIngestModule.java.
|
private |
Definition at line 95 of file PlasoIngestModule.java.
|
private |
Definition at line 97 of file PlasoIngestModule.java.
Referenced by org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.createPlasoArtifacts().
|
staticprivate |
Definition at line 82 of file PlasoIngestModule.java.
|
staticprivate |
Definition at line 85 of file PlasoIngestModule.java.
|
private |
Definition at line 89 of file PlasoIngestModule.java.
|
staticprivate |
Definition at line 76 of file PlasoIngestModule.java.
|
staticprivate |
Definition at line 77 of file PlasoIngestModule.java.
|
staticprivate |
Definition at line 79 of file PlasoIngestModule.java.
Referenced by org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.process().
|
staticprivate |
Definition at line 81 of file PlasoIngestModule.java.
Referenced by org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.locateExecutable().
|
staticprivate |
Definition at line 80 of file PlasoIngestModule.java.
|
private |
Definition at line 98 of file PlasoIngestModule.java.
Referenced by org.sleuthkit.autopsy.modules.plaso.PlasoIngestModule.getAbstractFile().
|
staticprivate |
Definition at line 83 of file PlasoIngestModule.java.
|
private |
Definition at line 90 of file PlasoIngestModule.java.
|
private |
Definition at line 92 of file PlasoIngestModule.java.
|
staticprivate |
Definition at line 86 of file PlasoIngestModule.java.
|
staticprivate |
Definition at line 87 of file PlasoIngestModule.java.
Copyright © 2012-2022 Basis Technology. Generated on: Thu Mar 23 2023
This work is licensed under a
Creative Commons Attribution-Share Alike 3.0 United States License.