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.0.post2.tar.gz (86.7 kB view details)

Uploaded Source

Built Distribution

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

multidecoder-1.2.0.post2-py3-none-any.whl (104.1 kB view details)

Uploaded Python 3

File details

Details for the file multidecoder-1.2.0.post2.tar.gz.

File metadata

  • Download URL: multidecoder-1.2.0.post2.tar.gz
  • Upload date:
  • Size: 86.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for multidecoder-1.2.0.post2.tar.gz
Algorithm Hash digest
SHA256 4b9d585157dd5232e2e7678b36d24fe23fa1884ebfe06651e1f4d71648cdf29d
MD5 0471573c9b24cff59feafac9777801f6
BLAKE2b-256 ab8237ebd88d20584d53143287ff1bdc056de93ccaec529cc1d21e2ad4b56d77

See more details on using hashes here.

File details

Details for the file multidecoder-1.2.0.post2-py3-none-any.whl.

File metadata

File hashes

Hashes for multidecoder-1.2.0.post2-py3-none-any.whl
Algorithm Hash digest
SHA256 a14850fbc90c87aa587cc57629b7f34d56f9d23b85808f1d5e5118a1f24d2bbc
MD5 72ecc780f04ef43b4554ea33b0a52c24
BLAKE2b-256 d4367e68cbdc61e5cfd54d9df54ca44c9d05157e95efb6be0510cf147794117f

See more details on using hashes here.

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