Giter Site home page Giter Site logo

misp / misp-playbooks Goto Github PK

View Code? Open in Web Editor NEW
163.0 10.0 16.0 11.45 MB

MISP Playbooks

Home Page: https://misp.github.io/misp-playbooks/

License: BSD 2-Clause "Simplified" License

Python 0.37% Jupyter Notebook 99.63%
misp playbooks misp-playbooks cti cyber-security threat-intelligence

misp-playbooks's Introduction

MISP playbooks

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

The MISP playbooks are built with Jupyter notebooks and contain

  • Documentation in Markdown format, including text and graphical elements;
  • Computer code in the Python programming language, primarily with the use of PyMISP to interact with MISP and other sources for enrichment and notification.

Documentation

This repository contains the documentation to get started with MISP playbooks.

Playbooks

The repository contains these playbooks

Title Purpose Playbook Issue
Geolocate IP addresses and calculate distance This playbook gets the IP addresess in a MISP event (ip-src and ip-dst). It then queries for the geolocation of these addresses via MMDB, puts them on a map and calculates the distance between coordinates with the help of Geopy. The map is attached as a screenshot to the MISP event, the findings are added as a MISP report, stored in the playbook and sent to Mattermost. MISP Playbook

MISP Playbook with output
20
Query Timesketch for threat intelligence and report sightings in MISP and Mattermost This playbook queries Timesketch for matches based on MISP search results (indicators). The MISP search is configured by the analyst with mandatory tags, exclusion tags, and optional attribute type filters. The resulting attributes are then used to query Timesketch. You can limit the results and save the search in Timesketch. The results are summarised in the playbook, added as sightings in MISP, and sent as a notification to Mattermost. As an extra, there's a sample Bash script for importing EVTX files (e.g., from https://github.com/sbousseaden/EVTX-ATTACK-SAMPLES) MISP Playbook

MISP Playbook with output
6
Create a MISP event from Microsoft Sentinel security incidents This playbook extracts information from Microsoft Sentinel security incidents, parses the associated alerts and entities, and extracts useful indicators. A new MISP event is created with the incident summary, and the indicators are added to the MISP event. Sightings are also added to the indicators. At the end of the playbook, a summary is displayed and shared via Mattermost. The playbook uses credentials (tokens) obtained through an Azure App. Additionally, it includes a section on uploading custom logs to Sentinel, which was used during development and can be relevant for other purposes. MISP Playbook

MISP Playbook with output
34
JARM fingerprint investigations with Censys, Shodan and MISP This playbook enables the investigation of JARM fingerprints which you can then use for threat actor infrastructure tracking. It verifies the existence of these fingerprints in MISP events and active OSINT feeds. The playbook then queries Censys and Shodan to identify hosts with services that match the fingerprints. The results are added to a MISP event as MISP objects and event reports. At the conclusion of the playbook, a summary is displayed and shared via Mattermost. MISP Playbook

MISP Playbook with output
19
Query Elasticsearch for threat intelligence and report sightings in MISP and Mattermost A playbook to query Elasticsearch with the results (indicators) of a MISP search. The MISP search can be filtered on attribute type and tags. Results are displayed in the playbook, plotted on a graph and sent to Mattermost. Matches in Elasticsearch are also reported as MISP sightings. MISP Playbook

MISP Playbook with output
5
Malware triage A playbook to provide an analyst sufficient information to do basic malware triage on one or more samples. Samples are attached to a MISP event (with file object relations). VirusTotal and MalwareBazaar are used to get the detection rate, threat classification and sandbox information. Hashlookup is used to check for known hashes. PEfile analysis is done for imports and exports. The results are stored in MISP reports and as MISP objects where relevant. Correlations with MISP events or data feeds are added to a summary. The sample is shared with a local instance of MWDBcore. MISP Playbook

MISP Playbook with output
2
Malware triage - dynamic malware analysis This playbook extends the results retrieved with static malware analysis in the malware triage playbook and does the dynamic malware analysis with one or more sandboxes.
This playbook uses VMRay, Hybrid-Analysis and VirusTotal as malware sandboxes. The results are stored in a MISP report and sent to Mattermost.
MISP Playbook

MISP Playbook with output
3
Malware triage - Query file hash This playbook is complementary to the playbooks for static malware analysis and dynamic malware analysis and investigates file hashes. This way you can discover with which malware a hash corresponds. It checks if the hashes are found on MISP warninglists, in MISP events or in MISP feeds. The playbook uses the information from VirusTotal, Hashlookup and MalwareBazaar to provide context information on hashes. It creates a MISP report for each hash and then sends a report to Mattermost. MISP Playbook

