icon/x Created with Sketch.

Splunk Cookie Policy

We use our own and third-party cookies to provide you with a great online experience. We also use these cookies to improve our products and services, support our marketing campaigns, and advertise to you on our website and other websites. Some cookies may continue to collect information after you have left our website. Learn more (including how to update your settings) here.
Accept Cookie Policy

Accept License Agreements

This app is provided by a third party and your right to use the app is in accordance with the license provided by that third-party licensor. Splunk is not responsible for any third-party apps and does not provide any warranty or support. If you have any questions, complaints or claims with respect to this app, please contact the licensor directly.

Thank You

Downloading MISP42Splunk
SHA256 checksum (misp42splunk_315.tgz) 1ee1af564f0852f93a8c98fd72188d31ee55a52fbb55f18ef7e0679c7920da3d SHA256 checksum (misp42splunk_309.tgz) 20f93f41865561e200e3a19926cce219e4876e726b2ec1dcc82742dba3d1bd30
To install your download
For instructions specific to your download, click the Details tab after closing this window.

Flag As Inappropriate

MISP42Splunk

Splunk AppInspect Passed
Admins: Please read about Splunk Enterprise 8.0 and the Python 2.7 end-of-life changes and impact on apps and upgradeshere.
Overview
Details
misp42splunk app connects MISP and Splunk.

