From b6d911fa6b4b3510030cfe7797e93d43d5ef0e9b Mon Sep 17 00:00:00 2001 From: Brian Carrier Date: Wed, 5 Aug 2015 23:15:19 -0400 Subject: [PATCH] Cleaned up samples, added files associated with data source tutorial --- .../SampleDataSourceIngestModule.java | 12 +- .../FindContactsDb.py | 176 ++++++++++++++++++ .../Aug2015DataSourceTutorial/README.txt | 7 + .../Aug2015DataSourceTutorial/RunExe.py | 144 ++++++++++++++ .../Aug2015DataSourceTutorial/contacts.db | Bin 0 -> 2048 bytes .../Aug2015DataSourceTutorial/img_stat.exe | Bin 0 -> 84992 bytes pythonExamples/dataSourceIngestModule.py | 10 +- pythonExamples/fileIngestModule.py | 2 +- pythonExamples/fileIngestModuleWithGui.py | 2 +- 9 files changed, 335 insertions(+), 18 deletions(-) create mode 100755 pythonExamples/Aug2015DataSourceTutorial/FindContactsDb.py create mode 100755 pythonExamples/Aug2015DataSourceTutorial/README.txt create mode 100755 pythonExamples/Aug2015DataSourceTutorial/RunExe.py create mode 100755 pythonExamples/Aug2015DataSourceTutorial/contacts.db create mode 100755 pythonExamples/Aug2015DataSourceTutorial/img_stat.exe diff --git a/Core/src/org/sleuthkit/autopsy/examples/SampleDataSourceIngestModule.java b/Core/src/org/sleuthkit/autopsy/examples/SampleDataSourceIngestModule.java index 7a14d02610..089faa85ac 100755 --- a/Core/src/org/sleuthkit/autopsy/examples/SampleDataSourceIngestModule.java +++ b/Core/src/org/sleuthkit/autopsy/examples/SampleDataSourceIngestModule.java @@ -70,21 +70,16 @@ class SampleDataSourceIngestModule implements DataSourceIngestModule { @Override public ProcessResult process(Content dataSource, DataSourceIngestModuleProgress progressBar) { - if (context.dataSourceIngestIsCancelled()) { - return IngestModule.ProcessResult.OK; - } // There are two tasks to do. progressBar.switchToDeterminate(2); - Case autopsyCase = Case.getCurrentCase(); - SleuthkitCase sleuthkitCase = autopsyCase.getSleuthkitCase(); - Services services = new Services(sleuthkitCase); - FileManager fileManager = services.getFileManager(); try { // Get count of files with .doc extension. - long fileCount = 0; + FileManager fileManager = Case.getCurrentCase().getServices().getFileManager(); List docFiles = fileManager.findFiles(dataSource, "%.doc"); + + long fileCount = 0; for (AbstractFile docFile : docFiles) { if (!skipKnownFiles || docFile.getKnown() != TskData.FileKnown.KNOWN) { ++fileCount; @@ -92,6 +87,7 @@ class SampleDataSourceIngestModule implements DataSourceIngestModule { } progressBar.progress(1); + // check if we were cancelled if (context.dataSourceIngestIsCancelled()) { return IngestModule.ProcessResult.OK; } diff --git a/pythonExamples/Aug2015DataSourceTutorial/FindContactsDb.py b/pythonExamples/Aug2015DataSourceTutorial/FindContactsDb.py new file mode 100755 index 0000000000..4712ddacb9 --- /dev/null +++ b/pythonExamples/Aug2015DataSourceTutorial/FindContactsDb.py @@ -0,0 +1,176 @@ +# Sample module in the public domain. Feel free to use this as a template +# for your modules (and you can remove this header and take complete credit +# and liability) +# +# Contact: Brian Carrier [carrier sleuthkit [dot] org] +# +# This is free and unencumbered software released into the public domain. +# +# Anyone is free to copy, modify, publish, use, compile, sell, or +# distribute this software, either in source code form or as a compiled +# binary, for any purpose, commercial or non-commercial, and by any +# means. +# +# In jurisdictions that recognize copyright laws, the author or authors +# of this software dedicate any and all copyright interest in the +# software to the public domain. We make this dedication for the benefit +# of the public at large and to the detriment of our heirs and +# successors. We intend this dedication to be an overt act of +# relinquishment in perpetuity of all present and future rights to this +# software under copyright law. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. + +# Simple data source-level ingest module for Autopsy. +# Used as part of Python tutorials from Basis Technology - August 2015 +# +# Looks for files of a given name, opens then in SQLite, queries the DB, +# and makes artifacts + +import jarray +import inspect +import os +from java.lang import Class +from java.lang import System +from java.sql import DriverManager, SQLException +from java.util.logging import Level +from java.io import File +from org.sleuthkit.datamodel import SleuthkitCase +from org.sleuthkit.datamodel import AbstractFile +from org.sleuthkit.datamodel import ReadContentInputStream +from org.sleuthkit.datamodel import BlackboardArtifact +from org.sleuthkit.datamodel import BlackboardAttribute +from org.sleuthkit.autopsy.ingest import IngestModule +from org.sleuthkit.autopsy.ingest.IngestModule import IngestModuleException +from org.sleuthkit.autopsy.ingest import DataSourceIngestModule +from org.sleuthkit.autopsy.ingest import IngestModuleFactoryAdapter +from org.sleuthkit.autopsy.ingest import IngestMessage +from org.sleuthkit.autopsy.ingest import IngestServices +from org.sleuthkit.autopsy.ingest import ModuleDataEvent +from org.sleuthkit.autopsy.coreutils import Logger +from org.sleuthkit.autopsy.casemodule import Case +from org.sleuthkit.autopsy.casemodule.services import Services +from org.sleuthkit.autopsy.casemodule.services import FileManager +from org.sleuthkit.autopsy.datamodel import ContentUtils + + +# Factory that defines the name and details of the module and allows Autopsy +# to create instances of the modules that will do the analysis. +class ContactsDbIngestModuleFactory(IngestModuleFactoryAdapter): + + moduleName = "Contacts Db Analyzer" + + def getModuleDisplayName(self): + return self.moduleName + + def getModuleDescription(self): + return "Sample module that parses contacts.db" + + def getModuleVersionNumber(self): + return "1.0" + + def isDataSourceIngestModuleFactory(self): + return True + + def createDataSourceIngestModule(self, ingestOptions): + return ContactsDbIngestModule() + + +# Data Source-level ingest module. One gets created per data source. +class ContactsDbIngestModule(DataSourceIngestModule): + + _logger = Logger.getLogger(ContactsDbIngestModuleFactory.moduleName) + + def log(self, level, msg): + self._logger.logp(level, self.__class__.__name__, inspect.stack()[1][3], msg) + + def __init__(self): + self.context = None + + # Where any setup and configuration is done + # 'context' is an instance of org.sleuthkit.autopsy.ingest.IngestJobContext. + # See: http://sleuthkit.org/autopsy/docs/api-docs/3.1/classorg_1_1sleuthkit_1_1autopsy_1_1ingest_1_1_ingest_job_context.html + def startUp(self, context): + self.context = context + # Throw an IngestModule.IngestModuleException exception if there was a problem setting up + # raise IngestModuleException("Oh No!") + + # Where the analysis is done. + # The 'dataSource' object being passed in is of type org.sleuthkit.datamodel.Content. + # See: http://www.sleuthkit.org/sleuthkit/docs/jni-docs/interfaceorg_1_1sleuthkit_1_1datamodel_1_1_content.html + # 'progressBar' is of type org.sleuthkit.autopsy.ingest.DataSourceIngestModuleProgress + # See: http://sleuthkit.org/autopsy/docs/api-docs/3.1/classorg_1_1sleuthkit_1_1autopsy_1_1ingest_1_1_data_source_ingest_module_progress.html + def process(self, dataSource, progressBar): + + # we don't know how much work there is yet + progressBar.switchToIndeterminate() + + # Find files named contacts.db, regardless of parent path + fileManager = Case.getCurrentCase().getServices().getFileManager() + files = fileManager.findFiles(dataSource, "contacts.db") + + numFiles = len(files) + progressBar.switchToDeterminate(numFiles) + fileCount = 0; + for file in files: + + # Check if the user pressed cancel while we were busy + if self.context.isJobCancelled(): + return IngestModule.ProcessResult.OK + + self.log(Level.INFO, "Processing file: " + file.getName()) + fileCount += 1 + + # Save the DB locally in the temp folder. use file id as name to reduce collisions + lclDbPath = os.path.join(Case.getCurrentCase().getTempDirectory(), str(file.getId()) + ".db") + ContentUtils.writeToFile(file, File(lclDbPath)) + + # Open the DB using JDBC + Class.forName("org.sqlite.JDBC").newInstance() + dbConn = DriverManager.getConnection("jdbc:sqlite:%s" % lclDbPath) + + # Query the contacts table in the database and get all columns. + stmt = dbConn.createStatement() + resultSet = stmt.executeQuery("SELECT * FROM contacts") + + # Cycle through each row and create artifacts + while resultSet.next(): + + # Make an artifact on the blackboard, TSK_CONTACT and give it attributes for each of the fields + art = file.newArtifact(BlackboardArtifact.ARTIFACT_TYPE.TSK_CONTACT) + + name = resultSet.getString("name") + art.addAttribute(BlackboardAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_NAME_PERSON.getTypeID(), + ContactsDbIngestModuleFactory.moduleName, name)) + + email = resultSet.getString("email") + art.addAttribute(BlackboardAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_EMAIL.getTypeID(), + ContactsDbIngestModuleFactory.moduleName, email)) + + phone = resultSet.getString("phone") + art.addAttribute(BlackboardAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_PHONE_NUMBER.getTypeID(), + ContactsDbIngestModuleFactory.moduleName, phone)) + + # Fire an event to notify the UI and others that there are new artifacts + IngestServices.getInstance().fireModuleDataEvent( + ModuleDataEvent(ContactsDbIngestModuleFactory.moduleName, + BlackboardArtifact.ARTIFACT_TYPE.TSK_CONTACT, None)) + + # Clean up + stmt.close() + dbConn.close() + os.remove(lclDbPath) + + + # After all databases, post a message to the ingest messages in box. + message = IngestMessage.createMessage(IngestMessage.MessageType.DATA, + "ContactsDb Analyzer", "Found %d files" % fileCount) + IngestServices.getInstance().postMessage(message) + + return IngestModule.ProcessResult.OK \ No newline at end of file diff --git a/pythonExamples/Aug2015DataSourceTutorial/README.txt b/pythonExamples/Aug2015DataSourceTutorial/README.txt new file mode 100755 index 0000000000..3740d9cdfa --- /dev/null +++ b/pythonExamples/Aug2015DataSourceTutorial/README.txt @@ -0,0 +1,7 @@ +This folder contains files that were created for an August 2015 Tutorial from Basis Technology. + +It contains the following: +- FindContactsDb.py: Script to find databases and parse them. +- Contacts.db: Sample database with the correct name and schema for the FindContactsDb.py script. +- RunExe.py: Script that runs img_stat.exe on disk images. +- img_stat.exe: 32-bit version of img_stat.exe from The Sleuth Kit that is needed by RunExe.py. \ No newline at end of file diff --git a/pythonExamples/Aug2015DataSourceTutorial/RunExe.py b/pythonExamples/Aug2015DataSourceTutorial/RunExe.py new file mode 100755 index 0000000000..606e73712d --- /dev/null +++ b/pythonExamples/Aug2015DataSourceTutorial/RunExe.py @@ -0,0 +1,144 @@ +# Sample module in the public domain. Feel free to use this as a template +# for your modules (and you can remove this header and take complete credit +# and liability) +# +# Contact: Brian Carrier [carrier sleuthkit [dot] org] +# +# This is free and unencumbered software released into the public domain. +# +# Anyone is free to copy, modify, publish, use, compile, sell, or +# distribute this software, either in source code form or as a compiled +# binary, for any purpose, commercial or non-commercial, and by any +# means. +# +# In jurisdictions that recognize copyright laws, the author or authors +# of this software dedicate any and all copyright interest in the +# software to the public domain. We make this dedication for the benefit +# of the public at large and to the detriment of our heirs and +# successors. We intend this dedication to be an overt act of +# relinquishment in perpetuity of all present and future rights to this +# software under copyright law. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. + +# Simple data source-level ingest module for Autopsy. +# Used as part of Python tutorials from Basis Technology - August 2015 +# +# Runs img_stat tool from The Sleuth Kit on each data source, saves the +# output, and adds a report to the Case for the output + +import jarray +import inspect +import os +import subprocess +from java.lang import Class +from java.lang import System +from java.util.logging import Level +from org.sleuthkit.datamodel import SleuthkitCase +from org.sleuthkit.datamodel import AbstractFile +from org.sleuthkit.datamodel import ReadContentInputStream +from org.sleuthkit.datamodel import BlackboardArtifact +from org.sleuthkit.datamodel import BlackboardAttribute +from org.sleuthkit.datamodel import Image +from org.sleuthkit.autopsy.ingest import IngestModule +from org.sleuthkit.autopsy.ingest.IngestModule import IngestModuleException +from org.sleuthkit.autopsy.ingest import DataSourceIngestModule +from org.sleuthkit.autopsy.ingest import IngestModuleFactoryAdapter +from org.sleuthkit.autopsy.ingest import IngestMessage +from org.sleuthkit.autopsy.ingest import IngestServices +from org.sleuthkit.autopsy.ingest import ModuleDataEvent +from org.sleuthkit.autopsy.coreutils import Logger +from org.sleuthkit.autopsy.coreutils import PlatformUtil +from org.sleuthkit.autopsy.casemodule import Case +from org.sleuthkit.autopsy.casemodule.services import Services +from org.sleuthkit.autopsy.datamodel import ContentUtils + + +# Factory that defines the name and details of the module and allows Autopsy +# to create instances of the modules that will do the analysis. +class RunExeIngestModuleFactory(IngestModuleFactoryAdapter): + + moduleName = "Run EXE Module" + + def getModuleDisplayName(self): + return self.moduleName + + def getModuleDescription(self): + return "Sample module that runs img_stat on each disk image." + + def getModuleVersionNumber(self): + return "1.0" + + def isDataSourceIngestModuleFactory(self): + return True + + def createDataSourceIngestModule(self, ingestOptions): + return RunExeIngestModule() + + +# Data Source-level ingest module. One gets created per data source. +class RunExeIngestModule(DataSourceIngestModule): + + _logger = Logger.getLogger(RunExeIngestModuleFactory.moduleName) + + def log(self, level, msg): + self._logger.logp(level, self.__class__.__name__, inspect.stack()[1][3], msg) + + def __init__(self): + self.context = None + + # Where any setup and configuration is done + # 'context' is an instance of org.sleuthkit.autopsy.ingest.IngestJobContext. + # See: http://sleuthkit.org/autopsy/docs/api-docs/3.1/classorg_1_1sleuthkit_1_1autopsy_1_1ingest_1_1_ingest_job_context.html + def startUp(self, context): + self.context = context + + # Get path to EXE based on where this script is run from. + # Assumes EXE is in same folder as script + # Verify it is there before any ingest starts + self.path_to_exe = os.path.join(os.path.dirname(os.path.abspath(__file__)), "img_stat.exe") + if not os.path.exists(self.path_to_exe): + raise IngestModuleException("EXE was not found in module folder") + + # Where the analysis is done. + # The 'dataSource' object being passed in is of type org.sleuthkit.datamodel.Content. + # See: http://www.sleuthkit.org/sleuthkit/docs/jni-docs/interfaceorg_1_1sleuthkit_1_1datamodel_1_1_content.html + # 'progressBar' is of type org.sleuthkit.autopsy.ingest.DataSourceIngestModuleProgress + # See: http://sleuthkit.org/autopsy/docs/api-docs/3.1/classorg_1_1sleuthkit_1_1autopsy_1_1ingest_1_1_data_source_ingest_module_progress.html + def process(self, dataSource, progressBar): + + # we don't know how much work there will be + progressBar.switchToIndeterminate() + + # Example has only a Windows EXE, so bail if we aren't on Windows + if not PlatformUtil.isWindowsOS(): + self.log(Level.INFO, "Ignoring data source. Not running on Windows") + return IngestModule.ProcessResult.OK + + # Verify we have a disk image and not a folder of files + if not isinstance(dataSource, Image): + self.log(Level.INFO, "Ignoring data source. Not an image") + return IngestModule.ProcessResult.OK + + # Get disk image paths + imagePaths = dataSource.getPaths() + + # We'll save our output to a file in the reports folder, named based on EXE and data source ID + reportPath = os.path.join(Case.getCurrentCase().getCaseDirectory(), "Reports", "img_stat-" + str(dataSource.getId()) + ".txt") + reportHandle = open(reportPath, 'w') + + # Run the EXE, saving output to the report + self.log(Level.INFO, "Running program on data source") + subprocess.Popen([self.path_to_exe, imagePaths[0]], stdout=reportHandle).communicate()[0] + reportHandle.close() + + # Add the report to the case, so it shows up in the tree + Case.getCurrentCase().addReport(reportPath, "Run EXE", "img_stat output") + + return IngestModule.ProcessResult.OK \ No newline at end of file diff --git a/pythonExamples/Aug2015DataSourceTutorial/contacts.db b/pythonExamples/Aug2015DataSourceTutorial/contacts.db new file mode 100755 index 0000000000000000000000000000000000000000..0fe4d9168ba4657afb9a8a4e91138fad012a2c6f GIT binary patch literal 2048 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 Xc56H