WHOIS
Adversaries may search public WHOIS data for information about victims that can be used during targeting. WHOIS data is stored by regional Internet registries (RIR) responsible for allocating and assigning Internet resources such as domain names. Anyone can query WHOIS servers for information about a registered domain, such as assigned IP blocks, contact information, and DNS nameservers. Adversaries use WHOIS data to gather actionable information — identifying IP block ownership, registrant contact details, registrar and DNS nameserver relationships, and historical registration patterns. Information from these sources may reveal opportunities for other forms of reconnaissance (Active Scanning, Phishing for Information), establishing operational resources (Acquire Infrastructure, Compromise Infrastructure), and initial access (External Remote Services, Trusted Relationship). Because WHOIS is a public service queried outside the victim environment, direct detection requires monitoring for the downstream artifacts of the technique: WHOIS tool execution on a compromised host, outbound TCP port 43 connections, or scripted queries to WHOIS REST/RDAP APIs.
let WHOISPorts = dynamic([43]);
let WHOISWebDomains = dynamic([
"who.is", "whois.domaintools.com", "arin.net", "ripe.net", "apnic.net",
"lacnic.net", "afrinic.net", "whois.verisign-grs.com", "rdap.arin.net",
"rdap.ripe.net", "lookup.icann.org", "centralops.net", "viewdns.info",
"whoisology.com", "whois.icann.org"
]);
// Branch 1: WHOIS command-line tool execution on endpoints
let ToolExecution = DeviceProcessEvents
| where Timestamp > ago(24h)
| where FileName in~ ("whois.exe", "whois64.exe")
or (FileName in~ ("powershell.exe", "pwsh.exe", "cmd.exe", "bash", "sh",
"python.exe", "python3", "python3.exe")
and (ProcessCommandLine has "whois"
or ProcessCommandLine has "rdap.arin"
or ProcessCommandLine has "rdap.ripe"
or ProcessCommandLine has "whois.iana.org"
or ProcessCommandLine has "whois.verisign"))
| extend DetectionType = "WHOISToolExecution"
| extend TargetEntity = ProcessCommandLine
| project Timestamp, DeviceName, AccountName, FileName, ProcessCommandLine,
InitiatingProcessFileName, InitiatingProcessCommandLine, DetectionType, TargetEntity;
// Branch 2: Outbound TCP connections to WHOIS protocol port 43
let WHOISProtocolNet = DeviceNetworkEvents
| where Timestamp > ago(24h)
| where RemotePort in (WHOISPorts)
| where RemoteIPType == "Public"
| extend DetectionType = "WHOISProtocolPort43"
| extend TargetEntity = strcat(RemoteIP, ":", tostring(RemotePort))
| project Timestamp, DeviceName,
AccountName = InitiatingProcessAccountName,
FileName = InitiatingProcessFileName,
ProcessCommandLine = InitiatingProcessCommandLine,
InitiatingProcessFileName, InitiatingProcessCommandLine,
DetectionType, TargetEntity;
// Branch 3: Non-browser processes accessing known WHOIS lookup web services
let WebAPILookup = DeviceNetworkEvents
| where Timestamp > ago(24h)
| where RemoteUrl has_any (WHOISWebDomains)
| where InitiatingProcessFileName !in~ (
"msedge.exe", "chrome.exe", "firefox.exe",
"iexplore.exe", "opera.exe", "brave.exe", "safari.exe"
)
| extend DetectionType = "WHOISWebAPIAccess"
| extend TargetEntity = RemoteUrl
| project Timestamp, DeviceName,
AccountName = InitiatingProcessAccountName,
FileName = InitiatingProcessFileName,
ProcessCommandLine = InitiatingProcessCommandLine,
InitiatingProcessFileName, InitiatingProcessCommandLine,
DetectionType, TargetEntity;
union ToolExecution, WHOISProtocolNet, WebAPILookup
| sort by Timestamp desc Data Sources
Required Tables
False Positives
- SOC analysts and threat intelligence teams using whois.exe or PowerShell RDAP queries during legitimate domain investigations or incident response
- IT administrators querying WHOIS to verify domain registration details, expiry dates, or registrar contact information for corporate domains
- Security scanning platforms (Qualys, Tenable, Rapid7) and OSINT automation pipelines that incorporate WHOIS lookups as part of asset inventory or attack surface management
- CI/CD pipelines or infrastructure-as-code scripts that verify domain ownership or nameserver configuration during deployment validation
- Authorized red team and penetration testing engagements performing pre-attack reconnaissance against the organization
References (7)
- https://attack.mitre.org/techniques/T1596/002/
- https://www.iana.org/domains/whois
- https://www.arin.net/resources/registry/whois/rdap/
- https://www.ripe.net/manage-ips-and-asns/db/
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1596.002/T1596.002.md
- https://learn.microsoft.com/en-us/azure/defender-for-cloud/alerts-reference
- https://docs.splunk.com/Documentation/SplunkCloud/latest/SearchReference/CommonStatsFunctions
Unlock Pro Content
Get the full detection package for T1596.002 including response playbook, investigation guide, and atomic red team tests.