MISP Playbook with output
15
Threat actor profiling Query MISP events associated with a specific threat actor.
Summarises the galaxies, clusters and tags from the MISP events, lists the vulnerabilities (CVE) and the actionable indicators.
Optionally query the MITRE TAXII server to get a list of associated techniques and software.
Results are stored in the playbook and sent to Mattermost and TheHive.
MISP Playbook

MISP Playbook with output
26
Query CVE information Query MISP events for the use of specific CVEs. List these events with their context (galaxies, focus on MITRE ATT&CK).
Query public sources (CVE search, vulners, XForceExchange, exploitdb) for additional CVE information.
Results are stored in the playbook, in a MISP event and sent to Mattermost and TheHive.
MISP Playbook

MISP Playbook with output
25
Query IP reputation Query for the reputation of one or more IPs. It combines the reputation scores from VirusTotal, Shodan, Greynoise and AbuseIPDB into one MISP report. The playbook adds the known associated domains, the abuse contacts and the geo information from MMDB. All information is added to a MISP event, summarised and send to Mattermost and TheHive. MISP Playbook

MISP Playbook with output
12
Query domain reputation Query enabled OSINT feeds and MISP events for matches with one or more domain name(s).
Query URLscan for historical scans related to these domains and extract screenshots.
Use MISP modules to look up the DNS resolutions and query VirusTotal, Shodan and URLhaus for information related to the domains.
Results are stored in the playbook, in a MISP event and sent to Mattermost and TheHive.
MISP Playbook

MISP Playbook with output
13
Query for inconsistencies in MISP events This playbook checks for inconsistencies in the event distribution, the TLP designation and the PAP marking.
The playbook also verifies if events contain sufficient attributes, objects, tags or galaxies. There are also checks for inconsistencies with the workflow tags, a taxonomy that is often used during threat intelligence curation. The results are listed in the playbook and sent to Mattermost.
Note that MISP has also built-in checks encoded in DefaultWarning.php
MISP Playbook

MISP Playbook with output
22
Curate threat events This playbook queries for MISP events that require curation and addresses the remaining curation tasks. In general you run this playbook after your automatic or manual curation process has highlighted the events that require a review but you can also force the playbook to curate all events. This playbook uses the hashlookup and mmdb_lookup MISP modules.
The curation tasks include disable to_ids for attributes matching a warninglist, disable to_ids for attributes matching known software (via hashlookup), add a GalaxyCluster with the location of an IP (via mmdb_lookup), add TTPs, based on string matches in the event title, tag attributes that are also in MISP feeds (tagging allows easier filtering afterwards). The results are summarised and shared with Mattermost.
MISP Playbook

MISP Playbook with output
21
Curation: disable decayed indicators This playbook disables decayed indicators. It uses a custom decaying model defined in this playbook but can also rely on the MISP build-in models. When an indicator is considered decayed, the to_ids flag is set to False and the attribute is tagged.
The build-in decaying feature of MISP adds a (decay) score to an indicator but does not automatically disable it. This playbook allows you to do just that. The playbook can exclude or include attributes that are tagged with specific labels. Use this MISP playbook together with the Curate threat events and Query for inconsistencies in MISP events playbook for optimal threat intelligence curation result. The results are summarised at the end of the playbook and shared with Mattermost.
MISP Playbook

MISP Playbook with output
30
Create a custom MISP warninglist Create a custom MISP warninglist with a set of entries provided by the analyst as input. A check is done if the warninglist already exists. If the warninglist exists then the entries are added to the existing warninglist. When the warninglist is created the MISP events are queried for matches ('retro-search').
Query Shodan and VirusTotal for matches with entries in the warninglist. The result of the creation of the warninglist as well as the matches is summarised aand sent to Mattermost and added as an alert in TheHive.
MISP Playbook

MISP Playbook with output
7
Retroscan with a MISP warninglist This playbook does a retroscan to check for attributes matching the values in a warninglist. You can then disable the to_ids flag or add a tag or comment. This playbook is often used for threat intelligence curation when you add a new warninglist to MISP.
The results are summarised, sent to Mattermost and added as an alert in TheHive.
MISP Playbook

