The Defender Alert Named One Device — The Evidence Found Six
The Microsoft Defender alert named one endpoint.
One device.
One detection.
One obvious place to investigate.
Agent Foskett did not stop there.
He extracted the evidence from the alert — the file hash, command line, account, URL and network indicators — and searched across the environment.
The alert named one device. The evidence found six.

The Alert Was The Starting Point
An alert tells you where a detection fired. It does not automatically tell you the full scope of the activity. Scope comes from pivoting on the evidence.
One alert can create a dangerous assumption
It would have been easy to investigate that endpoint, contain it and close the incident.
But the alert represented where the detection logic had produced a result. It did not prove that the behaviour existed nowhere else.
Agent Foskett treated the device as patient zero for the investigation — not necessarily patient zero for the activity.
Start with the alerted device
DeviceProcessEvents provided the process name, command line, account, hashes and parent-process context that could become hunting pivots.- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
let AlertedDevice = "WS-017";
DeviceProcessEvents
| where Timestamp > ago(7d)
| where DeviceName =~ AlertedDevice
| project Timestamp,
DeviceName,
AccountName,
FileName,
SHA256,
ProcessCommandLine,
InitiatingProcessFileName,
InitiatingProcessCommandLine
| order by Timestamp ascPivot #1 — hunt the hash everywhere
DeviceFileEvents across the environment and summarised the devices where the hash appeared.- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
let IndicatorSHA256 = "SHA256-HERE";
DeviceFileEvents
| where Timestamp > ago(30d)
| where SHA256 == IndicatorSHA256
| summarize
FirstSeen=min(Timestamp),
LastSeen=max(Timestamp),
Events=count()
by DeviceName, FileName, FolderPath
| order by FirstSeen ascPivot #2 — the command line can reveal variants
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
let CommandFragment = "suspicious-fragment";
DeviceProcessEvents
| where Timestamp > ago(30d)
| where ProcessCommandLine has CommandFragment
| summarize
FirstSeen=min(Timestamp),
LastSeen=max(Timestamp),
Executions=count()
by DeviceName, AccountName, FileName
| order by FirstSeen ascPivot #3 — follow the network destination
DeviceNetworkEvents for the same remote URL, domain or IP address. This can expose devices that contacted the same infrastructure even when their file or process evidence differs.- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
let RemoteIndicator = "suspicious.example";
DeviceNetworkEvents
| where Timestamp > ago(30d)
| where RemoteUrl has RemoteIndicator
| summarize
FirstSeen=min(Timestamp),
LastSeen=max(Timestamp),
Connections=count()
by DeviceName,
InitiatingProcessFileName,
InitiatingProcessAccountName
| order by FirstSeen ascPivot #4 — follow the account
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
let Account = "jsmith";
DeviceProcessEvents
| where Timestamp > ago(30d)
| where AccountName =~ Account
| summarize
FirstSeen=min(Timestamp),
LastSeen=max(Timestamp),
Processes=count()
by DeviceName, FileName
| order by FirstSeen ascSix devices did not mean six identical infections
One device had the original alert. Another contained the matching file. Two had matching command-line behaviour. Others contacted the same infrastructure.
Those differences mattered. Scope expansion identifies systems that deserve investigation; it does not automatically assign the same verdict to all of them.
Build the scope table
That made the incident easier to reason about than six disconnected hunting results.
The objective was not to collect more telemetry. It was to determine the boundaries of the incident.
What Agent Foskett checked
What the evidence can and cannot prove
Shared infrastructure, software deployment, administrator activity and common binaries can create legitimate overlap. Each pivot needs context.
Likewise, the absence of a second Defender alert does not prove another device is clean. Different telemetry, timing, prevention actions and detection conditions can produce different alert outcomes.
Scope expansion finds the systems that require answers.
The lesson
Agent Foskett asked whether the evidence agreed.
It didn't.
By pivoting across file, process, network and identity telemetry, the investigation expanded from one endpoint to six systems requiring review.
An alert tells you where to start. Threat hunting tells you how far the incident reaches.
Related investigations
Final thought
Investigators still have to determine whether that event is isolated or part of something larger.
Extract the indicators. Pivot across the estate. Compare the timelines. Validate every match.
Follow the evidence. Build the timeline.
The Logs Already Knew! 🔎

