Format
An example TOML collection is provided below:
system = "windows"
[output]
name = "amcache_collection"
directory = "./tmp"
format = "json"
compress = false
endpoint_id = "6c51b123-1522-4572-9f2a-0bd5abd81b82"
collection_id = 1
output = "local"
url = ""
api_key = ""
filter_name = ""
filter_script = ""
logging = "warn"
[[artifacts]]
artifact_name = "amcache"
filter = true
[artifacts.amcache]
# Optional
# alt_drive = 'C'
systemDefines what OS this collection targets. This example targetswindowssystems. This collection will only run with the Windows version ofartemis[output]Defines the output configurationnameThe output name. This can be any string valuedirectoryThe directory where the output should be written. This example outputs to a directory calledtmpin the current working directoryformatThe output format can be eitherjsonorjsonlcompressWhether to compress the output withgzipcompression. Once the collection is complete the output directory will be compressed withzipcompression.endpoint_idAn ID assigned to the endpoint. This can be any string valuecollection_idA number assigned to the collection. This can be any postive numberoutputThe output type. Supports:local, gcp, aws, or azureurlThe URL associated with eithergcp, aws, or azure. This is required only if using remote upload outputapi_keyThe API key associated with eithergcp, aws, or azure. This is required only if using remote upload outputfilter_nameThe name of the providedfilter_script. This is optional but if you are using afilter_scriptyou should provide a name. Otherwise the default nameUnknownFilterNameis usedfilter_scriptAn advanced optional output option, will pass the results of each[[artifacts]]entry into a script. See scripting section for detailed overview of this option.loggingSet the logging level for artemis. This is optional by defaultartemiswill log errors and warnings. Valid options are:warn, error, debug, or info
[[artifacts]]A list of artifacts to collectartifact_nameName of aritfactfilterWhether to filter the artifact data through thefilter_script. This is optional by default nothing is filtered[aritfacts.amcache]Artifact configuration parametersalt_driveUse an alternative drive when collecting data. This parameter is optional
The example above collects one (1) artifact (Amcache) on a Windows system and
outputs the results the local system at the path ./tmp/amcache_collection
If we wanted to collect more than one (1) artifact we could use a collection like the one below:
system = "windows"
[output]
name = "execution_collection"
directory = "./tmp"
format = "jsonl"
compress = false
endpoint_id = "6c51b123-1522-4572-9f2a-0bd5abd81b82"
collection_id = 1
output = "local"
[[artifacts]]
artifact_name = "amcache"
[artifacts.amcache]
[[artifacts]]
artifact_name = "shortcuts"
[artifacts.shortcuts]
path = "C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\Startup"
The TOML collection above collects both amcache and shortcuts data on a
Windows system and outputs the results to the local system at the path
./tmp/execution_collection.
Notable changes:
name our collection is now named execution_collection
[[artifacts]]
artifact_name = "amcache"
[artifacts.amcache]
Since the alt_drive parameter is optional for amcache we do not need to
specifiy it
[[artifacts]]
artifact_name = "shortcuts"
[artifacts.shortcuts]
path = "C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\Startup"
[[artifacts]]The second entry in our list of artifacts to collectartifact_nameName of aritfact[aritfacts.shortcuts]Artifact configuration parameterspathUse the provided path to collectshortcutsdata. This parameter is required
Since [[artifacts]] is a list we can even provide the same artifact multiple
times:
[[artifacts]]
artifact_name = "shortcuts"
[artifacts.shortcuts]
path = "C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\Startup"
[[artifacts]]
artifact_name = "shortcuts"
[artifacts.shortcuts]
path = "D:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\Startup"
[[artifacts]]
artifact_name = "shortcuts"
[artifacts.shortcuts]
path = "E:\\Users\\rust\\Downloads"
However, providing the same artifact mutliple times can be repetitive. See the
chapter on scripting to see how we can automate and
enhance artifact collection using artemis and a tiny amount of JavaScript!
Finally you can review the full list of all supported artifacts and their configuration under the artifact chapter