MISP Playbook with output
8
Create MISP objects and relationships This playbook walks the analyst through the phases of creating MISP objects and adding a relationship between these objects.
The playbook is typically triggered when an an analyst wants to add related, contextually linked, attributes to a MISP event.
The objects are added to a new or an existing MISP event. The playbook prints out a summary that can be used to notify colleagues via Mattermost.
The playbook uses an Emotet sample to demonstrate the functionality, with links from a file object to URL and HTTP request objects. It also creates the victim objects.
MISP Playbook

MISP Playbook with output
11
Create or update a MISP event with information from a phishing incident with a link This playbook creates a MISP event with details of a phishing incident.
The playbook requires the phishing indicators such as the links, e-mail body, headers, subject and senders as input. It encodex these values as attributes and objects. It creates relationships between the objects and sets default tags and MISP clusters.
Query MISP events and OSINT feeds for matches with the indicators. URLscan is queried for the links in the e-mail and historical scan results and screenshots are imported in the playbook and MISP. Use IP and ASN information of the location where the URL is hosted. Submit URLs to Lookyloo for further analysis.
A final report with indicators is summarised in the playbook and sent via chat to Mattermost.
The results can also be added as an alert to TheHive.
MISP Playbook

MISP Playbook with output
1
Using timestamps in MISP A playbook that documents the different timestamps that are used in MISP.
Go through the timestamp for publishing and last changes as well as how these can be used in search queries.
Document what changes a timestamp in a MISP event.
MISP Playbook

MISP Playbook with output
42
Provision users and organisations This playbook creates users and organisations with PyMISP. It also shows how to reset a password and delete or disable users. It includes an example how to get the user logs and how to create large number of users at once. MISP Playbook

MISP Playbook with output
43
Bulk delete MISP events A playbook to assist MISP users in doing bulk deletes of MISP events. Deletes are done for events created by organisations, for events before or after specific dates, published or unpublished events or for events with specific tags. A summary of the actions is printed and published on Mattermost. MISP Playbook

MISP Playbook with output
29
Jupyterthon 2024 MISP playbook A playbook to demonstrate MISP playbooks at Jupyterthon 2024 MISP Playbook 51
Skeleton MISP playbook This playbook can be used as a skeleton (or template) to start new MISP playbooks. Use MISP playbook guidelines to create a new MISP playbook.

Requesting new playbooks

If you identify a missing playbook then submit a New MISP playbook proposal via the GitHub issue tracker.

misp-playbooks's People

Contributors

adulau avatar cudeso 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

misp-playbooks's Issues

Disable old indicators

The title of the playbook

Disable old indicators

Purpose of the playbook

This playbook uses input from the analysts (a matrix with defaults such as IPs: 30d, hashes:300d, URLs: 100d) and removes the to_ids flag from indicators older than the supplied value. Changed attributes are tagged and the events to which they belong is republished. A summary of the changes is included in the result of the playbook. This is a playbook similar to the decaying of indicators feature.

External resources used by this playbook

Mattermost (or Slack), TheHive (optional), DFIR-IRIS (optional)

Target audience

CTI

Breefly list the execution steps or workflow

No response

Disable indicators based on warninglists

The title of the playbook

Disable indicators based on warninglists

Purpose of the playbook

Use a playbook to go through events and change the to_ids flag if there are matches with a warninglist.
Add a tagging or comment to changed attributes
Provide a summary at the end

External resources used by this playbook

No response

Target audience

CTI, CSIRT, SOC

Breefly list the execution steps or workflow

No response

Create a MISP event on a phishing incident with a link

The title of the playbook

Create a MISP event on a phishing incident with a link

Purpose of the playbook

This playbook creates a MISP event for a phishing incident. The playbook sets default tags (taxonomies) and clusters on event and attributes. The playbook asks the analysts for the typical elements (e-mail headers, e-mail body, phishing URL) found in phishing cases and encodes these as attributes and objects in the event. The playbook creates relationships between the objects. The attributes are tagged with PAP and course-of-action matrix. The playbook queries MISP events and the enabled OSINT feeds for matches. If there is a phishing URL in the e-mail then URLscan is queried and the historical scan results and screenshots are collected. The URL is then submitted to Lookyloo for analysis. Where possible, the phishing URL is also reported to organisations such as Google, Microsoft and Phishtank. A final report with a list of indicators is summarised in the playbook and sent to Mattermost or Slack. The results can also be added as an alert to TheHive or as a case to DFIR-IRIS (to be discussed for implementation).

External resources used by this playbook

URLscan, Lookyloo, Mattermost (or Slack), TheHive (optional), DFIR-IRIS (optional), Google Safe Browsing, Microsoft Security Intelligence, Phishtank

