GithubHelp home page GithubHelp logo

amadeus's Introduction

AMADEUS: AutoMAteD secUrity teSting

AMADEUS is a framework solution to enable and help the automatic analysis and testing of cybersecurity vulnerabilities of configuration systems based on feature models. AMADEUS can automatically analyse the organisation infrastructure determining the vulnerabilities by querying vulnerability repositories.

Setting up

Requirements

The minimum software requirements to run AMADEUS are:

  • Python 3
  • An Internet connection

In addition, if you plan to run automatic network-based vulnerability tests, you may need to install Nmap in your system and configure your path properly.

Installation

This step involves the process of retrieving and installing required dependencies (modules) that AMADEUS requires. To proceed, open a new shell interpreter and simply run the following commands:

$ cd /path/to/amadeus $ pip install -r requirements.txt

Usage

AMADEUS supports two types of execution. In either of those, you can type the command --help to display the following explanatory dialog.

$ python main.py -h

usage: main.py [-h] [-k KEYWORD] [-e] [-a] [-t TARGET]


optional arguments:

-h, --help  show this help message and exit

-k KEYWORD, --keyword KEYWORD

	Keyword used to perform a manual CVE search on NVD

-e  If the results from NVD must be an EXACT match of the

	keywords or just contain them

-a  Launches NMAP to perform an automatic search of

	vulnerabilities

-t TARGET, --target TARGET

	CIDR block or host target of the automatic analysis

Automatic network analysis

By running the program in this mode, AMADEUS will launch a Nmap analysis to the specified IP (or CIDR block) and identify relevant information of the target system. These details will be used to retrieve potentially related CVE flaws and vector attacks on an online vulnerability database (NVD).

In order to perform an automatic analysis to a specific network, you may run the following command:

$ python main.py -a -t 192.168.1.1

Target (-t/--target) can also be a CIDR block:

$ python main.py -a -t 192.168.1.1/24

Keyword-based manual analysis

By running the program in this mode, AMADEUS will use provided keywords to retrieve potentially related CVE flaws and vector attacks on an online vulnerability database (NVD).

To provide your own keywords and perform a search based on them: $ python main.py -k "YOUR_KEYWORD"

Tips

  • Optionally, you can set the flag -e in both approaches to ensure that results obtained from NVD do not only contain the keywords, but they appear in the exact same order.

  • Models generated by AMADEUS and their respective constraints (if applicable) may be found under the directory fm/models .

Output & Examples

Feature models inferred by AMADEUS are expressed using the FaMa formatting. A tool compatible with this kind of format can be then used to perform a series of operations over these models.

In order to stage a running example, let's suppose we have discover that the Nginx server of our organization is running version 1.7. To obtain related vulnerable configurations (or attack vectors) we may instruct AMADEUS to derive a model from that information:

AMADEUS Step 1

This operation will effectively create some models with the vulnerabilities detected under the path fm/models. Now, lets try to load the model with a FaMa compatible tool (like FaMaShell-Docker) and apply some operations over it:

AMADEUS Step 2

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.