↳ GitHub sourceAnalytics ruleHigh
Whisper Security - Newly Registered Domain on Threat ASN
Description
Identifies newly registered domains (under 7 days old) hosted on autonomous systems with elevated threat scores. This combination often indicates adversary infrastructure staging for phishing, malware delivery, or C2 operations.
- Rule type
- Scheduled
- Version
- 1.0.0
- Declared status
- Available
- Query frequency
- 1h
- Query period
- 1d
- Trigger
- gt 0
Declared MITRE coverage
Declared sources
Metadata from the source file. No dependencies inferred from KQL.
Connectors
Data types
KQL query
Original query, unchanged.
// MITRE ATT&CK: T1583.001 - Acquire Infrastructure: Domains
// Tactic: Resource Development
// Correlates newly registered domains with high-threat ASN reputation data
let maxDomainAgeDays = 7;
let asnThreatThreshold = 50;
// Defensive: WhisperInfraChainPipeline currently emits domainAge=-1 as a
// sentinel when the create date is unknown (tracked bug - proper fix needs
// CALL whisper.history() integration). Filter the sentinel out so the rule
// does not fire on every domain with an ASN.
let newDomains = WhisperInfraContext_CL
| where TimeGenerated > ago(1d)
| where domainAge >= 0 and domainAge < maxDomainAgeDays
| where isnotempty(asns)
| extend parsedAsn = tostring(split(asns, ",")[0])
| extend parsedIp = tostring(split(ipAddresses, ",")[0])
| project TimeGenerated, indicator, domainAge, parsedAsn, parsedIp, registrar, countries;
let threatAsns = WhisperASNReputation_CL
| where TimeGenerated > ago(1d)
| where maxThreatScore > asnThreatThreshold
| project asn, asnName, reputationScore, reputationLevel, maxThreatScore;
newDomains
| join kind=inner (threatAsns) on $left.parsedAsn == $right.asn
| extend DnsDomain = indicator, IPAddress = parsedIp
| project TimeGenerated, DnsDomain, IPAddress, domainAge, registrar, countries, asn, asnName, reputationScore, reputationLevel, maxThreatScore
Declared entities
Related content
Links established from declared identifiers and solution manifests.
Source provenance
GitHubDisplayed values come from files in Azure/Azure-Sentinel. They describe the published template, not your workspace configuration.
- Commit
9800e51↗- Source identifier
4f80ee8e-901f-538a-8603-cc4b49e80164
GSTEP / CATALOG TRACKING
Added to catalog : 16 Sept 2026 · 05:49 UTC
Last change observed : 16 Sept 2026 · 05:49 UTC