Target audience

SOC, CSIRT

Breefly list the execution steps or workflow

No response

Bulk delete MISP events

The title of the playbook

Bulk delete MISP events

Purpose of the playbook

This playbook uses the ID or UUID of one or more organisations and removes all their events. The events are also removed from the event blocklist. A summary of the events that were deleted is included in the result of the playbook.

External resources used by this playbook

Mattermost (or Slack), TheHive (optional), DFIR-IRIS (optional)

Target audience

CTI

Breefly list the execution steps or workflow

No response

Automatically update documentation from Jupyter notebook

Python script that

  • For all playbooks
  • Reads the ipynb
  • Parses the introduction cell, for UUID, title, description
  • Saves it as documentation in a folder per playbook

Maybe

  • Add attachment cell to ipynb, add graphical workflow automatically
  • Clear output of cells automatically
  • Via a hook?

Geolocate IP address and calculate distance

The title of the playbook

Geolocate IP address and calculate distance

Purpose of the playbook

This playbook queries for the geolocation of IP addresses via IPStack and Maxmind and then calculates the distance between two coordinates. The results are stored in the playbook and sent to Mattermost or Slack or as an alert in TheHive or DFIR-IRIS (to be discussed for implementation).

External resources used by this playbook

IPStack, Maxmind, Mattermost (or Slack), TheHive (optional), DFIR-IRIS (optional)

Target audience

CTI

Breefly list the execution steps or workflow

No response

Provision users playbook

The title of the playbook

Provision users

Purpose of the playbook

Provision a set of users.
Provision new organisations.
Allow input to come from a CSV.
Bulk delete or disable of users.
Dumping of logs of users.

External resources used by this playbook

Use inspiration from https://github.com/rommelfs/misp_control

Target audience

CTI

Breefly list the execution steps or workflow

No response

MISP analyse sightings

The title of the playbook

MISP analyse sightings

Purpose of the playbook

This playbook queries the MISP sightings for all the attributes with the to_ids flag set. The playbook evaluates the balance between false positives and true positives and whenever that balance is above or equal to a threshold value it will set the to_ids flag to false, and re-publish the event. The results are stored in the playbook and sent to Mattermost or Slack or added as an alert in TheHive or DFIR-IRIS (to be discussed for implementation).

External resources used by this playbook

Mattermost (or Slack), TheHive (optional), DFIR-IRIS (optional)

Target audience

CTI

Breefly list the execution steps or workflow

No response

MISP change workflow state and publish event

The title of the playbook

MISP change workflow state and publish event

Purpose of the playbook

This playbook queries the MISP events for a workflow state incomplete and verifies that there are no remaining "todo" workflow tasks attached to the event. If there are none, the workflow state is changed to complete and the event is published. The results are stored in the playbook and sent to Mattermost or Slack or as an alert in TheHive or DFIR-IRIS (to be discussed for implementation).

External resources used by this playbook

Mattermost (or Slack), TheHive (optional), DFIR-IRIS (optional)

Target audience

CTI

Breefly list the execution steps or workflow

No response

Create filter list in various formats

The title of the playbook

Create filter list in various formats

Purpose of the playbook

This playbook creates different block or filter lists based on MISP search queries. The lists are in text format, and a separate list by type (IP addresses, hashes, domains, URLs). The results can then be sent to Azure Sentinel as Watchlists (with help of msticpy) or sent to a specific index of Elasticsearch. The playbook also includes an option to create a ZIP archive of all exported filter files. The summary is included at the end of the playbook and sent to Mattermost or Slack or as an alert in TheHive or DFIR- IRIS (to be discussed for implementation).

External resources used by this playbook

Azure, Elastic, Mattermost (or Slack), TheHive (optional), DFIR-IRIS (optional)

Target audience

SOC, CSIRT

Breefly list the execution steps or workflow

No response

Create a MISP event from a Sentinel incident

The title of the playbook

Create a MISP event from a Sentinel incident

Purpose of the playbook

Investigate possibilities for creating MISP events from Sentinel incident (ref. follow up post on sending indicators from MISP to Sentinel)

Sources for inspiration:

External resources used by this playbook

Azure

Target audience

SOC, CSIRT, CTI

Breefly list the execution steps or workflow

No response

Extend Query domain reputation with pulsedive

The title of the playbook

Query domain reputation v2

Purpose of the playbook

