The purpose of the tool is to use artificial intelligence to mutate a malware (PE32 only) sample to bypass AI powered classifiers while keeping its functionality intact. In the past, notable work has been done in this domain with researchers either looking at reinforcement learning or generative adversarial networks as their weapons of choice to modify the states of a malware executable in order to deceive anti-virus agents. Our solution makes use of a combination of deep reinforcement learning and GANs in order to overcome some of the limitations faced while using these approaches independently as showen below.
Find our full documentation for the tool here
Installation Instructions
⚠️ Since this tool deals with malware files, it is strongly recommended to use a virtual machine. After installation of the tool, make sure to disconnect from the network.
The following steps will guide you through all the installations required to set up the environment.
Mutate Your Malware
The output from GAN has already been stored as (RL_Features/adverarial_imports_set.pk
and RL_Features/adverarial_sections_set.pk
) which will be used for when adding imports and sections to the malware for mutation.
python classifier.py -d /path/to/directory/with/malware/files
mutate.py
python script to mutate your malware samples. python mutate.py -d /path/to/directory/with/malware/files
Mutated_malware/mutated_<name-of-the-file>
python classifier.py -d Mutated_malware/
Known Issues & Fixes
⚠️ WARNING: This segment is currently under construction. We apologize for any inconvinience caused. Please proceed to the next section. click here
pip install -r requirements.txt
gives you an error. Solution: pip install tqdm pip install sklearn pip install lief
python main_malgan.py
script. Solution: pip install tensorboardX
cd portable-executable/ chmod 777 project-add-sections/bin/Debug/project-append-section chmod 777 project-add-imports/bin/Debug/project-append-imports
Built With
Authors
Acknowledgments
garak checks if an LLM can be made to fail in a way we don't…
Vermilion is a simple and lightweight CLI tool designed for rapid collection, and optional exfiltration…
ADCFFS is a PowerShell script that can be used to exploit the AD CS container…
Tartufo will, by default, scan the entire history of a git repository for any text…
Loco is strongly inspired by Rails. If you know Rails and Rust, you'll feel at…
A data hoarder’s dream come true: bundle any web page into a single HTML file.…