Giter Club home page Giter Club logo

chameleon's Introduction

Chameleon

Chameleon, a framework for testing the anti-evasion capabilities of PDF malware scanners, runs in four independent steps as shown in the figure below. This repository contains the code base for steps Generate and Assess.

chameleon_framework_overview

Moreover, the set of 1395 malicious and evasive PDF files that is used in our study is available. The set can be used to benchmark a malware scanner in its anti-evasion abilities. Email Saeed Ehteshamifar ([email protected]) if you're interested in obtaining the set. For more details about the framework refer to our paper.

Usage

Prerequisites

The following packages are needed to use the framework.

Linux/macOS packages:

  • mysql-server (>= 10.1.26)
  • metasploit-framework (>= 4.16.7)
  • ruby (>= 2.3.3)
  • pip (>= 9.0.1)
  • bundler (>= 1.15.1)

Python packages (pip install):

  • PyMySQL (>= 0.7.11)
  • pytz (>= 2018.9)

Generate

  1. Edit Gemfile in Metasploit's installation directory (probably /usr/share/metasploit-framework or /opt/metasploit-framework/embedded/framework) and add an entry for Origami-PDF and Chunky PNG:
gem 'origami'
gem 'chunky_png'
  1. Run Bundler in the same directory to install the newly required Gem:
metasploit-framework# bundle
  1. Clone this repository, go its directory, and copy the content of metasploit_modules directory to msf4:
Chameleon# cp -r ./src/metasploit_modules/* ~/.msf4
  1. In Chameleon src directory, run generator.py to generate the test suite.
src# ./generator.py

Edit testcases.py to control which payloads, exploits, and evasions are used in the generation process.

Assess

  1. Scan a test suite with an analyzer and write the results to the database with the scheme defined in database-scheme.txt.
  2. Implement the functions in analyzers_list.py according to the comments above the file and the analyzers used in the previous step.
  3. Run results_parser.py:
src# ./results_parser.py

chameleon's People

Contributors

michaelpradel avatar

Stargazers

Anton Kraft avatar micsnare avatar

Watchers

James Cloos avatar Saeed Ehteshamifar avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.