Tools

T1598

MISP

A comprehensive guide to MISP (Malware Information Sharing Platform) for SOC analysts — threat intel sharing, STIX import/export, feed management, correlation, and integrating MISP with SIEM and EDR.

View on Graph

What MISP Is and Why Analysts Use It

  • MISP (Malware Information Sharing Platform) is an open-source threat intelligence platform designed to store, correlate, and share indicators of compromise, malware analysis reports, and threat actor information.
  • MITRE ATT&CK maps threat intelligence sharing as a key enabler of T1598 (Threat Intel Gathering) defense — structured intelligence lets analysts pivot from individual IOCs to the broader threat landscape.
  • Unlike a simple CSV of hashes, MISP stores fully structured threat data: each event can contain multiple attributes (IOCs) with relationships, tags, and context. An event for “Emotet campaign” might include the file hash, delivery URL, C2 IP, email subject line, and MITRE ATT&CK technique — all linked together.
  • MISP also handles correlation — if two analyst teams submit a report about the same IP address, MISP links those events together, revealing that both teams are tracking the same campaign.

Core MISP Concepts

Events and Attributes

ConceptWhat It IsExample
EventA collection of related intelligence”Suspicious Emotet Activity — May 2026”
AttributeA single indicator within an eventIP 5.5.5.5, SHA256 e3b0c44..., domain evil.com
ObjectA structured set of attributes linked togetherA file object containing hash, filename, size, and MIME type
TagA label applied to an event or attributetlp:red, PAP:AMBER, osint:source="virustotal"
GalaxyA knowledge base linked to attributesMITRE ATT&CK, Threat Actor, CVE, country
CorrelationAutomatic linking of matching attributes across eventsTwo events mentioning IP 5.5.5.5 are correlated

Attribute Types

TypeExample
ip-src (source IP)185.220.101.45
ip-dst (destination IP)203.0.113.5
domainevil-c2.example.com
hostnamecdn.evil-c2.example.com
urlhttps://evil.com/payload.exe
md5d41d8cd98f00b204e9800998ecf8427e
sha1da39a3ee5e6b4b0d3255bfef95601890afd80709
sha256e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
filenameinvoice.docm
email-srcphisher@evil.com
email-subjectRE: Invoice #12345 — Please Process
mutexGlobal\MSCTF.Asm.System
regkeyHKCU\Software\Microsoft\Windows\CurrentVersion\Run\Malware
yararule Emotet { meta: ... }

Installing and Configuring MISP

Quick Install (Ubuntu/Debian)

# Official MISP installation script
wget -O /tmp/install.sh https://raw.githubusercontent.com/MISP/MISP/2.5/INSTALL/INSTALL.sh
sudo bash /tmp/install.sh

# Or use Docker for evaluation:
docker run -d -p 443:443 -p 80:80 harvarditsecurity/misp

Initial Configuration

After installation, the admin must:

  1. Create organization: Define your organization profile
  2. Create user accounts: Grant roles (admin, org admin, publisher, sync user, user)
  3. Configure sharing groups: Control who can see what (Your Organization, Connected Communities, All)
  4. Set up MISP feed feeds: Subscribe to external threat feeds
  5. Enable correlation: Turn on attribute correlation
  6. Configure sync: Link to other MISP instances if sharing with peers

User Roles

RolePermissionsUse Case
AdminFull system controlMISP administrator
Org AdminManage org users and eventsSOC manager
PublisherCreate, edit, publish eventsSenior analyst creating intel reports
UserCreate and edit own events, view published eventsSOC analyst
Sync UserAutomated sync with other MISP instancesMachine-to-machine sharing
Read OnlyView published events onlyRead-only consumers

STIX Import and Export

MISP natively supports STIX 1.x and 2.x import and export. This is critical interoperability: threat intel feeds in STIX format can be ingested into MISP, and MISP events can be exported as STIX, YARA rules, Sigma rules, or other formats for use in detection tools.

Importing STIX

# Via CLI
./app/Console/cake stix2 import /path/to/stix2-bundle.json

# Via API
curl -X POST -H "Authorization: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"Feed":{"url":"https://example.com/feed.json","format":"stix2"}}' \
  https://misp.internal.example.com/feeds/add

Exporting STIX

# Via MISP UI:
# Event Actions → Export → Download as STIX2

# Via API:
GET /events/stix/download/<event_id>

Mapping Between MISP and STIX

