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.
Features
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)
Installation
git clone https://github.com/forensicanalysis/artifactcollector
cd artifactcollector
go install .
Get Artifacts And Process Forensicstores
If you want to extract the raw artifacts or process the collected data have a look.
Build Your Own Artifactcollector
- 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.
Embed Binaries
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
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 .