GithubHelp home page GithubHelp logo

compass's Introduction

MITRE Caldera Plugin: Compass

Plugin supplying Caldera with ATT&CK visualizations

compass's People

Contributors

clenk avatar elegantmoose avatar iguannalin avatar jamiescottc avatar khyberspache avatar privateducky avatar scottctaylor12 avatar tonygoda avatar unkempthenry avatar wbooth avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

compass's Issues

An error occurred when trying to "Upload Adversary Layer".

When I downloaded a layer created with ATT&CK navigator using "Download layer as JSON" and uploaded the file with "Upload adversary layer", I got the following error message in the console.

'>' not supported between instances of 'NoneType' and 'int'

The error was caused by the following source code

app/compass_svc.py: line 83

            if technique.get('score') > 0:

After making the following changes, the error no longer occurs.

            if technique.get('score', 0) > 0:

Programming error in compass_svc.py

The compass isn't working with Caldera MITRE to create an adversary profile from COMPASS GUI. I have uploaded the json file, which was created from the ATT&CK matrix to the COMPASS GUI by clicking Upload Adversary Layer button.

Although the adversary.yml file is created in the caldera/data directory I saw an extra field in the file, key: value pair being i: UUID. Then I checked the create_adversary_from_layer function in the compass_svc.py file, where I found that instead of the parameter being id it was i (check it in the 2nd try block, adversary_data = dict(i=str(uuid.uuid4()),).

I have changed the variable to id and the COMPASS module worked fine. Please check the issue and update the code.

Generate layer 'check' then use it to generate adversary result in 3x times abilities.

I used a compass to generate layer for check adversary profile (which has 12 abilities), I downloaded the layer.json file. Then I feed it (layer.json) to generate adversary. The generated adversary has 42 abilities, while the layer.json file was generated for the check adversary which has 12 abilities.

Setup: Caldera version 2.8.0-909597268607e7cbca77bd22c462fb22 in Docker version 18.09.7 in Ubuntu 16.04.

layer.txt

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.