STIX 2.1 ObjectMISP Equivalent
IndicatorAttribute with IDS flag set to true
Attack PatternGalaxy Cluster (MITRE ATT&CK)
Threat ActorGalaxy Cluster (Threat Actor)
MalwareGalaxy Cluster (Malware)
CampaignEvent tag or galaxy
ReportEvent with distribution level

Feed Management

MISP can ingest indicators from external feeds, automatically creating events and attributes. These feeds can also be exported as Snort and Suricata IDS rules for network-level detection.

Adding a Feed

Navigate to Sync Actions → List Feeds and enable available feeds, or add a custom feed:

Feed SourceTypeUpdate FrequencyQuality
CIRCLMISP feedDailyHigh quality, curated by CIRCL
Botvrij.euMISP feedDailyOpen source, verified
AlienVault OTX (via import)CustomVariableModerate — community-dependent
Abuse.ch URLhausCSVEvery 5 minutesHigh — real-time malware URLs
Abuse.ch MalwareBazaarCSVEvery 5 minutesHigh — hashes + metadata
Custom CSV feedCSVConfigurableAs configured

API — List Feeds

curl -H "Authorization: YOUR_API_KEY" \
  https://misp.internal.example.com/feeds/index

Integrating MISP with SIEM and EDR

The value of MISP is realized when indicators make it into your detection tools.

Push to SIEM (Splunk Example)

#!/usr/bin/env python3
# misp-to-splunk.py — Export attributes with IDS flag to Splunk lookup file
import requests
import csv

MISP_URL = "https://misp.internal.example.com"
API_KEY = "YOUR_API_KEY"
LOOKUP_FILE = "/opt/splunk/etc/apps/threat-intel/lookups/misp_iocs.csv"

headers = {"Authorization": API_KEY, "Accept": "application/json"}
params = {"returnFormat": "csv", "type": join("ip-src", "ip-dst", "domain", "url", "sha256")}

response = requests.get(f"{MISP_URL}/attributes/restSearch", headers=headers, params=params)

with open(LOOKUP_FILE, "w") as f:
    f.write(response.text)

Push to EDR via API

# misp-to-edr.py — Push IOCs to EDR blocklist
# This script fetches new MISP attributes and pushes them to the EDR API
import requests

MISP_API = "https://misp.internal.example.com/attributes/restSearch"
EDR_API = "https://edr.internal.example.com/api/v1/ioc/import"
API_KEY_MISP = "MISP_KEY"
API_KEY_EDR = "EDR_KEY"

headers_misp = {"Authorization": API_KEY_MISP, "Accept": "application/json"}
params = {"last": "1d", "type": ["ip-src", "ip-dst", "domain", "sha256"]}

# Fetch recent indicators
response = requests.get(MISP_API, headers=headers_misp, params=params)
indicators = response.json()

# Push to EDR
edr_payload = {"indicators": indicators["response"]["Attribute"]}
requests.post(EDR_API, json=edr_payload, headers={"Authorization": API_KEY_EDR})

Correlation — Finding Relationships

MISP’s correlation engine automatically links attributes across events. If two different events both contain the same IP address, MISP creates a correlation entry.

What Gets Correlated

Attribute TypeCorrelation Behaviour
IP addressesMatched on exact value
DomainsMatched on exact value
HashesMatched on exact value
URLsMatched on exact value
Email addressesMatched on exact value
Mutex namesMatched on exact value
Registry keysMatched on exact value

Using Correlation in Investigations

  1. Find an IOC in your SIEM (e.g., IP 5.5.5.5)
  2. Search MISP for that attribute
  3. View correlated events — see which other analysts or feeds have reported that IP
  4. Pivot to other attributes in those correlated events (other IPs, hashes, domains)
  5. Feed those pivots back to SIEM — repeat

Workflows for SOC Analysts

Daily Intel Review

StepActionMISP Feature
1Check for new events from trusted feedsFeed dashboard
2Review new events for relevance to your sectorFilter by tags, galaxy
3Publish relevant events to your organizationEvent publishing
4Export indicators to SIEM lookupAPI export
5Create detection rules based on new TTPsMITRE ATT&CK galaxy mapping

Incident Response Workflow

PhaseMISP Action
DetectionSearch MISP for IOCs found during triage
AnalysisPivot to correlated events — find related IOCs and TTPs
ContainmentExport relevant IOCs to firewall, SIEM, EDR
EradicationCheck MISP for kill-chain information — ensure complete removal
Post-incidentPublish a new MISP event detailing the incident IOCs

Sources