Extend the Query domain reputation playbook (#13) with a module to query PulseDive.

Code can be re-used to create a MISP module

External resources used by this playbook

https://pulsedive.com/

Target audience

CTI

Breefly list the execution steps or workflow

No response

Create a custom MISP warninglist

The title of the playbook

Create a custom MISP warninglist

Purpose of the playbook

This playbook creates a custom MISP warninglist with a set of entries provided by the analyst as input. A check is done if the warninglist already exists. If the warninglist already exists then the entries are added to the existing warninglist. When the warninglist is created the MISP events are queried for matches. The playbook also queries Shodan and VirusTotal for matches with entries in the warninglist. The result of the creation of the warninglist as well as the matches is summarised at the end of the playbook and sent to Mattermost or Slack or added as an alert in TheHive or DFIR-IRIS (to be discussed for implementation). A typical use case is adding company internal assets (IPs, domains) to a warninglist.

External resources used by this playbook

Shodan, VirusTotal, Mattermost (or Slack), TheHive (optional), DFIR-IRIS (optional)

Target audience

SOC, CSIRT, CTI

Breefly list the execution steps or workflow

No response

Query Timesketch for intel, add sighting in MISP, create a summary and notify to Mattermost or Slack

The title of the playbook

Query Timesketch for intel, add sighting in MISP, create a summary and notify to Mattermost or Slack

Purpose of the playbook

A variant to the previous playbook is to query Timesketch instead of Elasticsearch.
Similar as #5
This is achieved by creating a saved search in Timesketch. The saved search is created with the MISP search results. The results of the Timesketch saved search are then parsed, reported as sightings and notified to Mattermost or Slack or added as an alert in TheHive or DFIR-IRIS (to be discussed for implementation).

External resources used by this playbook

Timesketch, Mattermost (or Slack), TheHive (optional), DFIR-IRIS (optional)

Target audience

SOC, CSIRT

Breefly list the execution steps or workflow

No response

Create MISP objects and relationships

The title of the playbook

Create MISP objects and relationships

Purpose of the playbook

This playbook walks the analyst through the phases of creating two objects and adding a relationship between these objects. The exact object types are defined during the creation in the playbook. The object references are then summarised at the end of the playbook

External resources used by this playbook

No response

Target audience

SOC, CSIRT, CTI

Breefly list the execution steps or workflow

No response

MISP update inconsistencies in distribution settings, TLP and PAP

The title of the playbook

MISP update inconsistencies in distribution settings, TLP and PAP

Purpose of the playbook

This playbook is a follow-up to #22 and uses a matrix provided by the analyst as input to remove inconsistencies in the distribution settings, TLP or PAP. The playbook works on events and attributes.

External resources used by this playbook

Mattermost (or Slack), TheHive (optional), DFIR-IRIS (optional)

Target audience

CTI

Breefly list the execution steps or workflow

No response

Display timeline between multiple MISP events

The title of the playbook

Display timeline between multiple MISP events

Purpose of the playbook

This playbook queries MISP for specific event IDs, tags, a timestamp or a combination of the previous elements and builds a timeline of attributes / objects enclosed in the combined events. The timeline takes into account the timestamp, first seen and last seen value and creates a chronological overview of the occurrence of the attributes. The context of the events and attributes is included. The results are summarised in the playbook and then notified to Mattermost or Slack or added as an alert in TheHive or DFIR-IRIS (to be discussed for implementation).

External resources used by this playbook

Mattermost (or Slack), TheHive (optional), DFIR-IRIS (optional)

Target audience

CTI

Breefly list the execution steps or workflow

No response

URL remediation

The title of the playbook

URL remediation

Purpose of the playbook

This playbook uses a domain as input information from the analysts. It queries the domain reputation feeds, verifies with URLscan and Lookyloo. The analyst can then add the URL (as attribute and as an object) to a new or existing MISP event. The playbook then sends the URL to external providers such as Google, Microsoft and Phishtank. The URL is added to a Watchlist in Azure Sentinel and added to an Elasticsearch index. It then provides a summary of results and shares the results via Mattermost or Slack or as an alert in TheHive or DFIR-IRIS (to be discussed for implementation). This playbook is similar to the playbook on creating a MISP event for a phishing case (#1) , except that the focus is here only on a URL.

External resources used by this playbook

URLscan, Lookyloo, Mattermost (or Slack), TheHive (optional), DFIR-IRIS (optional), Google Safe Browsing, Microsoft Security Intelligence, Phishtank

Target audience

SOC, CSIRT, CTI

Breefly list the execution steps or workflow

No response

Query CVE information

The title of the playbook

Query CVE information

Purpose of the playbook

This playbook queries the MISP events and enabled OSINT caches for the use of a specific CVE. It lists the found events in a chronological order with the context (taxonomies, galaxies) that was attached to the event. The playbook then queries public sources (CVE search, vulners, Shodan, ...) for additional CVE information. The results are stored in the playbook and sent to Mattermost or Slack or added as an alert in TheHive or DFIR-IRIS (to be discussed for implementation).

External resources used by this playbook

cvesearch, vulners, Shodan, Mattermost (or Slack), TheHive (optional), DFIR-IRIS (optional)

Target audience

CSIRT, CTI

Breefly list the execution steps or workflow

No response

JARM verification

The title of the playbook

JARM verification

Purpose of the playbook

This playbook takes a list of JARM fingerprints. The local MISP events and the enabled OSINT feeds are queried for matches and reported in the playbook. It then creates a new MISP event with the JARM fingerprints. The playbook then queries Shodan and Censys for these matches and collects the hostname and the information in the common name field found in the certificates. These attributes are added to the MISP event. It then queries the local MISP events and the enabled OSINT feeds for matches with these hostnames/domains. These matches are reported in the playbook. A final summary is added at the end of the playbook and shared via Mattermost or Slack or as an alert in TheHive or DFIR-IRIS (to be discussed for implementation).

External resources used by this playbook

Shodan, Censys, Mattermost (or Slack), TheHive (optional), DFIR-IRIS (optional)

Target audience

SOC, CSIRT, CTI

Breefly list the execution steps or workflow

No response

Query URL reputation

The title of the playbook

Query URL reputation

Purpose of the playbook

This playbook is similar to the domain reputation playbook (#13) , including the possibility to gather the screenshots.
The playbook also includes the possibility to submit a URL to Lookyloo for analysis. The playbook includes a "wait" time for the analysis of Lookyloo to finish and will then include the results in the summary.

External resources used by this playbook

Lookyloo, Whois, DNS, URLscan, Shodan, VirusTotal, Mattermost (or Slack), TheHive (optional), DFIR-IRIS (optional)

Target audience

SOC, CSIRT, CTI

Breefly list the execution steps or workflow

No response

Create a MISP event on a malware incident – without sample

The title of the playbook

Create a MISP event on a malware incident – without sample

Purpose of the playbook

This playbook is similar to the paybook on a malware incident with a sample, except that in this case the analyst has to provide the sample details manually instead of uploading the sample.
Similar as #2 but with a sample.
The attributes are then combined into one or more file objects and attached to a MISP event.

External resources used by this playbook

MWDBcore, VirusTotal, OTX, Hashlookup, Mattermost (or Slack), TheHive (optional), DFIR-IRIS (optional)

Target audience

SOC, CSIRT

Breefly list the execution steps or workflow

No response

Query domain reputation

The title of the playbook

Query domain reputation

Purpose of the playbook

This playbook is similar to the IP address reputation playbook (#12) . In addition it also extract screenshots from URLscan (directly via the API) for those URLs belonging to the domain. These screenshots are also included in the summary. The playbook also identifies historical scans at URLscan. The playbook then queries external services with MISP modules and adds the results to the summary in the playbook, Mattermost, Slack and ticket information.

External resources used by this playbook

Whois, DNS, URLscan, Shodan, VirusTotal, Mattermost (or Slack), TheHive (optional), DFIR-IRIS (optional)

Target audience

SOC, CSIRT, CTI

Breefly list the execution steps or workflow

No response

A playbook that documents the different timestamps that are used in MISP

The title of the playbook

MISP timestamp detailss

Purpose of the playbook

A playbook that documents the different timestamps that are used in MISP.
Go through the timestamp for publishing and last changes as well as how these can be used in search queries.
Document what changes a timestamp in a MISP event.

External resources used by this playbook

None

Target audience

CTI

Breefly list the execution steps or workflow

No response

Have scheduled playbooks

Traditionally playbooks are executed based on a human trigger. With the help of Papermill, Paperboy and inspired by work done by Netflix it is possible to parametrise and schedule the execution of Jupyter notebooks.

In this activity the possibilities are explored for running scheduled MISP playbooks. The concept of scheduled playbooks gives the opportunity to provide analysts regular reports with the results of the executed playbook, and at the same time gives these analysts an environment where they can easily update the documentation and the code that is being executed. The scheduled playbooks can also serve as some form of automation.

Query Elasticsearch for intel, add sighting in MISP, create a summary and notify to Mattermost or Slack

The title of the playbook

Query Elasticsearch for intel, add sighting in MISP, create a summary and notify to Mattermost or Slack

Purpose of the playbook

This playbook queries an Elasticsearch index for matches with the results of a MISP search. The search input is provided by the analyst and include event ID, tags, attribute type, a timestamp or a combination of the previous elements. This search result is then a list of attributes. The query to Elasticsearch is parametrised by index name, field name on which to match and time period to take into account. The results are summarised in the playbook, added as sightings in MISP and notified to Mattermost or Slack or added as an alert in TheHive or DFIR-IRIS (to be discussed for implementation).

External resources used by this playbook

Elasticsearch, Mattermost (or Slack), TheHive (optional), DFIR-IRIS (optional)

Target audience

SOC, CSIRT

Breefly list the execution steps or workflow

No response

Query hash information

The title of the playbook

Query hash information

Purpose of the playbook

This playbook queries different external sources via MISP modules for a match with the provided hash. The playbook queries the Hashlookup service. The playbook can also query a local instance of MWDBcore for additional details. It then provides a summary of results found and also shares the results via Mattermost or Slack or as an alert in TheHive or DFIR-IRIS (to be discussed for implementation).

External resources used by this playbook

MWDBcore, Hashlookup, VirusTotal, Mattermost (or Slack), TheHive (optional), DFIR-IRIS (optional)

Target audience

SOC, CSIRT, CTI

Breefly list the execution steps or workflow

No response

MISP query for inconsistencies in distribution settings, TLP and PAP

The title of the playbook

MISP query for inconsistencies in distribution settings, TLP and PAP

Purpose of the playbook

This playbook queries the MISP events and checks for inconsistency for the event distribution setting, the TLP designation and the PAP marking. For example events or attributes with TLP:RED and PAP:CLEAR or events with 'All communities' and 'TLP:RED'. The inconsistencies between TLP and distribution level are already warned in the MISP interface but this playbook does a retroactive check, and also verifies the events that are pulled in via synchronised servers. The results of the query are stored in the playbook and sent to Mattermost or Slack or as an alert in TheHive or DFIR-IRIS (to be discussed for implementation).

External resources used by this playbook

Mattermost (or Slack), TheHive (optional), DFIR-IRIS (optional)

Target audience

CTI

Breefly list the execution steps or workflow

No response

Create a MISP event on a malware incident – dynamic malware analysis

The title of the playbook

Create a MISP event on a malware incident – with sample

Purpose of the playbook

Variants of the malware incident playbook can be made with VMRay, Joe Sandbox or Cuckoo.
Similar as #2

External resources used by this playbook

VMRay, Joe Sandbox, Cuckoo, MWDBcore, VirusTotal, OTX, Hashlookup, Mattermost (or Slack), TheHive (optional), DFIR-IRIS (optional)

Target audience

SOC, CSIRT

Breefly list the execution steps or workflow

No response

Domain pivoting

The title of the playbook

Domain pivoting

Purpose of the playbook

This playbook uses a domain provided by an analyst as a pivot point to lookup other related domains based on DNS information, certificate information and historical DNS records. The summary is included in the playbook, can be attached to a MISP event (as a MISP report and as attributes) and sent to Mattermost or Slack or as an alert in TheHive or DFIR-IRIS (to be discussed for implementation).

External resources used by this playbook

Whois, DNS, URLscan, VirusTotal, Passive DNS, Mattermost (or Slack), TheHive (optional), DFIR-IRIS (optional)

Target audience

SOC, CSIRT, CTI

Breefly list the execution steps or workflow

No response

MISP Playbook training

Investigate if/how the playbooks can be used during a training / workshop, maybe together with the workflow component of MISP.

Create MISP organisation and users

The title of the playbook

Create MISP organisation and users

Purpose of the playbook

This playbook can be used to provision a new organisation in MISP. It creates a MISP organisation and adds different users. It sets the description, country and domain for the organisation. A least one organisation admin is added. The credentials for all users can be supplied in the playbook or can be randomly generated.

External resources used by this playbook

Mattermost (or Slack), TheHive (optional), DFIR-IRIS (optional)

Target audience

CTI

Breefly list the execution steps or workflow

No response

Create a MISP event on a malware incident – static malware analysis

The title of the playbook

Create a MISP event on a malware incident – with sample

Purpose of the playbook

This playbook creates a MISP event on a malware incident (this can also be a phishing incident where there is an attachment instead of a link). The playbook sets default tags (taxonomies) and clusters on event and attributes. It asks the analyst to upload the sample to the Jupyter notebook (the exact implementation needs to be verified). The sample is attached to the MISP event and sent to a local instance of MWDBcore. Attributes are tagged with PAP or course-of-action matrix and enclosed in objects where needed. The playbook creates relationships between the objects. The playbook queries MISP events and the enabled OSINT feeds for matches with the sample details (hashes). The details of the malware sample (hashes) are queried at VirusTotal and OTX with the help of MISP modules. A query is done with Hashlookup. The hashes are added to a Watchlist at Azure Sentinel. A final report with a list of indicators is summarised in the playbook and sent to Mattermost or Slack or as an alert in TheHive or DFIR-IRIS (to be discussed for implementation).

External resources used by this playbook

MWDBcore, VirusTotal, OTX, Hashlookup, Mattermost (or Slack), TheHive (optional), DFIR-IRIS (optional)

Target audience

SOC, CSIRT

Breefly list the execution steps or workflow

No response

Query IP address reputation

The title of the playbook

Query IP address reputation

Purpose of the playbook

This playbook queries the enabled OSINT feeds (a suggestion for the playbook is for example to enable the TOR exit node feed) and the local MISP events for matches with a specific IP address or list of IP addresses. All matches are summarised with their event and attribute context (tags, date, sightings). In a second step, the playbook uses MISP modules to query different external services for the reputation of the IP address and summarises the matches. As a final step, the playbook identifies IP registration information via the MISP modules. The summary is then attached to a (new or existing) MISP event as a MISP report and is sent to Mattermost or Slack or added as an alert in TheHive or DFIR-IRIS (to be discussed for implementation).

External resources used by this playbook

Whois, DNS, Shodan, VirusTotal, Mattermost (or Slack), TheHive (optional), DFIR-IRIS (optional)

Target audience

SOC, CSIRT, CTI

Breefly list the execution steps or workflow

No response

Retroscan MISP warninglist

The title of the playbook

Retroscan MISP warninglist

Purpose of the playbook

This playbook is similar to the playbook for creating a custom warninglist.
Similar to #7
In this case the playbook queries the MISP events and OSINT feeds with matches from a predefined warninglist. It can be seen as some form of "retroscan". The playbook also queries Shodan and VirusTotal for matches with entries in the warninglist. The result is summarised at the end of the playbook and sent to Mattermost or Slack or added as an alert in TheHive or DFIR-IRIS (to be discussed for implementation).

External resources used by this playbook

Shodan, VirusTotal, Mattermost (or Slack), TheHive (optional), DFIR-IRIS (optional)

Target audience

SOC, CSIRT, CTI

Breefly list the execution steps or workflow

No response

JSON list of MISP playbooks

Create a JSON list with the MISP playbooks.

This would make it easier to have the list of playbooks displayed in other systems.

Might also be interesting for #32

Explore options for integration between MISP playbooks and MISP workflows

  • Explore how atomic actions ('cells' in a Jupyter notebook) can be translated to a MISP workflow, possibly as MISP workflow blueprints. This translation can also be the other way around, where a Jupyter notebook queries the MISP workflow and adds this workflow as 'actions' in a cell. The execution of the cell should then trigger the execution of the workflow (for example trigger 'Run Workflow' in the workflow editor);
  • Explore how MISP workflows can be queried and be graphically included in a Jupyter notebook (basically the information from '/workflows/view/' the JSON under 'data', as well as the graphical representation of the workflow

Actor profiling

The title of the playbook

Actor profiling

Purpose of the playbook

This playbook uses the MITRE Intrusion Set (Groups) as an input to query all MISP events that have a specific group attached. The group is defined by the analyst running the playbook. The playbook then returns a chronological list of all those events with context information and summarises the attributes found in these events. The playbook then summaries the other TTPs (software, technique) that were found (TTP, number of occurrences) in the MISP events. The playbook also lists all the CVE attributes found in these events. The result of the playbook is a profile an actor based on the MISP events in a local instance. The results are stored in the playbook and sent to Mattermost or Slack or as an alert in TheHive or DFIR-IRIS (to be discussed for implementation). An extension to the playbook is an interaction with OpenCTI (to be discussed).

External resources used by this playbook

MITRE, Mattermost (or Slack), TheHive (optional), DFIR-IRIS (optional)

Target audience

CTI

Breefly list the execution steps or workflow

No response

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.