Skip to main content

A context preserving IOC extraction library

Project description

Multidecoder

Latest Stable Release

Multidecoder is a python library and command line tool for extracting indicators of compromise (IOCs) from a file. Multidecoder preserves the context of where and how an IOC is found to allow automated detection of patterns of obfuscation. Multidecoder is currently in beta, and uses semantic versioning to indicate compatability between releases.

Indicators of compromise extracted by Multidecoder:

  • network IOCS: urls, domains, emails, ip addressses
  • executable filenames
  • embedded PowerShell
  • embedded PE files
  • a customizable set of keywords

Deobfuscations and decodings supported:

  • base64 encoding
  • hexadecimal encoding
  • string concatenation
  • powershell escape characters

Installing

Multidecoder can be installed from pypi using pip:

pip install -U multidecoder

Alternatly, it can also be installed from the repository:

pip install -U https://github.com/CybercentreCanada/Multidecoder/archive/main.zip

To test the latest development version, install from the dev branch:

pip install -U https://github.com/CybercenterCanada/Multidecoder/archive/dev.zip

Command Line

After being installed Multidecoder can be run on a file from the command-line

> multidecoder file

which will output a list of indicators found. Indicators are printed one per line, with a string representation of the context of the indicator followed by the indicator.

The raw json result can be output with the --json flag

> multidecoder --json file

if no filename is given multidecoder takes its standard input as the file to be scanned.

Python library

Multidecoder can be used as a python library through the Multidecoder class, which can scan data to give a dictionary tree similar to the command-line json output.

from multidecoder.multidecoder import Multidecoder

md = Multidecoder()
context_tree = md.scan(data)

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

multidecoder-1.6.0.tar.gz (96.3 kB view details)

Uploaded Source

Built Distribution

multidecoder-1.6.0-py3-none-any.whl (110.9 kB view details)

Uploaded Python 3

File details

Details for the file multidecoder-1.6.0.tar.gz.

File metadata

  • Download URL: multidecoder-1.6.0.tar.gz
  • Upload date:
  • Size: 96.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for multidecoder-1.6.0.tar.gz
Algorithm Hash digest
SHA256 004bf581d760d5d633835c37941d9d1de983e0673ea4c5dcf35e060864e8f678
MD5 7ff5a16f103498070230fafa878edbd0
BLAKE2b-256 2c51a11dff3d7824dfb3cec730135036d17a28ff0439fc8d868cd9d92feafe95

See more details on using hashes here.

File details

Details for the file multidecoder-1.6.0-py3-none-any.whl.

File metadata

  • Download URL: multidecoder-1.6.0-py3-none-any.whl
  • Upload date:
  • Size: 110.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for multidecoder-1.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 39e4a8708c4f380c42726cc8f48963601530235958e3f20ff55b6067259e470d
MD5 6e812b2ddc7a611ca6e7d598a2ba20d1
BLAKE2b-256 f9894e3a8ee02d3e303dd7b740d5a4cf5f250c258a5c6329a34f7bae2fe31b07

See more details on using hashes here.

Supported by

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