Autopsy
4.19.3
Graphical digital forensics platform for The Sleuth Kit and other tools.
|
Inherits org.sleuthkit.autopsy.ingest.FileIngestModule.
Classes | |
class | AccountFileInstanceCache |
Public Member Functions | |
ProcessResult | process (AbstractFile abstractFile) |
void | shutDown () |
void | startUp (IngestJobContext context) throws IngestModuleException |
Private Member Functions | |
BlackboardArtifact | addEmailArtifact (EmailMessage email, AbstractFile abstractFile, AccountFileInstanceCache accountFileInstanceCache) |
Set< String > | findEmailAddresess (String input) |
List< Long > | findMboxSplitOffset (AbstractFile abstractFile, File file) throws IOException |
List< AbstractFile > | handleAttachments (List< EmailMessage.Attachment > attachments, AbstractFile abstractFile, BlackboardArtifact messageArtifact) |
void | processEmails (List< EmailMessage > partialEmailsForThreading, Iterator< EmailMessage > fullMessageIterator, AbstractFile abstractFile) |
ProcessResult | processEMLFile (AbstractFile abstractFile) |
ProcessResult | processMBox (AbstractFile abstractFile) |
void | processMboxFile (File file, AbstractFile abstractFile, String emailFolder) |
ProcessResult | processPst (AbstractFile abstractFile) |
ProcessResult | processVcard (AbstractFile abstractFile) |
Private Attributes | |
Blackboard | blackboard |
CommunicationArtifactsHelper | communicationArtifactsHelper |
IngestJobContext | context |
Case | currentCase |
FileManager | fileManager |
final IngestServices | services = IngestServices.getInstance() |
Static Private Attributes | |
static ConcurrentMap< String, BlackboardAttribute.Type > | customAttributeCache = new ConcurrentHashMap<>() |
static Object | customAttributeCacheLock = new Object() |
static final Logger | logger = Logger.getLogger(ThunderbirdMboxFileIngestModule.class.getName()) |
static final int | MBOX_SIZE_TO_SPLIT = 1048576000 |
File-level ingest module that detects MBOX, PST, and vCard files based on signature. Understands Thunderbird folder layout to provide additional structure and metadata.
Definition at line 79 of file ThunderbirdMboxFileIngestModule.java.
|
private |
Add a blackboard artifact for the given e-mail message.
The e-mail message. | |
abstractFile | The associated file. |
accountFileInstanceCache | The current cache of account instances. |
Definition at line 699 of file ThunderbirdMboxFileIngestModule.java.
References org.sleuthkit.autopsy.coreutils.MessageNotifyUtil.Notify.error(), org.sleuthkit.autopsy.ingest.IngestJobContext.fileIngestIsCancelled(), org.sleuthkit.autopsy.thunderbirdparser.ThunderbirdMboxFileIngestModule.findEmailAddresess(), org.sleuthkit.autopsy.ingest.IngestJobContext.getJobId(), and org.sleuthkit.autopsy.casemodule.Case.getSleuthkitCase().
|
private |
Finds and returns a set of unique email addresses found in the input string
input | - input string, like the To/CC line from an email header |
Definition at line 678 of file ThunderbirdMboxFileIngestModule.java.
Referenced by org.sleuthkit.autopsy.thunderbirdparser.ThunderbirdMboxFileIngestModule.addEmailArtifact().
|
private |
Definition at line 392 of file ThunderbirdMboxFileIngestModule.java.
Referenced by org.sleuthkit.autopsy.thunderbirdparser.ThunderbirdMboxFileIngestModule.processMBox().
|
private |
Add the given attachments as derived files and reschedule them for ingest.
attachments | |
abstractFile | |
messageArtifact |
Definition at line 627 of file ThunderbirdMboxFileIngestModule.java.
References org.sleuthkit.autopsy.casemodule.services.FileManager.addDerivedFile().
ProcessResult org.sleuthkit.autopsy.thunderbirdparser.ThunderbirdMboxFileIngestModule.process | ( | AbstractFile | file | ) |
Processes a file. Called between calls to startUp() and shutDown(). Will be called for each file in a data source.
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 and any other information that would be useful for debugging. 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.
file | The file to analyze. |
Implements org.sleuthkit.autopsy.ingest.FileIngestModule.
Definition at line 122 of file ThunderbirdMboxFileIngestModule.java.
References org.sleuthkit.autopsy.ingest.IngestModule.ProcessResult.ERROR, org.sleuthkit.autopsy.ingest.IngestJobContext.fileIngestIsCancelled(), org.sleuthkit.autopsy.ingest.IngestJobContext.getJobId(), org.sleuthkit.autopsy.casemodule.Case.getSleuthkitCase(), org.sleuthkit.autopsy.ingest.IngestModule.ProcessResult.OK, org.sleuthkit.autopsy.thunderbirdparser.ThunderbirdMboxFileIngestModule.processEMLFile(), org.sleuthkit.autopsy.thunderbirdparser.ThunderbirdMboxFileIngestModule.processMBox(), org.sleuthkit.autopsy.thunderbirdparser.ThunderbirdMboxFileIngestModule.processPst(), and org.sleuthkit.autopsy.thunderbirdparser.ThunderbirdMboxFileIngestModule.processVcard().
|
private |
Take the extracted information in the email messages and add the appropriate artifacts and derived files.
partialEmailsForThreading | |
fullMessageIterator | |
abstractFile |
Definition at line 550 of file ThunderbirdMboxFileIngestModule.java.
References org.sleuthkit.autopsy.ingest.IngestJobContext.addFilesToJob(), org.sleuthkit.autopsy.ingest.IngestJobContext.fileIngestIsCancelled(), and org.sleuthkit.autopsy.ingest.IngestServices.fireModuleContentEvent().
Referenced by org.sleuthkit.autopsy.thunderbirdparser.ThunderbirdMboxFileIngestModule.processMboxFile(), and org.sleuthkit.autopsy.thunderbirdparser.ThunderbirdMboxFileIngestModule.processPst().
|
private |
Definition at line 466 of file ThunderbirdMboxFileIngestModule.java.
References org.sleuthkit.autopsy.ingest.IngestJobContext.addFilesToJob(), org.sleuthkit.autopsy.ingest.IngestModule.ProcessResult.ERROR, org.sleuthkit.autopsy.ingest.IngestServices.fireModuleContentEvent(), and org.sleuthkit.autopsy.ingest.IngestModule.ProcessResult.OK.
Referenced by org.sleuthkit.autopsy.thunderbirdparser.ThunderbirdMboxFileIngestModule.process().
|
private |
Parse and extract email messages and attachments from an MBox file.
abstractFile |
Definition at line 305 of file ThunderbirdMboxFileIngestModule.java.
References org.sleuthkit.autopsy.ingest.IngestMonitor.DISK_FREE_SPACE_UNKNOWN, org.sleuthkit.autopsy.ingest.IngestModule.ProcessResult.ERROR, org.sleuthkit.autopsy.ingest.IngestJobContext.fileIngestIsCancelled(), org.sleuthkit.autopsy.thunderbirdparser.ThunderbirdMboxFileIngestModule.findMboxSplitOffset(), org.sleuthkit.autopsy.ingest.IngestServices.getFreeDiskSpace(), org.sleuthkit.autopsy.thunderbirdparser.ThunderbirdMboxFileIngestModule.MBOX_SIZE_TO_SPLIT, org.sleuthkit.autopsy.ingest.IngestModule.ProcessResult.OK, org.sleuthkit.autopsy.thunderbirdparser.ThunderbirdMboxFileIngestModule.processMboxFile(), and org.sleuthkit.autopsy.datamodel.ContentUtils.writeToFile().
Referenced by org.sleuthkit.autopsy.thunderbirdparser.ThunderbirdMboxFileIngestModule.process().
|
private |
Definition at line 413 of file ThunderbirdMboxFileIngestModule.java.
References org.sleuthkit.autopsy.ingest.IngestJobContext.fileIngestIsCancelled(), and org.sleuthkit.autopsy.thunderbirdparser.ThunderbirdMboxFileIngestModule.processEmails().
Referenced by org.sleuthkit.autopsy.thunderbirdparser.ThunderbirdMboxFileIngestModule.processMBox().
|
private |
Processes a pst/ost data file and extracts and adds email artifacts.
abstractFile | The pst/ost data file to process. |
Definition at line 202 of file ThunderbirdMboxFileIngestModule.java.
References org.sleuthkit.autopsy.ingest.IngestMessage.createErrorMessage(), org.sleuthkit.autopsy.ingest.IngestMonitor.DISK_FREE_SPACE_UNKNOWN, org.sleuthkit.autopsy.ingest.IngestModule.ProcessResult.ERROR, org.sleuthkit.autopsy.coreutils.MessageNotifyUtil.Notify.error(), org.sleuthkit.autopsy.ingest.IngestJobContext.fileIngestIsCancelled(), org.sleuthkit.autopsy.ingest.IngestServices.getFreeDiskSpace(), org.sleuthkit.autopsy.ingest.IngestJobContext.getJobId(), org.sleuthkit.autopsy.ingest.IngestModule.ProcessResult.OK, org.sleuthkit.autopsy.ingest.IngestServices.postMessage(), org.sleuthkit.autopsy.thunderbirdparser.ThunderbirdMboxFileIngestModule.processEmails(), and org.sleuthkit.autopsy.datamodel.ContentUtils.writeToFile().
Referenced by org.sleuthkit.autopsy.thunderbirdparser.ThunderbirdMboxFileIngestModule.process().
|
private |
Parse and extract data from a vCard file.
abstractFile | The content to be processed. |
Definition at line 455 of file ThunderbirdMboxFileIngestModule.java.
References org.sleuthkit.autopsy.thunderbirdparser.ThunderbirdMboxFileIngestModule.customAttributeCache, and org.sleuthkit.autopsy.ingest.IngestModule.ProcessResult.OK.
Referenced by org.sleuthkit.autopsy.thunderbirdparser.ThunderbirdMboxFileIngestModule.process().
void org.sleuthkit.autopsy.thunderbirdparser.ThunderbirdMboxFileIngestModule.shutDown | ( | ) |
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.
Implements org.sleuthkit.autopsy.ingest.IngestModule.
Definition at line 927 of file ThunderbirdMboxFileIngestModule.java.
References org.sleuthkit.autopsy.thunderbirdparser.ThunderbirdMboxFileIngestModule.customAttributeCache, and org.sleuthkit.autopsy.thunderbirdparser.ThunderbirdMboxFileIngestModule.customAttributeCacheLock.
void org.sleuthkit.autopsy.thunderbirdparser.ThunderbirdMboxFileIngestModule.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 103 of file ThunderbirdMboxFileIngestModule.java.
References org.sleuthkit.autopsy.thunderbirdparser.ThunderbirdMboxFileIngestModule.context, org.sleuthkit.autopsy.thunderbirdparser.ThunderbirdMboxFileIngestModule.customAttributeCache, org.sleuthkit.autopsy.thunderbirdparser.ThunderbirdMboxFileIngestModule.customAttributeCacheLock, org.sleuthkit.autopsy.casemodule.Case.getCurrentCaseThrows(), org.sleuthkit.autopsy.casemodule.services.Services.getFileManager(), and org.sleuthkit.autopsy.casemodule.Case.getServices().
|
private |
Definition at line 85 of file ThunderbirdMboxFileIngestModule.java.
|
private |
Definition at line 86 of file ThunderbirdMboxFileIngestModule.java.
|
private |
Definition at line 84 of file ThunderbirdMboxFileIngestModule.java.
Referenced by org.sleuthkit.autopsy.thunderbirdparser.ThunderbirdMboxFileIngestModule.startUp().
|
private |
Definition at line 93 of file ThunderbirdMboxFileIngestModule.java.
|
staticprivate |
Definition at line 89 of file ThunderbirdMboxFileIngestModule.java.
Referenced by org.sleuthkit.autopsy.thunderbirdparser.ThunderbirdMboxFileIngestModule.processVcard(), org.sleuthkit.autopsy.thunderbirdparser.ThunderbirdMboxFileIngestModule.shutDown(), and org.sleuthkit.autopsy.thunderbirdparser.ThunderbirdMboxFileIngestModule.startUp().
|
staticprivate |
Definition at line 90 of file ThunderbirdMboxFileIngestModule.java.
Referenced by org.sleuthkit.autopsy.thunderbirdparser.ThunderbirdMboxFileIngestModule.shutDown(), and org.sleuthkit.autopsy.thunderbirdparser.ThunderbirdMboxFileIngestModule.startUp().
|
private |
Definition at line 83 of file ThunderbirdMboxFileIngestModule.java.
|
staticprivate |
Definition at line 81 of file ThunderbirdMboxFileIngestModule.java.
|
staticprivate |
Definition at line 92 of file ThunderbirdMboxFileIngestModule.java.
Referenced by org.sleuthkit.autopsy.thunderbirdparser.ThunderbirdMboxFileIngestModule.processMBox().
|
private |
Definition at line 82 of file ThunderbirdMboxFileIngestModule.java.
Copyright © 2012-2022 Basis Technology. Generated on: Sun Apr 2 2023
This work is licensed under a
Creative Commons Attribution-Share Alike 3.0 United States License.