Skip to main content

Sample staging and detonation utility

Project description

sflock

example workflow

Sample staging & detonation utility to be used as unpacking engine for other analysis tools. Since version 0.3.14 sflock is compatible with Python >= 3.6

Birds tend to move around in flocks, therefore the sflock utility can digest a flock of samples, but also inverse flocks, i.e., sflock unpacks various archive file formats to extract embedded samples.

Simply put, sflock provides a staging area where binary data is investigated and split into one or more files to be analyzed further by other tools. In particular sflock focuses on integration and usage with Cuckoo Sandbox.

Installation

As-is sflock has been designed to be used to its full extent on Ubuntu/Debian-like systems. For optimal usage it is recommended to install the following packages alongside sflock. It is currently not possible to run the unpackers that require native tooling support on non-Linux platforms.

On Ubuntu/Debian-like systems, the following packages are required:

$ sudo apt-get install rar unace-nonfree cabextract lzip libjpeg8-dev zlib1g-dev zpaq gnupg

On macOS, the following packages can be installed with Homebrew:

$ brew install rar unar cabextract lzip jpeg zlib zpaq gnupg

Installation of sflock itself may be done as follows.

On Linux:

$ sudo pip install -U "sflock2[linux]"

Or in a virtualenv environment.

(venv)$ pip install -U "sflock2[linux]"

On Windows:

> pip install -U "sflock2[windows]"

Or in a virtualenv environment.

(venv)> pip install -U "sflock2[windows]"

Supported archives

SFlock supports a number of (semi-)archive types, sorted by extension:

  • .7z (7-Zip archive, requires native tooling)
  • .ace (ACE archive, requires native tooling)
  • .bup (McAfee quarantine files)
  • .cab (Microsoft Cabinet archive, requires native tooling)
  • .daa (PowerISO, requires included Linux native tooling)
  • .eml (MIME RFC 822 email representation)
  • .gzip (gzip compressed data, requires native tooling)
  • .iso (ISO file container, requires native tooling)
  • .lzh (LZH/LHA archive, requires native tooling)
  • .lz (Lzip compressed data, requires native tooling)
  • .msg (Outlook mail message)
  • .mso (Microsoft Office Macro reference file)
  • .pdf (Attachments embedded in PDF files)
  • .rar (RAR archive, requires native tooling)
  • .tar (Unix file archive)
  • .tar.bz2 (bzip2 compressed Unix file archive)
  • .tar.gz (gzip compressed Unix file archive)
  • .zip (ZIP archive)
  • .win (Windows imaging (WIM) image)

Security

Due to its nature of unpacking malicious archives with, depending on the extension, native tools (i.e., .7z, .ace, .cab, .daa, .gzip, .iso, .lzh, and .rar), it is important that such operations happen securely. SFlock therefore wraps execution of the native tools in zipjail, a usermode sandbox written exactly for this purpose.

Documentation

deepwiki

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sflock2-0.3.87.tar.gz (3.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sflock2-0.3.87-py3-none-any.whl (3.7 MB view details)

Uploaded Python 3

File details

Details for the file sflock2-0.3.87.tar.gz.

File metadata

  • Download URL: sflock2-0.3.87.tar.gz
  • Upload date:
  • Size: 3.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sflock2-0.3.87.tar.gz
Algorithm Hash digest
SHA256 ac05f55f13525ebf318ef1b27ec2737def608c1b701f31afb4ba9c33c9d9a6d5
MD5 f2317ab44c3826c4266225da4163e7c8
BLAKE2b-256 99d802e970656c855517abcf6abe63e1ae3ba10c285489d2ecdc002f225b5ea5

See more details on using hashes here.

Provenance

The following attestation bundles were made for sflock2-0.3.87.tar.gz:

Publisher: publish.yml on CAPESandbox/sflock

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sflock2-0.3.87-py3-none-any.whl.

File metadata

  • Download URL: sflock2-0.3.87-py3-none-any.whl
  • Upload date:
  • Size: 3.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sflock2-0.3.87-py3-none-any.whl
Algorithm Hash digest
SHA256 1007ebdfa0d4505f6afc3cb24e362f70efc8bf79def8a67524281aff1e5fe344
MD5 548b6236b37e84d4d017c340922a54e6
BLAKE2b-256 8c0ad625c893033790c92caf69c62b985d5ea9707181e8319845a36375f50718

See more details on using hashes here.

Provenance

The following attestation bundles were made for sflock2-0.3.87-py3-none-any.whl:

Publisher: publish.yml on CAPESandbox/sflock

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page