A confirmed TI match — an outbound connection to an IP or domain with a threat intelligence indicator hit — is one of the highest-confidence alert types in a SOC. Unlike behavioural detections that require interpretation, a TI match means your endpoint contacted infrastructure that is known-bad from vetted intelligence sources: CISA KEV-linked C2, TAXII feed botnet nodes, MSTIC-published ransomware group infrastructure, or Defender TI-confirmed phishing drop sites. The key analyst task is not verifying the match (the TI feed did that) but determining the scope: which host, which process, what data was transmitted, and whether this is an isolated C2 callback or evidence of a broader compromise.
Key data sources: ThreatIntelligenceIndicator (Sentinel TI table — TAXII/STIX feed IOCs), DeviceNetworkEvents (MDE network telemetry with process attribution), DnsEvents (DNS resolution of indicator domains), CommonSecurityLog (proxy/firewall IOC match logs).
☰ Table of Contents
01 — BACKGROUND
TECHNIQUE OVERVIEWThreat actors use purpose-built or rented command-and-control (C2) infrastructure to issue commands to implants, receive stolen data, and stage payloads. These IPs and domains are catalogued by threat intelligence providers (MSTIC, Mandiant, Recorded Future, Talos) and published via STIX/TAXII feeds that Sentinel ingests into the ThreatIntelligenceIndicator table. A TI match fires when your network telemetry shows a connection to one of these known-bad endpoints. Common scenarios: Cobalt Strike team server callback (default port 443 to VPS IP), Qakbot/Emotet C2 rotation (frequent domain changes but TI feeds updated quickly), ransomware group payment panel or data leak site contact, and info-stealer exfil endpoint (often Telegram API or Dropbox API abuse).
| Field | Value |
|---|---|
| MITRE Techniques | T1071 — Application Layer Protocol (C2 over HTTP/HTTPS/DNS) T1041 — Exfiltration Over C2 Channel |
| Kill-chain Phase | Command & Control / Exfiltration |
| Primary Log Source | ThreatIntelligenceIndicator, DeviceNetworkEvents, DnsEvents |
| Secondary Log Sources | CommonSecurityLog (proxy IOC match), AzureFirewallNetworkRule (TI-based deny), Sysmon Event 3 (NetworkConnect with known-bad IP) |
| TI Feed Sources in Sentinel | Microsoft Defender TI, MSTIC TAXII feed, MISP (custom connector), AlienVault OTX, Recorded Future (premium), abuse.ch URLhaus/Feodo Tracker |
| Default Severity | SEV2 minimum on any TI match. SEV1 if confirmed ransomware C2, APT indicator, or data exfil byte count >100 KB. |
Not all TI indicators have equal confidence. Check the ThreatIntelligenceIndicator.ConfidenceScore field — scores below 50 have a higher false positive rate and warrant extra verification before isolating an endpoint. MSTIC-attributed APT indicators (confidence 80+) are near-certain and justify immediate containment.
02 — IDENTIFICATION
2 INDICATORSThe ThreatIntelligenceIndicator table in Sentinel stores all IOCs from connected TI feeds. When joined against DeviceNetworkEvents or DnsEvents, it surfaces every host that contacted a known-bad IP or resolved a known-bad domain. The first check is the indicator's ConfidenceScore and ThreatType fields — a ConfidenceScore of 80+ from MSTIC or abuse.ch with ThreatType "C2" or "Botnet" requires no further validation; the match itself is your evidence. Separately check ExpirationDateTime — expired indicators (stale IOCs) have a much higher false positive rate as infrastructure gets repurposed.
- 1In Threat Intelligence, search for the matched IP or domain. Review: Confidence Score, Threat Type (C2, Botnet, Phishing, Malware), Source (MSTIC, abuse.ch, OTX), and Tags (e.g. "Cobalt Strike", "Qakbot", "LockBit C2"). This context determines your response urgency.
- 2Run the TI join KQL query below. Set the time range to Last 24 hours — also check if this IOC had earlier hits in the past 7 days that may have been missed (indicators often sit unmatched for days before escalating).
- 3For each matching host, note
InitiatingProcessFileNameandInitiatingProcessCommandLinein DeviceNetworkEvents. A legitimate process (chrome.exe, Teams.exe) connecting to a C2 IP indicates browser/app compromise or proxy injection. A suspicious process (svchost.exewith unusual parent,rundll32.exe, a randomly-named binary) confirms active implant. - 4Check total bytes transferred (
SentBytes+ReceivedBytesin DeviceNetworkEvents) — high received bytes indicate payload download; high sent bytes indicate exfiltration. Report the byte count to the data owner for breach notification assessment. - 5Search the same IOC across ALL devices in your fleet — a shared C2 IP hit across multiple hosts indicates a coordinated deployment (mass phishing campaign, supply chain compromise, lateral movement from patient zero).
| Indicator Context | Meaning | Action |
|---|---|---|
| ThreatType = C2, Confidence >= 70 | Confirmed C2 infrastructure — implant actively communicating with attacker | Isolate host immediately |
| ThreatType = Botnet | Host is a botnet member — may be conducting spam, DDoS, or credential stuffing on behalf of operator | Isolate + malware scan |
| ThreatType = Ransomware | Contact with ransomware group infrastructure — payment page, leak site, or stage-2 delivery endpoint | SEV1 — escalate now |
| Confidence < 50, ExpirationDateTime passed | Stale IOC — infrastructure likely repurposed; higher false positive risk; verify before isolating | Verify before action |
| Multiple hosts same IOC in <1hr | Campaign-scale compromise — not isolated incident; coordinated implant or worm propagation | SEV1 — enterprise IR |
After confirming the IOC match, the second investigation layer is the communication pattern from the matched host. A legitimate one-off DNS resolution of a malicious domain (from clicking a phishing link that didn't load) has a very different risk profile from a persistent beacon: regular connections to the same C2 IP every 60 seconds with consistent byte counts. Beacon analysis reveals dwell time (how long the implant has been active), communication protocol (HTTP POST = command execution results; HTTPS = encrypted C2 channel), and urgency of containment (active C2 session vs dormant implant vs completed payload delivery).
- 1Run the beacon pattern query for the matched IOC IP. Look at the time interval between successive connections from the same host — a standard deviation of <30 seconds in connection intervals is a strong beaconing signature. Cobalt Strike default jitter is 30%, so intervals vary but cluster around a base (60s, 300s, 600s are common defaults).
- 2Check
InitiatingProcessFileNamefor the beacon — known malware parent processes:rundll32.exe,regsvr32.exe,mshta.exe,wscript.exe,cscript.exe, unusualsvchost.exe(check its exact commandline — should besvchost.exe -k netsvcsetc., not arbitrary args), and 0-character/random-name binaries in TEMP. - 3Pivot to DeviceProcessEvents to build the full process tree: what launched the beaconing process, and what did the beaconing process launch. This reconstructs the attack chain from initial access through to current implant activity.
- 4Review SentBytes and ReceivedBytes totals over the beacon history. High ReceivedBytes on initial beacon connections = payload staging. High SentBytes later = active exfiltration. Low symmetric byte counts = heartbeat-only (minimal risk; implant waiting for commands).
| Pattern | Meaning | Risk |
|---|---|---|
| Regular interval connections (<30s jitter) | Active C2 beacon — implant is alive and checking in; attacker has active access | CRITICAL |
| Large ReceivedBytes on first connection | Payload staging — additional malware component downloaded from C2 | HIGH |
| Large SentBytes bursts at irregular intervals | Exfiltration events — data being sent to C2; calculate volume for breach notification | HIGH |
| Single connection, no follow-on | One-off resolution/redirect — may be phishing link click rather than active implant | MEDIUM |
03 — CONTAINMENT
DECISION + ACTIONS- 1IOC block everywhere: Add the matched IP/domain to your firewall deny list, DNS sinkhole/RPZ, and web proxy block list simultaneously. This ensures no other host can reach the same infrastructure even if more hosts are compromised.
- 2Fleet-wide IOC scan: Before isolating the one identified host, run the fleet-wide TI join query to find all other hosts that contacted the same IOC. Isolating one host while others are still beaconing defeats the purpose of containment.
- 3Memory image before isolation: For confirmed beacon, initiate memory acquisition via MDE Live Response (
run MemoryDump.exe) before isolating. The running implant process and its injected code will be captured — essential for malware analysis and IOC extraction.
04 — ERADICATION
CLEANUP & RECOVERY- 1Implant removal: Use MDE Live Response to terminate the beaconing process, collect the binary for analysis, and delete it. Run
run antimalware-scan.exe /fulland cross-check with YARA rule scan if the malware family is known (e.g., Cobalt Strike YARA rules are publicly available). - 2Persistence removal: Search for persistence mechanisms installed by the implant — scheduled tasks, registry Run keys, services, WMI subscriptions. Use the DeviceProcessEvents timeline to identify any persistence-installation commands run by the malware.
- 3IOC enrichment and sharing: Submit the confirmed IOC with additional context (process attribution, byte volumes, timing) to your MISP instance and relevant ISACs. Extract any new IOCs from the memory dump (injected PE, additional C2 IPs, mutexes, registry keys) to expand detection coverage.
- 4Dwell time calculation: Check the first occurrence of the IOC connection in logs going back 90 days (use long-term storage query). The gap between first contact and detection is the dwell time — this drives the scope of forensic investigation and data loss assessment.
05 — ESCALATION
THRESHOLDS & CONTACTS| Condition | Action | Severity |
|---|---|---|
| High-confidence C2 IOC match + beacon confirmed | Escalate to SOC Lead — full IR playbook; isolate host; extract and analyze implant | SEV2 |
| Ransomware group IOC match (LockBit, ALPHV, Cl0p) | Escalate to CISO immediately — potential pre-ransomware staging; invoke business continuity plan | SEV1 |
| TI match with large SentBytes (>10 MB) | Escalate to CISO + Legal — confirmed data exfiltration; initiate breach notification assessment (GDPR/NZ Privacy Act clock starts) | SEV1 |
| Multiple hosts same IOC (>3 hosts) | Escalate to CISO — campaign-scale compromise; isolate all affected hosts simultaneously | SEV1 |
| Single connection, low confidence IOC | Monitor only; add to watchlist; no escalation needed unless behaviour continues | SEV4 |
CyberHawk Threat Intel
Built by Rudra Verma | Senior Cyber Security Architect & Researcher
"They can't exploit you if you are the Exploit."
Authorized security research & penetration testing only. Unauthorized use is illegal.