Threat Intel Vendors
Adversaries may search private threat intelligence vendor data for information that can be used during targeting. Threat intelligence vendors offer paid feeds, APIs, and portals containing richer contextual data than publicly reported sources — including breach trends, victim industry attribution, successful TTPs, countermeasures, and named threat actor profiles. Adversaries may register accounts under false pretenses, use stolen credentials, or leverage legitimate existing subscriptions to query vendor platforms such as Recorded Future, Mandiant Advantage, CrowdStrike Falcon Intelligence, IBM X-Force Exchange, VirusTotal Intelligence, Shodan, and similar services. The gathered intelligence informs more targeted intrusion campaigns by revealing defensive gaps, preferred targets in a sector, and previously successful attack chains. Detection is extremely difficult because adversary activity occurs entirely on third-party platforms outside the victim organization's telemetry boundary. Victim-side detection relies on anomalous access patterns to SSO-connected TI platforms, API key misuse, and downstream behavioral indicators resulting from the intelligence gathered.
let ThreatIntelVendorDomains = dynamic([
"recordedfuture.com", "api.recordedfuture.com",
"virustotal.com", "api.virustotal.com",
"shodan.io", "api.shodan.io",
"falcon.crowdstrike.com", "crowdstrike.com",
"threatconnect.com", "api.threatconnect.com",
"anomali.com", "lookslike.anomali.com",
"intelligence.mandiant.com", "advantage.mandiant.com",
"exchange.xforce.ibmcloud.com", "ibmxforce.com",
"talosintelligence.com",
"otx.alienvault.com",
"cyberint.com", "flare.systems", "flare.io",
"pulsedive.com", "greynoise.io", "api.greynoise.io",
"threatfox.abuse.ch", "urlhaus.abuse.ch"
]);
let SuspiciousUserAgents = dynamic([
"curl", "python-requests", "python-urllib", "Go-http-client",
"wget", "libwww-perl", "httpie", "axios", "okhttp"
]);
let LookbackDays = 7d;
// Branch 1: Proxy/firewall logs showing bulk or scripted TI vendor API access
CommonSecurityLog
| where TimeGenerated > ago(LookbackDays)
| where RequestURL has_any (ThreatIntelVendorDomains)
or DestinationHostName has_any (ThreatIntelVendorDomains)
| extend IsAPICall = RequestURL has_any ("/api/", "/v1/", "/v2/", "/v3/", "apikey=", "api_key=", "?key=")
| extend IsScriptedClient = UserAgent has_any (SuspiciousUserAgents)
| extend VendorQueried = DestinationHostName
| project TimeGenerated, SourceIP, SourceUserName, DestinationHostName,
RequestURL, RequestMethod, UserAgent,
IsAPICall, IsScriptedClient, VendorQueried,
DeviceVendor, DeviceProduct
| sort by TimeGenerated desc
| union (
// Branch 2: Azure AD / Entra ID sign-in anomalies to TI vendor apps
SigninLogs
| where TimeGenerated > ago(LookbackDays)
| where AppDisplayName has_any ("Recorded Future", "CrowdStrike", "VirusTotal",
"ThreatConnect", "Anomali", "Mandiant",
"IBM X-Force", "Shodan")
| where ResultType == 0 // Successful sign-in
| extend IsAnomalousLocation = tostring(LocationDetails.city) !in ("")
| extend CountryCode = tostring(LocationDetails.countryOrRegion)
| extend SignInRisk = RiskLevelDuringSignIn
| where SignInRisk in ("high", "medium")
or NetworkLocationDetails has "anonymizedIPAddress"
or NetworkLocationDetails has "maliciousIPAddress"
| project TimeGenerated, UserPrincipalName, AppDisplayName,
IPAddress, CountryCode, SignInRisk,
NetworkLocationDetails, ConditionalAccessStatus
| extend VendorQueried = AppDisplayName,
IsAPICall = false,
IsScriptedClient = false
)
| sort by TimeGenerated desc Data Sources
Required Tables
False Positives
- Security analysts performing routine threat intelligence lookups against vendor APIs during incident investigations
- SOAR/XSOAR playbooks and automated enrichment pipelines (e.g., Cortex, Splunk SOAR) making programmatic API calls to TI vendors using service account credentials
- Threat intelligence platforms (TIPs) like MISP, OpenCTI, or ThreatConnect ingesting feeds via scheduled API jobs
- Vulnerability management or red team tooling querying Shodan or VirusTotal for asset discovery
- DevSecOps pipelines querying VirusTotal or similar for file hash validation during CI/CD build processes
References (8)
- https://attack.mitre.org/techniques/T1597/001/
- https://d3security.com/blog/10-of-the-best-open-source-threat-intelligence-feeds/
- https://www.recordedfuture.com/platform/threat-intelligence
- https://learn.microsoft.com/en-us/azure/active-directory/reports-monitoring/concept-sign-ins
- https://learn.microsoft.com/en-us/microsoft-365/security/defender/advanced-hunting-commonsecuritylog-table
- https://docs.splunk.com/Documentation/CIM/latest/User/Web
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1597.001/T1597.001.md
- https://www.mandiant.com/resources/blog/how-threat-intelligence-is-used-by-defenders
Unlock Pro Content
Get the full detection package for T1597.001 including response playbook, investigation guide, and atomic red team tests.