Skip to main content

A context preserving IOC extraction library

Project description

Multidecoder

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

The latest Multidecoder can be installed from the repository:

pip install -U https://github.com/CybercentreCanada/Multidecoder/archive/main.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-0.0.9.tar.gz (75.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-0.0.9-py3-none-any.whl (96.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: multidecoder-0.0.9.tar.gz
  • Upload date:
  • Size: 75.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.12

File hashes

Hashes for multidecoder-0.0.9.tar.gz
Algorithm Hash digest
SHA256 933595b1765b135771522681714ed2a5db6cf15eee82b874656deb363b9fd381
MD5 267c3851867070a249a4804cf26544cc
BLAKE2b-256 651bbd2a37581aea6c55355343973ecd108eb9a6f60b8902473ee14db5c856e3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: multidecoder-0.0.9-py3-none-any.whl
  • Upload date:
  • Size: 96.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.12

File hashes

Hashes for multidecoder-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 50e9ff930ac98ea52b25b857a8c9be0b04d474debbb2db9cfb357cf4354e3da7
MD5 ceaf7f34b62a8d04a23870001ebebc1c
BLAKE2b-256 e3d368141a7a78bf57a6d4399f89e3588df6f49eb7949705e47196e21cab7861

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