← Back to SOC feed Coverage →

Network footprint (1)

kql MEDIUM Azure-Sentinel
DeviceNetworkEvents
huntingmicrosoftofficial
This rule was pulled from an open-source repository and enriched with AI. Validate in a test environment before deploying to production.
View original rule at Azure-Sentinel →
Retrieved: 2026-05-22T23:00:00Z · Confidence: medium

Hunt Hypothesis

Adversaries may establish covert network communication with a specific remote IP or URL to exfiltrate data or maintain command and control. SOC teams should proactively hunt for this behavior to identify potential data exfiltration or C2 activity in their Azure Sentinel environment.

KQL Query

// Query 2 shows you any network communication that happened from endpoints through a specific file to an Remote IP or Remote URL
//Ensure to update RemoteIP, RemoteURL and InitatingProcessFileName
// For questions @MiladMSFT on Twitter or [email protected] by email
let IP = "IP ADDRESS GOES HERE";
let DNS = "DNS ENTRY GOES HERE";
let FILENAME = "FILENAME GOES HERE";
DeviceNetworkEvents
| where (RemoteIP == IP or RemoteUrl endswith DNS) and InitiatingProcessFileName =~ FILENAME
| project Timestamp, DeviceName, ActionType, RemoteIP, RemoteUrl, InitiatingProcessFileName, InitiatingProcessCommandLine

Analytic Rule Definition

id: 42b5b09c-7132-4f37-a2fd-4efeed2c540c
name: Network footprint (1)
description: |
  Query 1 shows you any network communication happened from endpoints to a specific Remote IP or Remote URL.
  Ensure to update RemoteIP and RemoteURL variable.
  For questions @MiladMSFT on Twitter or [email protected] by email.
requiredDataConnectors:
- connectorId: MicrosoftThreatProtection
  dataTypes:
  - DeviceNetworkEvents
query: |
  // Query 2 shows you any network communication that happened from endpoints through a specific file to an Remote IP or Remote URL
  //Ensure to update RemoteIP, RemoteURL and InitatingProcessFileName
  // For questions @MiladMSFT on Twitter or [email protected] by email
  let IP = "IP ADDRESS GOES HERE";
  let DNS = "DNS ENTRY GOES HERE";
  let FILENAME = "FILENAME GOES HERE";
  DeviceNetworkEvents
  | where (RemoteIP == IP or RemoteUrl endswith DNS) and InitiatingProcessFileName =~ FILENAME
  | project Timestamp, DeviceName, ActionType, RemoteIP, RemoteUrl, InitiatingProcessFileName, InitiatingProcessCommandLine

Required Data Sources

Sentinel TableNotes
DeviceNetworkEventsEnsure this data connector is enabled

References

False Positive Guidance

Original source: https://github.com/Azure/Azure-Sentinel/blob/main/Hunting Queries/Microsoft 365 Defender/General queries/Network footprint (1).yaml