Coder Social home page Coder Social logo

emiliopanti / caldera Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mitre/caldera

0.0 0.0 0.0 13.02 MB

An automated adversary emulation system

License: Apache License 2.0

Python 45.89% Dockerfile 0.09% Shell 1.68% CSS 14.66% JavaScript 20.00% HTML 17.69%

caldera's Introduction

Release Build Status Documentation Status

Sandcat Mock Terminal SSL Stockpile Caltack Compass Access
Build Status Build Status Build Status Build Status Build Status Build Status Build Status Build Status

CALDERA

CALDERA is an automated adversary emulation system, built on the MITRE ATT&CK™ framework. It is currently an active research project at MITRE.

CALDERA works by attaching abilities to an adversary and running the adversary in an operation. Full documentation for this system can be found on ReadTheDocs, as well as by clicking on the Docs tab within the C2 UI.

Requirements

  • Python 3.6.1+
  • Google Chrome is our only supported/tested browser

Additionally, this code (the C2 server) is intended to be run on Linux or MacOS. The agents - which connect to the C2 - can run on Windows, Linux and MacOS.

Installation

Start by cloning this repository recursively, passing the desired version/release in x.x.x format. This will pull all available plugins.

git clone https://github.com/mitre/caldera.git --recursive --branch x.x.x 

Next install the PIP requirements

pip install -r requirements.txt

Instead of running the step above, you could run the auto-installer.sh script to automatically configure CALDERA in our recommended way.

Finally, start the server

python server.py

Video tutorial

Watch the following video for a brief run through of how to run your first operation.

IMAGE ALT TEXT HERE

Quick start

To understand CALDERA, it helps to run an operation. Below are pre-built missions you can execute to understand the system. The missions assume CALDERA is running locally.

Mission #1: Nosy Neighbor

Perform reconnaissance on a compromised laptop. Your employer needs a list of the laptop user’s preferred WIFI networks. Grab this list, collecting anything else along the way, then knock the user offline. Finally, get out. Quickly. Leave no trace. There is one caveat: the laptop’s AV scans the machine in full every minute. You must complete this mission in less than 60 seconds.

Start a 54ndc47 agent on the same computer as CALDERA. Do this by opening a terminal and pasting in the correct delivery command for your operating system. You should be welcomed by a log message indicating the agent has sent a "beacon" to CALDERA.

Move to a browser, at 127.0.0.1:8888, logging in with the credentials admin:admin. Click into campaigns and use the "Operations" section to fire off an operation using the "nosy neighbor" adversary and the my_group group. Fill in an operation name but leave all other fields at their defaults.

Once the operation is complete, compare the execution time of the first and last commands. Was the mission a success? Did the adversary run without a trace? Can you figure out why the abilities are being run in the order they are?

Mission #2: File Hunter

A laptop containing secret, sensitive files has been compromised. Scan the computer for files which match the file extensions (.txt and .yml) the sensitive files are known to have. Then steal the files.

Similar to mission #1, start a 54ndc47 agent and confirm it "beacons" back to CALDERA.

Once confirmed, move to a browser at 127.0.0.1 and click into the campaigns -> operations section and start a new operation, choosing the hunter adversary and the group my_group.

Did the operation find the sensitive files? How many? Can you determine how it determines which files are sensitive? Hint: you may want to read about facts.

Mission #3: Terminal

You need to navigate through a compromised host but you fear an autonomous agent may draw too much attention. You need to use a traditional reverse-shell to gain manual shell access.

Inside CALDERA, enable the terminal plugin by updating the conf/default.yml file and restart the server.

Once confirmed, move to a browser at 127.0.0.1 and click into the plugins -> terminal section and deploy a terminal agent on a compromised host using the 1-line delivery commmands available. Then, refresh and check the sessions drop-down and you should see a new reverse-shell session. Select this session and use the UI to manually interact with the host.

Can you figure out how to deploy the reverse-shell by running a regular CALDERA operation?

Developers

We use the basic feature branch GIT flow. Create a feature branch off of master and when ready, submit a merge request. Make branch names and commits descriptive. A merge request should solve one problem, not many.

Licensing

In addition to CALDERA's open source capabilities, MITRE maintains several in-house CALDERA plugins that offer more advanced functionality. For more information, or to discuss licensing opportunities, please reach out to [email protected] or directly to MITRE's Technology Transfer Office.

Related MITRE Work

BRAWL Game - Data set created by the BRAWL project representing one CALDERA operation with data collected by Microsoft Sysmon and other sensors.

CASCADE - Prototype blue team analysis tool to automate investigative work.

Acknowledgements

Atomic Red Team

caldera's People

Contributors

artificialermine avatar brianedmonds90 avatar bstrom avatar cabanuel avatar christophert avatar clenk avatar dm-mitre avatar elegantmoose avatar emiliopanti avatar garunagiri avatar hack-beard avatar jsgarrison avatar jstroud-mitre avatar khyberspache avatar kiwings avatar littlehack3r avatar lsanchez79 avatar mrengstrom avatar nickamon avatar omergunal avatar privateducky avatar rdminter avatar rfrank27 avatar scottctaylor12 avatar tvpatterson avatar unkempthenry avatar uruwhy avatar wbooth avatar wietze avatar xxproto 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.