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 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 004bf581d760d5d633835c37941d9d1de983e0673ea4c5dcf35e060864e8f678 |
|
MD5 | 7ff5a16f103498070230fafa878edbd0 |
|
BLAKE2b-256 | 2c51a11dff3d7824dfb3cec730135036d17a28ff0439fc8d868cd9d92feafe95 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 39e4a8708c4f380c42726cc8f48963601530235958e3f20ff55b6067259e470d |
|
MD5 | 6e812b2ddc7a611ca6e7d598a2ba20d1 |
|
BLAKE2b-256 | f9894e3a8ee02d3e303dd7b740d5a4cf5f250c258a5c6329a34f7bae2fe31b07 |