misp-playbooks

MISP playbooks - structure

Introduction

MISP playbooks address common use-cases encountered by SOCs, CSIRTs or CTI teams to detect, react and analyse specific intelligence received by MISP.

MISP playbooks are built with Jupyter notebooks and contain

The computer code uses PyMISP to interact with MISP but can also rely on the Python requests library. The interaction with other tools and services is via their API and the help of Python libraries such as the Timesketch, Shodan or VirusTotal Python clients. When no Python library is available the ‘requests’ library is used to interact with the API.

Conventions and terminology

The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in RFC 2119 RFC2119.

Format

MISP playbooks inherit the format of Jupyter notebooks. Jupyter notebooks are simple JSON documents, containing text, source code, rich media output, and metadata. Each segment of the document is stored in a cell.

Structure

Three sections

Each MISP playbook must contain three sections

Each section is added as one or more Jupyter notebook cells.

Introduction

The introduction must be present. It exists as one or more notebook cells in Markdown format. In a later stage this can be transformed to a more structured (JSON) format or use the Jupyter notebook metadata section.

The steps to execute

The list of steps to execute for the playbook must be present. They consist of:

One playbook execution step is one or more Jupyter notebook cells.

Execution steps

Each playbook step

Documentation

This documentation lists

Closure

The last part of the playbook is the closure with

Technical details

The technical detail section contains an overview of the required Python libraries, the needed network flows such as firewall rules, the account setup (such as API keys) or other technical requirements to support the execution of this playbook.

Overview

assets/playbook-structure-playbook-structure.drawio.png