By Fatskills Exam Guides Team — the exam nerds behind 28,500+ quizzes and 2.1M practice questions across 500+ global exams.
Hyper-practical, zero-fluff guide for real-world detection, response, and exam prep
Indicators of Compromise (IoCs) are forensic artifacts—like malicious IPs, file hashes, or registry keys—that signal a security breach. Threat feeds (STIX/TAXII) are standardized ways to share these IoCs across tools and organizations.
Why this matters in production: - Without IoCs, you’re flying blind. Attackers leave traces (e.g., a malware hash in your logs), but if you don’t know what to look for, you’ll miss breaches until it’s too late. - Without threat feeds, you’re reinventing the wheel. Instead of manually updating blocklists, STIX/TAXII lets you automate threat intelligence sharing (e.g., pulling the latest ransomware IPs from a trusted feed). - Real-world scenario: You’re a SOC analyst. A user reports their laptop is slow. You check logs and find a suspicious process (svchost.exe running from C:\Temp). Is this normal? If you had IoCs (e.g., known malware hashes), you’d know instantly. If you had a TAXII feed, you’d auto-block the C2 IP before it exfiltrates data.
svchost.exe
C:\Temp
Exam context: Security+ tests your ability to identify IoCs (e.g., "Which of these is an IoC?") and apply threat feeds (e.g., "What protocol is used to share STIX data?").
a1b2c3...
185.143.223.43
evil[.]com
HKLM\Software\Microsoft\Windows\CurrentVersion\Run\Malware
C:\Users\Public\svchost.exe
svchost
Goal: Pull IoCs from a public TAXII feed (AlienVault OTX) and block them in a firewall (pfSense example).
requests
taxii2-client
https://otx.alienvault.com/taxii/
pip install taxii2-client requests
from taxii2client import Server, Collection import requests # Connect to AlienVault OTX TAXII server server = Server("https://otx.alienvault.com/taxii/") api_root = server.api_roots[0] # Get the first API root # List available collections (feeds) for collection in api_root.collections: print(f"Collection: {collection.title} (ID: {collection.id})") # Fetch IoCs from the "Subscribed" collection collection = Collection(f"{api_root.url}collections/95ecc380-afe9-11e4-9b6c-751b66dd541e/") stix_objects = collection.get_objects() # Extract malicious IPs malicious_ips = [] for obj in stix_objects["objects"]: if obj["type"] == "indicator" and "ipv4-addr" in obj.get("pattern", ""): ip = obj["pattern"].split("=")[1].strip("'") malicious_ips.append(ip) print(f"Found {len(malicious_ips)} malicious IPs:") print(malicious_ips[:5]) # Print first 5 IPs
Expected output:
Collection: Subscribed (ID: 95ecc380-afe9-11e4-9b6c-751b66dd541e) Found 42 malicious IPs: ['185.143.223.43', '192.168.1.100', ...]
Malicious_IPs
Verification: - Try pinging a blocked IP from a LAN device. It should fail. - Check pfSense logs (Status > System Logs > Firewall) for blocked attempts.
cron
OTX:185.143.223.43
8.8.8.8
"Which of these is an IoC?"
C:\Windows\System32\svchost.exe
192.168.1.1
STIX/TAXII knowledge:
"What protocol is used to share STIX data?"
Threat feed usage:
Challenge: Use curl to fetch IoCs from AlienVault OTX’s TAXII feed and extract malicious domains.
curl
Solution:
# Get the TAXII discovery endpoint curl -u "guest:guest" -H "Accept: application/taxii+json" https://otx.alienvault.com/taxii/discovery # Fetch the "Subscribed" collection (replace COLLECTION_ID with the actual ID from above) curl -u "guest:guest" -H "Accept: application/taxii+json" https://otx.alienvault.com/taxii/collections/COLLECTION_ID/objects/ | jq '.objects[] | select(.type == "indicator" and .pattern | contains("domain-name")) | .pattern'
Why it works: - curl fetches the TAXII feed (authenticated with guest credentials). - jq filters STIX objects for indicators containing domain-name. - AlienVault OTX’s TAXII feed is public (no API key needed for basic access).
jq
domain-name
indicator
campaign
malware
relationship
443
pip install taxii2-client
ipv4-addr
file:hashes.md5
https://www.misp-project.org/
https://abuse.ch/
https://www.virustotal.com/api/
Firewall > Rules > Add > Action: Block > Source: Alias (Malicious_IPs)
Join 4M+ learners. Unlock unlimited quizzes, wrong-answer tracking, flashcards + reminders, study guides, and 1-on-1 challenges.