The artifactcollector project provides a software that collects forensic artifacts on systems. These artifacts can be used in forensic investigations to understand attacker behavior on compromised computers.
The artifactcollector offers the following features
- ️🖥️ Runs on 🖼️ Windows, 🐧 Linux and 🍏 macOS
- 🛍️ Can extract files, directories, registry entries, command and WMI output
- ⭐ Uses the configurable and extensible Forensics Artifacts
- 💾 Creates a forensicstore as structured output
- 🕊️ It's open source
- 🆓 Free for everyone (including commercial use)
Download from https://github.com/forensicanalysis/artifactcollector/releases or
git clone https://github.com/forensicanalysis/artifactcollector
cd artifactcollector
go install .
If you want to extract the raw artifacts or process the collected data have a look at
- Clone the repository:
git clone https://github.com/forensicanalysis/artifactcollector
. - Run
go generate
to download all artifacts. - Add artifact definition yaml files as needed in
pack/artifacts
. Do not edit the artifact definitions, as they will be overwritten. - Edit
pack/ac.yaml
and add the artifacts you want to collect. - Run
go generate
. This might yield some errors or problems in your artifacts. - On windows you can move the syso into the root folder (e.g.
cp resources\artifactcollector.syso .
) to enable the icon for the executable and the UAC popup. - Run
go build .
to generates an executable.
Binaries can be added to pack/bin
and than included into the artifactcollector
in the go generate
step. Additionally a corresponding COMMAND artifact like
the following is required.
name: Autoruns
sources:
- type: COMMAND
attributes:
cmd: autorunsc.exe
args: ["-x"]
supported_os: [Windows]
Currently the output to stdout and stderr is saved, but generated files are not collected.
Cross compilation is a bit more difficult, as a cross compiler like MinGW is required by CGO.
Example cross compilation for Windows:
CGO_ENABLED=1 CC=i686-w64-mingw32-gcc GOOS=windows GOARCH=386 go build .
CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc GOOS=windows GOARCH=amd64 go build .
- Currently only files that are smaller than 1GB when compressed can be collected. This can be circumvented by using a zip archive for artifact collection.
For feedback, questions and discussions you can use the Open Source DFIR Slack.