Listen to this Post

Introduction:
Microsoft Defender for Threat Intelligence is retiring its legacy `ThreatIntelligenceIndicator` table by August 31, 2025, replacing it with `ThreatIntelIndicators` and ThreatIntelObjects. Organizations must migrate custom queries, automations, and analytics to avoid disruptions as dual ingestion ends in May 2026.
Learning Objectives:
- Migrate legacy KQL queries to the new Threat Intelligence tables
- Automate TI data ingestion using Azure Logic Apps
- Enrich security alerts with contextual threat indicators
- Configure real-time detection rules for emerging threats
- Optimize threat hunting workflows with unified TI objects
1. Querying the New ThreatIntelIndicators Table
ThreatIntelIndicators | where ExpirationDateTime > now() | project IndicatorValue, ThreatType, Description
Step-by-step guide:
1. Replace `ThreatIntelligenceIndicator` with `ThreatIntelIndicators` in existing KQL.
2. Filter active indicators using `ExpirationDateTime`.
- Use `project` to extract critical fields like `IndicatorValue` (IP/Domain) and
ThreatType.
2. Linking Indicators to Threat Objects
ThreatIntelIndicators | join ThreatIntelObjects on $left.ThreatId == $right.Id | where ThreatType == "Malware"
Step-by-step guide:
1. Join `ThreatIntelIndicators` and `ThreatIntelObjects` via `ThreatId`.
2. Filter by `ThreatType` (e.g., “Malware”, “Phishing”).
- Enrich indicators with object details like actor groups or campaigns.
3. Migrating Legacy Queries with PowerShell
Find all legacy KQL queries: Get-Content ".kql" | Select-String "ThreatIntelligenceIndicator" Bulk replace: (Get-Content "query.kql") -replace "ThreatIntelligenceIndicator", "ThreatIntelIndicators" | Set-Content "query.kql"
Step-by-step guide:
- Scan KQL scripts for references to the old table.
2. Use PowerShell’s `-replace` to update file contents.
3. Validate syntax in Microsoft Sentinel’s Logs interface.
- Ingesting TI Data via API with Python
import requests headers = {"Authorization": "Bearer <TOKEN>"} response = requests.post( "https://api.security.microsoft.com/v1.0/tiIndicators", json={"indicator": "94.140.14.14", "threatType": "Botnet"}, headers=headers )
Step-by-step guide:
- Obtain an Azure AD token with `ThreatIndicators.ReadWrite.All` scope.
- POST JSON payloads to Microsoft’s TI API to populate the new tables.
- Verify ingestion via
ThreatIntelIndicators | where IndicatorValue == "94.140.14.14".
5. Creating Detection Rules in Defender
// New: Alert on malicious IP communication SecurityAlert | where ProviderName == "MDTI" | where Entities has "94.140.14.14"
Step-by-step guide:
- Use `SecurityAlert` table instead of legacy TI tables.
2. Filter by `ProviderName` and `Entities` field.
- Trigger automated playbooks via Azure Sentinel when matches occur.
6. Hardening Cloud Workloads with TI Data
Enable Defender TI integration in ARC: az security setting update --name MCAS \ --enabled true \ --ti-providers "Microsoft Defender"
Step-by-step guide:
- Ensure Azure Arc agents are deployed to hybrid servers.
- Link Defender TI to Microsoft Cloud App Security (MCAS).
3. Block TI indicators automatically across Azure/on-prem resources.
7. Automating TI Expiry with Logic Apps
// ARM template snippet for expiry cleanup:
"condition": "@less(utcNow(), item()?['ExpirationDateTime'])",
"action": { "type": "Http", "method": "DELETE", "url": "https://api.security.microsoft.com/v1.0/tiIndicators/{id}" }
Step-by-step guide:
- Create a recurring Logic App that queries
ThreatIntelIndicators.
2. Add condition to check `ExpirationDateTime`.
- Delete stale indicators via TI API to reduce noise.
What Undercode Say:
- Migrate by Q3 2024 to avoid rushed transitions—dual ingestion requires manual activation.
- Refactor KQL now: Legacy queries will fail post-August 2025, breaking dashboards and alerts.
The shift to granular TI tables (Indicators+Objects) enables deeper threat context but demands query rewrites. Organizations lagging risk blind spots in detection pipelines. Prioritize updating: 1) SIEM correlations, 2) SOAR playbooks, 3) Hunting notebooks. Microsoft’s extension is a grace period—not an excuse for delay.
Prediction:
By 2026, threat actors will exploit migration gaps in enterprises slow to adopt the new schema, launching campaigns disguised as “legacy” false negatives. Organizations using the unified `ThreatIntelObjects` model will gain 40% faster attribution of IoCs to TTPs, while holdouts face increased dwell time and breach costs. API-driven TI ingestion will become standard, phasing out manual uploads by 2027.
🎯Let’s Practice For Free:
IT/Security Reporter URL:
Reported By: Mmihalos Microsoftsecurity – Hackers Feeds
Extra Hub: Undercode MoN
Basic Verification: Pass ✅


