Code Monkey home page Code Monkey logo

rmml's Introduction

RMML

RMML is the Remote Management and Monitoring (tool) List. A decision was made to also include remote network access tools such as ngrok and tailscale. It is a list of RMM tools with associated metadata that aims to be useful for IT and Security teams.

The use case this was created for is a security team who wants to monitor their environment for RMMs that aren't supposed to be there (or for all of them). CI in the releases will include the contents of the RMMs folder in forms designed to be consumed by various EDRs and alerting mechanisms. It is released in the complete form as well as with individual exclusions for easy exclusion of your RMM of choice.

Currently supported CI integrations are:

  • Carbon Black

PRs are welcome and encouraged!

Desired Definitions

If you're looking to make a PR, the following is a list of desired definitions:

  • zoho assist (PR: #10)
  • splashtop
  • ScreenConnect (PR: 9, thanks to @signifi3d)
  • Remote Utilities
  • AnyConnect
  • Chrome Remote Desktop
  • Rustdesk (PR: #1)

Using it:

Carbon Black: see the CarbonBlack directory

Schema

New RMMs should be added as a new file in the RMMs directory.

Each new RMM should be in the format:

Note that executables are assumed to have a wildcard to start the path. so baz/bar will be assumed to match /baz/bar and /some/path/baz/bar

Executables:
    SignerSubjectName: <code signing subject name> (mostly useful for Windows and *nix)
    MacOSSigner: <MacOS code signing name>
    Windows:
        - list 
        - of
        - executables
    MacOS:
        - list 
        - of
        - executables
    Linux:
        - list 
        - of
        - executables
NetConn:
    Domains:
        - domains
        - "*.wilcards.allowed"
    Ports:
        - 443
        - 8080

Example (from ./RMMs/TeamViewer.yml):

Executables:
  SignerSubjectName: TeamViewer GmbH
  MacOSSigner:
  Windows:
  - TeamViewer.exe
  - TeamViewer_Setup.exe
  MacOS:
  - TeamViewer
  Linux:
  - TeamViewer
NetConn:
  Domains:
  - '*.teamviewer.com'
  Ports:
  - 5938

A blank to make life easy for creating PRs:

Executables:
  SignerSubjectName:
  MacOSSigner:
  Windows:
    - 
  MacOS:
    - 
  Linux:
    - 
NetConn:
  Domains:
    - 
  Ports:
    - 443

rmml's People

Contributors

livinginsyn avatar signifi3d avatar korving-f avatar devinbfergy avatar threathntr avatar

Stargazers

James Nimmo avatar Binary-Hex-Decimal avatar  avatar  avatar Aaron K. Clark avatar Todd Baur avatar  avatar Princeton Baker avatar  avatar  avatar  avatar  avatar Jon avatar  avatar  avatar hidd3ncod3s avatar  avatar k0grad avatar u2i avatar Nicolas Vincent avatar  avatar Markus M. avatar  avatar  avatar  avatar  avatar Rocco Gränitz avatar yk avatar krbtgt avatar Ben avatar ik5 avatar  avatar  avatar Raba38 avatar  avatar  avatar Selman avatar Andry Smirnov avatar  avatar ASattar1999 avatar OPFUCHS avatar Stewart R Sykes avatar farhan nadim pial avatar  avatar  avatar Isuru Tharanga avatar  avatar cocoonk1d avatar Ronnie Salomonsen avatar Choi avatar  avatar Daniel Müller avatar  avatar Zyadon7 avatar NovTangoPapa avatar Jamin Becker avatar itsallpretend avatar Minoru Kobayashi avatar Jo Provost avatar  avatar  avatar  avatar  avatar  avatar Bob of DevOps avatar sreynaert avatar Thijs0x57 avatar David André avatar  avatar  avatar Deepak Kumar Ray avatar yoon jaeheng avatar  avatar Amarjit Singh avatar Maguin avatar Derek Gates avatar Brendan avatar rn0ch4 avatar Aarjav Parashar avatar th3k3ymak3r avatar  avatar  avatar  avatar Paweł Jacewicz avatar  avatar gr00t avatar Þ4ŊD³m¹©BøY avatar zer0lightning avatar Dominique avatar  avatar Giuseppe Massaro avatar naj avatar  avatar Willem D'Haese avatar  avatar  avatar Arnim Rupp avatar  avatar Drew Hjelm avatar  avatar

Watchers

 avatar  avatar hidd3ncod3s avatar  avatar Arnim Rupp avatar

rmml's Issues

Feature Request: Generate JSON object from YAML files in Workflow

Consuming the entire project is typically easier when using JSON objects (e.g., Tools like Sentinel / Defender can make use of an externaldata operator).

It would be nice to see the YAML files being converted into a consumable JSON object through your github workflows.

See for example Sysmon and Loldrivers.
This last one ties also into #17 since it shows an example for the auto sigma-rule creation logic.

See below a quick snippet I used to generate it for myself.

import yaml
import json
from pathlib import Path

# Read in all RMM-definition files
files = Path('./RMMs').rglob('*.yml')

# Initialize final JSON array 
final_json_object = []

# Go over each file and append the YAML object
for file in files:
    with open(file,'r') as yaml_in:
        yaml_object = yaml.safe_load(yaml_in)
        final_json_object.append(yaml_object)

# Write out the final JSON to file
with open('rmm.json','w') as f:
    f.write(json.dumps(final_json_object))
# requires dependency installation
$ pip install pyyaml

P.s. Awesome project and congratulations ^_^
image

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.