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'
system
Defines what OS this collection targets. This example targetswindows
systems. This collection will only run with the Windows version ofartemis
[output]
Defines the output configurationname
The output name. This can be any string valuedirectory
The directory where the output should be written. This example outputs to a directory calledtmp
in the current working directoryformat
The output format can be eitherjson
orjsonl
compress
Whether to compress the output withgzip
compression. Once the collection is complete the output directory will be compressed withzip
compression.endpoint_id
An ID assigned to the endpoint. This can be any string valuecollection_id
A number assigned to the collection. This can be any postive numberoutput
The output type. Supports:local, gcp, aws, or azure
url
The URL associated with eithergcp, aws, or azure
. This is required only if using remote upload outputapi_key
The API key associated with eithergcp, aws, or azure
. This is required only if using remote upload outputfilter_name
The name of the providedfilter_script
. This is optional but if you are using afilter_script
you should provide a name. Otherwise the default nameUnknownFilterName
is usedfilter_script
An advanced optional output option, will pass the results of each[[artifacts]]
entry into a script. See scripting section for detailed overview of this option.logging
Set the logging level for artemis. This is optional by defaultartemis
will log errors and warnings. Valid options are:warn, error, debug, or info
[[artifacts]]
A list of artifacts to collectartifact_name
Name of aritfactfilter
Whether to filter the artifact data through thefilter_script
. This is optional by default nothing is filtered[aritfacts.amcache]
Artifact configuration parametersalt_drive
Use 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_name
Name of aritfact[aritfacts.shortcuts]
Artifact configuration parameterspath
Use the provided path to collectshortcuts
data. 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