Git Product home page Git Product logo

s2an's Introduction

Build and deploy to AWS S3

S2AN

S2AN - Mapper of Sigma/Suricata Rules ➡️ MITRE ATT&CK

S2AN is a standalone tool developed in .NET Core, available for both Linux and Windows (x64), meant to interact with a folder holding Sigma rules as well as Suricata signatures. Currently the following features are supported:

  • Create an ATT&CK Navigator layer based on the techniques covered by:
    • Sigma rules
    • Suricata signatures
  • Identify mismatches between tactics and techniques in the Sigma rule files, that could result from improper categorization or updates to the framework

Our main motivation behind its development was to have a tool that we could reference in a CI/CD pipeline when running in a minimal build environment (without having or wanting to install Python dependencies).

Some of S2AN features are based on a similar tool available in the official Sigma repository.

Example output

$ ./S2AN -d rules/ -w
 
S2AN by 3CORESec - https://github.com/3CORESec/S2AN
 
[*] Layer file written in sigma-coverage.json (6 rules)
 
Attention - mismatch between technique and tactic has been detected!
MITRE ATT&CK technique (T1543.003) and tactic (defense-evasion) mismatch in rule: rules/win_eventlog_service_start_type_mod_error.yml
MITRE ATT&CK technique (T1543.003) and tactic (defense-evasion) mismatch in rule: rules/win_eventlog_service_start_type_mod.yml
MITRE ATT&CK technique (T1003.003) and tactic (credential-dumping) mismatch in rule: rules/win_susp_vssadmin_ntds_activity.yml

Download

You are free to review the source code we make available in this repository.

The pre-compiled binaries are available for download and you can reference them in your pipeline (or download for manual execution) as they will always point towards the latest version:

Running S2AN

  • Generate Navigator layer: ./S2AN -d folder_with_sigma_rules/
  • Generate Navigator layer and identify mismatch: ./S2AN -d folder_with_sigma_rules/ -w
  • Generate Navigator layer from Suricata signatures: ./S2AN -s -d folder_with_signatures/

Tactic & Technique mismatch

In order to make use of the detection of mismatches in your rules, S2AN expects the following format (this feature is only available for Sigma rules):

tags:
  - attack.persistence
  - attack.t1543.003
  - attack.defense_evasion
  - attack.t1562.002
  - attack.t1543.003

Example Layer

Visit this URL for an example visualization using ATT&CK Navigator of a layer created by S2AN against the public Sigma rules (as of 02-05-2020).

s2an's People

Contributors

0xtf avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar

s2an's Issues

Add support to Layer 3.0

Change S2AN to generate layers using the 3.0 format, which is the current stable and the one in use at the hosted ATT&CK Navigator

Example layer for 3.0 is available here.

Judging by the fields we utilize it should be enough to just updated version in the output json.

-s suricata command not working

Hi , I try to map Suricata rules to attck with following command:
S2AN.exe -s -d rules\ -o output
but it returns "Problem writing to file: Sequence contains no elements"

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.