misp42splunk app connects [MISP](http://www.misp-project.org/) and [Splunk](www.splunk.com).
The app is designed to be easy to install, set up and maintain using the Splunk GUI.
MISP instances must be version 2.4.117 or above (new REST API).

## Usage
1. MISP to SPLUNK (custom commands):
mispgetioc misp_instance=default_misp _params_ to get MISP event attributes into Splunk search pipeline.
mispgetevent misp_instance=default_misp _params_ to get MISP events into Splunk search pipeline using direct calls of the API.
mispsearch misp_instance=default_misp field=myvalue to search for matching attributes in MISP.
mispsight misp_instance=default_misp field=myvalue to get sighting information for a specific value (note that if there is FP, only first hit is returned)
** IMPORTANT ** mispapireport has been replaced by mispgetioc (with parameter json_request=)

2. MISP for SPLUNK: 2 Splunk alert actions are available
* one action to create new events or **edit** existing ones if you provide an eventid (or UUID). This allows to contribute to misp event(s) across several alert triggers.
* one action to increment attribute sighting in a MISP instance.

see more on https://github.com/remg427/misp42splunk

IMPORTANT

With version >3.0.0 you need FIRST to create input(s) to point to your MISP instance(s)
and SECOND adapt all saved searches to add misp_instance=one-of-the-input-name

Overview

misp42splunk app connects one or several MISP instance(s) and your Splunk search head (cluster).
The app is designed to be easy to install, set up and maintain using the Splunk GUI.

Usage

  1. MISP to SPLUNK (custom commands):
    | mispgetioc misp_instance=default_misp _params_ | ... gets MISP event attributes into Splunk search pipeline.
    | mispgetevent misp_instance=default_misp _params_ | ... gets MISP events into Splunk search pipeline using direct calls of the API.
    search ... |mispsearch misp_instance=default_misp field=myvalue | ... searches for matching attributes in MISP.
    search ... |mispsight misp_instance=default_misp field=myvalue | ... gets sighting information for a specific value (note that if there is FP, only first hit is returned)
    IMPORTANT mispapireport has been replaced by mispgetioc (use json_request=)

  2. MISP for SPLUNK: 2 Splunk alert actions are available

  3. one action to create new events or edit existing ones if you provide an eventid (or UUID). This allows to contribute to misp event(s) across several alert triggers.
  4. one action to increment attribute sighting in a MISP instance.

Installation

This app is designed to run on Splunk Search Head(s) on Linux plateforms (not tested on Windows but it could work)
1. Install the app on your Splunk Search Head(s): "Manage Apps" -> "Install app from file"
2. At next logon, you should be invited to configure the app (if not go to Manage Apps > misp42 > launch app)
3. create at least one input for example "default_misp". Please note that mandatory fields "intervals" and "index" are not used. Just put a valid value
- provide a name for example default_misp to follow the examples provided in this doc
- provide the url to your MISP instance (version > 2.4.117)
- provide the authkey,
- check (or not) the certificate of the MISP server,
- use (or not) the proxy for this instance,
- provide client certificate if required (and check the box to use it)
inputs
4. If you need several instances, create additional inputs.
5. Important: Role(s)/user(s) using this app must have the capability to "list_storage_passwords" (as API KEYs and proxy password(s) are safely stored encrypted )

Use Cases

Build a dashboard

You may get fresh attributes from a MISP instance and save them under an index (for example index=misp).
Then a dashboard can be build by using this template. The result should be similar to this video
Thanks to @ran2 for sharing!

Hunting in Splunk logs

Fresh IOC from MISP > saved searches in Splunk

Creating (or editing) events based on automated sandboxing

If you have output of analysis pushed to Splunk you may automate the creation of events
Log on sandboxing output > saved search to qualify, sanitize (dedup remove top Alexa, etc.) and prepare the table (misp_, fo_, eo_ and no_) > set a splunk alert to create event(s) in MISP
Only fields prefixed with misp_ (or fo_ for file objects, eo_ for email objects, no_ for network objects) are imported
Advise: for objects, verify the name of the fields to be created Object definitions
* If you provide an eventid, that event is updated with attributes and objects instead of creating a new one. WARNING apparently the API does create duplicate objects if you submit sevral time the same inputs.

Sighting in MISP based on Splunk alerts

Search for attributes values/uuids in Splunk > alert to increment sighting counters (standard,false positive,expiration) in MISP for those values/uuids

Saved searches and Enterprise Security App

Several saved searches are provided to easily create KV store lookups which can be used later. The default behaviour is to append new event attributes to the KV store but you may switch to replace it.
Based on those searches, you can easily created local CSV files and feed intel to Enterprise Security App.
you can also use this example (thanks @xg-simon for sharing):

| mispgetioc misp_instance=default_misp pipesplit=true  add_description=true category="External analysis,Financial fraud,Internal reference,Network activity,Other,Payload delivery,Payload installation,Payload type,Persistence mechanism,Person,Social network,Support Tool,Targeting data" last=90d to_ids=true geteventtag=true warning_list=true not_tags="osint:source-type=\"block-or-filter-list\""
| eval ip=coalesce(misp_ip_dst, misp_ip_src,misp_ip)
| eval domain=misp_domain
| eval src_user=coalesce(misp_email_src, misp_email_src_display_name)
| eval subject=misp_email_subject
| eval file_name=misp_filename
| eval file_hash=coalesce(misp_sha1, misp_sha256, misp_sha512, misp_md5, misp_ssdeep)
| eval url=coalesce(misp_url,misp_hostname)
| eval http_user_agent=misp_user_agent
| eval registry_value_name=misp_regkey
| eval registry_value_text=if(isnotnull(misp_regkey),misp_value,null)
| eval description = misp_description
| table domain,description,file_hash,file_name,http_user_agent,ip,registry_value_name,registry_value_text,src_user,subject,url,weight

Usage

  • custom commands
  • Splunk alert actions to update MISP
    • Alert to create MISP event(s)
    • Alert for attribute sighting in MISP.

Credits

The creation of this app started from work done by https://github.com/xme/splunk/tree/master/getmispioc and the associated blog https://blog.rootshell.be/2017/10/31/splunk-custom-search-command-searching-misp-iocs/ for MISP interactions.

Licence

This app misp42splunk is licensed under the GNU Lesser General Public License v3.0.

Release Notes

Version 3.1.5
Dec. 20, 2019

Version 3.1.5 - Dec. 19, 2019
- add distribution mode "sharing group"

Version 3.1.4 - Dec. 18, 2019
- fix file open mopde

Version 3.1.3 - Dec. 13, 2019
- fixed mvexpand X removes events when X is null (ip or file_hash) (#127)
- mispgetioc and mispgetevent return attribute comment as misp_comment

Version 3.1.2 - Nov. 6, 2019
- fix error related to default logging level (#123)

Version 3.1.1 - Nov. 5, 2019
- fix error related to param threat_level in new command mispgetevent (removed param) (#122)

Version 3.1.0
- new custom command mispgetevent leveraging /events/restSearch
- modifiy mispgetioc
- to support param json_request
- replace date_from and date_to by date
- remove custom command mispapireport (use misgetioc with json_request)
- update splunk-sdk to 1.6.11
- fixed use of logging level in custom commands

Version 3.0.9
Sept. 19, 2019

- fix mispsearch issue limited to first event
- implement support for ca_full_path option

243
Installs
1,156
Downloads
Share Subscribe LOGIN TO DOWNLOAD

Subscribe Share

AppInspect Tooling

Splunk AppInspect evaluates Splunk apps against a set of Splunk-defined criteria to assess the validity and security of an app package and components.

Are you a developer?

As a Splunkbase app developer, you will have access to all Splunk development resources and receive a 10GB license to build an app that will help solve use cases for customers all over the world. Splunkbase has 1000+ apps and add-ons from Splunk, our partners and our community. Find an app or add-on for most any data source and user need, or simply create your own with help from our developer portal.

Follow Us:
© 2005-2020 Splunk Inc. All rights reserved.
Splunk®, Splunk>®, Listen to Your Data®, The Engine for Machine Data®, Hunk®, Splunk Cloud™, Splunk Light™, SPL™ and Splunk MINT™ are trademarks and registered trademarks of Splunk Inc. in the United States and other countries. All other brand names, product names, or trademarks belong to their respective owners.