Threat-Intelligence-Feeds: Welche sind kostenlos und taugen wirklich etwas?
Einleitung
Threat Intelligence klingt nach Enterprise-Budget. Tatsächlich gibt es ein robustes Ökosystem kostenloser Feeds, das KMU direkten Zugriff auf aktuelle IOCs, Malware-Hashes, C2-Infrastruktur und Phishing-URLs gibt. Das Problem ist nicht der Preis – es ist die Auswahl und Integration. Wer wahllos 30 Feeds abonniert, baut sich einen Alert-Fatigue-Generator. Dieser Artikel zeigt, welche fünf kostenlosen Feeds wirklich liefern, welche Formate relevant sind und wie du die Daten sinnvoll in Wazuh, Suricata oder deinen DNS-Resolver integrierst.
Warum das Thema wichtig ist
Threat Intelligence ohne Integration ist akademisch. Die meisten KMU-Teams ohne Security-Budget verlassen sich auf Antivirus-Signaturen – die immer hinter den aktuellen Bedrohungen herhinken. Kostenlose Threat-Intel-Feeds schließen diese Lücke: aktuelle C2-Domains in DNS-Blocklisten, frische Malware-Hashes in Endpoint-Detection, Phishing-URLs in E-Mail-Gateway-Filtern. Der Aufwand für die initiale Integration liegt bei wenigen Stunden, der laufende Betrieb ist minimal. Der Effekt: dein Detection-Stack reagiert auf Bedrohungen, die dein AV noch nicht kennt.
Die fünf wichtigsten kostenlosen Feeds
1. Abuse.ch – ThreatFox
URL: threatfox.abuse.ch
Inhalt: C2-Server-IOCs (IPs, Domains, URLs, Hashes) – aktuell, community-verifiziert
Format: JSON API, CSV, STIX/TAXII, MISP-Feed
TTL: 7–90 Tage (je nach Confidence)
Qualität: sehr hoch. Abuse.ch ist Community-betrieben und hat strenge Qualitätskontrolle
# Aktuelle C2-IOCs (letzte 100)
curl -s "https://threatfox-api.abuse.ch/api/v1/" \
-H "Content-Type: application/json" \
-d '{"query": "get_iocs", "days": 1}' | \
jq -r '.data[] | "\(.ioc_type)\t\(.ioc)\t\(.malware)\t\(.confidence_level)"'
2. Abuse.ch – URLhaus
URL: urlhaus.abuse.ch
Inhalt: Malware-Distribution-URLs – aktiv genutzte URLs für Malware-Downloads
Format: CSV, MISP
Stärke: sehr zeitnah. URLs werden oft innerhalb von Minuten nach Erstentdeckung gemeldet
# URLhaus recent URLs (CSV-Download)
curl -s "https://urlhaus.abuse.ch/downloads/csv_recent/" | \
grep -v "^#" | \
awk -F'","' '$3 == "online"' | \
cut -d'"' -f4 # URL-Spalte
3. Abuse.ch – MalwareBazaar
URL: bazaar.abuse.ch
Inhalt: Malware-Samples mit Hashes, Tags, Malware-Familie
Format: JSON API, CSV
Nutzung: Hash-Abgleich in Endpoint-Detection, Malware-Triage
# Neueste Malware-Hashes (letzte 1000)
curl -s "https://mb-api.abuse.ch/api/v1/" \
-d 'query=get_recent&selector=100' | \
jq -r '.data[] | "\(.sha256_hash)\t\(.tags | join(","))\t\(.signature)"'
4. Emerging Threats (ET) Open Rules
URL: rules.emergingthreats.net/open/
Inhalt: Suricata/Snort-Regeln für bekannte Malware-Traffic-Pattern
Format: Snort/Suricata-Rules
Qualität: hoch. ET-Regeln sind industriestandard, auch in der Proofpoint-Version verwendet
# ET Open Rules für Suricata herunterladen
curl -O "https://rules.emergingthreats.net/open/suricata-5.0/emerging.rules.tar.gz"
tar -xzf emerging.rules.tar.gz -C /etc/suricata/rules/
# suricata.yaml: ET-Regeln aktivieren
# rule-files:
# - emerging-malware.rules
# - emerging-c2.rules
# - emerging-exploit.rules
5. CISA KEV (Known Exploited Vulnerabilities)
URL: cisa.gov/known-exploited-vulnerabilities-catalog
Inhalt: Schwachstellen, die aktiv in der freien Wildbahn ausgenutzt werden – mit Remediation-Deadline
Format: JSON, CSV
Besonderheit: offiziell, US-Behörde. Jede KEV-Eintragung bedeutet: aktive Exploitation, nicht nur theoretisch
# CISA KEV als JSON
curl -s "https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json" | \
jq -r '.vulnerabilities[] | "\(.cveID)\t\(.vendorProject)\t\(.product)\t\(.dueDate)"' | \
sort -t$'\t' -k4 | head -20 # Nach Deadline sortiert
Integration: CISA-KEV-CVEs automatisch als P1-Tickets im Vulnerability-Workflow erstellen.
Weitere nützliche Quellen (Bonus)
| Feed | Inhalt | Format | Qualität |
|---|---|---|---|
| AlienVault OTX | Breites IOC-Spektrum, Community | STIX, CSV, API | mittel (viel Rauschen) |
| OpenPhish | Phishing-URLs | Plain Text | gut für E-Mail-Gateway |
| Feodo Tracker (abuse.ch) | Botnet-C2-IPs (Emotet, Dridex etc.) | CSV, IP-Liste | sehr hoch |
| SSLBL (abuse.ch) | C2-SSL-Zertifikat-Fingerprints | CSV | hoch |
| PhishTank | Phishing-Sites | JSON, CSV | mittel |
| Spamhaus | IP/Domain Reputation | DNSBL (kostenlos limitiert) | sehr hoch |
Feed-Qualität bewerten
Nicht alle Feeds sind gleich. Bewertungskriterien:
| Kriterium | Was prüfen |
|---|---|
| Freshness | Wie alt sind die neuesten IOCs? > 7 Tage = schlechte Qualität |
| TTL / Confidence | Werden IOCs nach Ablauf entfernt oder bleiben sie ewig? |
| False-Positive-Rate | Tauchen bekannte legitime Domains/IPs auf? (Test: google.com, cloudflare.com) |
| Volumen vs. Signal | 100.000 IOCs pro Tag mit 90 % FP ist schlechter als 1.000 mit 5 % FP |
| Aktualität bei Incidents | Wie schnell tauchen IOCs nach einem publizierten Incident auf? |
Praktischer Qualitätstest: nimm die Top-100 IOCs eines Feeds und prüfe via VirusTotal oder URLscan.io. Bei > 10 % unauffälligen Ergebnissen → Feed-Qualität fragwürdig.
Integration in Wazuh (CDB-Listen)
# ThreatFox-IPs täglich aktualisieren
cat > /usr/local/bin/update-threatfox.sh << 'EOF'
#!/bin/bash
curl -s "https://threatfox-api.abuse.ch/api/v1/" \
-H "Content-Type: application/json" \
-d '{"query": "get_iocs", "days": 1}' | \
jq -r '.data[] | select(.ioc_type == "ip:port") | .ioc | split(":")[0]' | \
sort -u | awk '{print $1":"}' > /var/ossec/etc/lists/threatfox-ips
# CDB-Datenbank neu bauen
/var/ossec/bin/ossec-makelists
# Wazuh-Manager neu laden
systemctl reload wazuh-manager
EOF
chmod +x /usr/local/bin/update-threatfox.sh
# Cron: täglich 06:00
echo "0 6 * * * root /usr/local/bin/update-threatfox.sh" > /etc/cron.d/threatfox
Wazuh-Regel für CDB-Treffer:
<rule id="100020" level="12">
<if_sid>5716</if_sid>
<list field="srcip" lookup="match_key">etc/lists/threatfox-ips</list>
<description>Connection to known ThreatFox C2 IP: $(srcip)</description>
<group>c2,ioc,threat_intel</group>
</rule>
Integration in DNS-Resolver (Bind9 / Unbound)
# URLhaus + ThreatFox Domains → DNS RPZ
cat > /usr/local/bin/update-rpz.sh << 'EOF'
#!/bin/bash
RPZ_FILE="/etc/bind/db.rpz.local"
TMPFILE=$(mktemp)
# ThreatFox Domains
curl -s "https://threatfox-api.abuse.ch/api/v1/" \
-H "Content-Type: application/json" \
-d '{"query": "get_iocs", "days": 7}' | \
jq -r '.data[] | select(.ioc_type == "domain") | .ioc' > "$TMPFILE"
# URLhaus Domains
curl -s "https://urlhaus.abuse.ch/downloads/csv_recent/" | \
grep -v "^#" | awk -F'","' '{gsub(/https?:\/\//, "", $3); split($3, a, "/"); print a[1]}' | \
sort -u >> "$TMPFILE"
# RPZ-Zone aufbauen
{
echo '$TTL 60'
echo '@ SOA localhost. root.localhost. (2026050301 3600 900 604800 60)'
echo '@ NS localhost.'
echo ''
sort -u "$TMPFILE" | grep -v "^$" | \
awk '{print $1 " CNAME ."}'
} > "$RPZ_FILE"
rndc reload
rm "$TMPFILE"
EOF
chmod +x /usr/local/bin/update-rpz.sh
MISP als lokaler Aggregator
Für Teams, die mehrere Feeds zentralisieren wollen, ist MISP (Malware Information Sharing Platform) der richtige Ansatz:
# MISP via Docker (Quick-Start)
git clone https://github.com/misp/misp-docker
cd misp-docker
cp template.env .env
docker compose up -d
MISP kann automatisch Feeds synchronisieren, IOCs korrelieren und über STIX/TAXII an Wazuh, Suricata oder andere Tools exportieren. Für 1–5 Personen-Teams: MISP ist Overkill. Ab 10+ Personen oder bei mehreren Feed-Quellen: MISP lohnt sich.
Feed-Management: Was zu tun ist, wenn ein IOC False Positive erzeugt
- IOC lokal auf Allowlist: CDB-Allowlist in Wazuh, Whitelist in Suricata-Regelset
- Feed-Anbieter melden: Abuse.ch hat einen Revoke-Prozess für FPs
- IOC-TTL verkürzen: wenn möglich, IOC-Quelle auf 24h begrenzen
- Feed-Qualitäts-Tracking: FP-Rate pro Feed monatlich messen
# Wazuh: Allowlist für FP-IPs
# /var/ossec/etc/lists/threatfox-whitelist
8.8.8.8: # Google DNS (Beispiel)
1.1.1.1: # Cloudflare DNS
Stolperfallen
- Feed-Hoarding: 30 Feeds = kein Mehrwert, nur Lärm. 5 hochwertige reichen
- Kein TTL-Management: veraltete IOCs aus 2020 produzieren FPs. Ablaufdaten erzwingen
- OTX als primäre Quelle: AlienVault OTX hat hohes Rauschen und viele historische IOCs ohne TTL
- Feeds ohne Monitoring: wenn ein Feed-Update-Script ausfällt, läuft das SIEM mit veralteten Daten – und niemand merkt es
- IOC-Block ohne Whitelist: DNS-RPZ mit CDN-Domains geblockt = produktive Systeme gestört
- Fehlende Dokumentation: wer nicht weiß, welcher Feed eine Rule triggerte, kann FPs nicht beheben
Praxis-Checkliste
- ThreatFox als primären C2-Feed integriert (täglich, IP + Domain)
- URLhaus für DNS-RPZ/E-Mail-Gateway integriert
- MalwareBazaar-Hashes für Endpoint-Detection-Abgleich täglich aktualisiert
- ET Open Rules in Suricata/IDS aktiv und monatlich aktualisiert
- CISA KEV täglich abgefragt und kritische CVEs als P1-Ticket
- TTL-Management: IOCs nach 14 Tagen automatisch entfernt
- Whitelist für bekannte legitime Hosts/Domains gepflegt
- Feed-Update-Monitoring: Alert wenn Update-Script fehlschlägt
- FP-Rate pro Feed monatlich gemessen (< 5 % als Ziel)
- IOC-Alerts immer mit Asset- und Prozess-Kontext angereichert
Fazit
Kostenlose Threat-Intelligence-Feeds sind kein Enterprise-Exklusiv-Feature mehr. Mit fünf gezielt ausgewählten Feeds – ThreatFox, URLhaus, MalwareBazaar, ET Open und CISA KEV – hast du aktuelle C2-IOCs, Malware-URLs, Hashes und ausgenutzte Schwachstellen in einem integrierten Stack. Der Schlüssel ist nicht Quantität, sondern Qualität und TTL-Management. Wer Feeds sauber integriert, FPs systematisch behebt und das Update-Script monitort, hat einen Detection-Layer, den viele Enterprise-Teams neidisch beäugen – ohne einen Euro Lizenzkosten.
Wenn du tiefer einsteigen willst: Im Newsletter zeige ich jeden Monat konkrete Feed-Integrationen, TTL-Management-Skripte und Qualitätsbewertungen neuer Threat-Intel-Quellen. Trag dich ein.