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 alpha, and may change in ways that breaks backwards compatibility as developement continues.

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.2.1.tar.gz (87.7 kB view details)

Uploaded Source

Built Distribution

multidecoder-1.2.1-py3-none-any.whl (104.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: multidecoder-1.2.1.tar.gz
  • Upload date:
  • Size: 87.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.18

File hashes

Hashes for multidecoder-1.2.1.tar.gz
Algorithm Hash digest
SHA256 31d1bcc3ea1c38a29894fc1cca5ad4962d7f2ae1d979f240ea83c3e0e21ae8ee
MD5 5aa20977bd5d2d1e9dfcedb9f22f3d4c
BLAKE2b-256 cdcfe55f485fdd81ea0e662b7bb3fc8215ece332c58ba93248342824f10a417b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: multidecoder-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 104.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.18

File hashes

Hashes for multidecoder-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 45d5509052b93bfb8af3f8e28ab4653d737eb15d0cf89084c44f734c8464c3bc
MD5 07e3bb233a1ad6cf76587b6048d1c3e8
BLAKE2b-256 8841f098a631920da3cda7a71edd3b85bc12b7d746dfb94056d98684e616c142

See more details on using hashes here.

Supported by

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