T1584.008

Network Devices

Adversaries may compromise third-party network devices that can be used during targeting. Network devices, such as small office/home office (SOHO) routers, may be compromised where the adversary's ultimate goal is not Initial Access to that environment, but rather to leverage these devices to support additional targeting. Once an adversary has control, compromised network devices can be used to launch additional operations, such as hosting payloads for Phishing campaigns, enabling Content Injection operations, or serving as proxy relay nodes in Operational Relay Box (ORB) networks. Real-world usage includes Volt Typhoon proxying traffic through geographically co-located SOHO routers to evade geo-anomaly detection, APT28 compromising Ubiquiti devices to harvest credentials from phishing pages, ZIRCONIUM/APT31 building large-scale ORB networks from compromised SOHO and IoT devices, and Leviathan using SOHO devices as C2 relay infrastructure. These techniques are particularly difficult to detect because the compromise occurs entirely outside the victim environment — detection must focus on the downstream observable: when compromised devices interact with the victim's perimeter.

Microsoft Sentinel / Defender
kusto
// T1584.008 — Compromise Infrastructure: Network Devices
// Detects inbound connections and authentication events from IPs associated with
// known compromised SOHO/network device infrastructure via threat intelligence correlation
let ThreatIntelIPs = ThreatIntelligenceIndicator
| where TimeGenerated > ago(14d)
| where Active == true
| where isnotempty(NetworkIP)
| where Tags has_any ("ORB", "SOHO", "VoltTyphoon", "APT28", "APT31", "Leviathan", "RouterBotnet", "EdgeDevice", "CompromisedRouter")
    or Description has_any ("SOHO", "compromised router", "network device", "ORB network", "operational relay", "relay box")
| project NetworkIP, TIDescription=Description, TITags=Tags, IndicatorType, ExpirationDateTime;
// Authentication events from TI-matched IPs
let AuthFromTI = SigninLogs
| where TimeGenerated > ago(24h)
| where ResultType in (0, 50074, 50076, 50079)
| join kind=inner ThreatIntelIPs on $left.IPAddress == $right.NetworkIP
| project TimeGenerated,
         EventType = "Authentication_From_CompromisedNetworkDevice",
         UserPrincipalName,
         SourceIP = IPAddress,
         AppDisplayName,
         LocationCity = tostring(LocationDetails.city),
         LocationCountry = tostring(LocationDetails.countryOrRegion),
         TIDescription,
         TITags,
         AuthResult = ResultType,
         AuthResultDescription = ResultDescription;
// Inbound network connections from TI-matched IPs
let NetFromTI = DeviceNetworkEvents
| where Timestamp > ago(24h)
| where ActionType in ("InboundConnectionAccepted", "ConnectionSuccess")
| where RemoteIPType == "Public"
| join kind=inner ThreatIntelIPs on $left.RemoteIP == $right.NetworkIP
| project TimeGenerated = Timestamp,
         EventType = "NetworkConnection_From_CompromisedNetworkDevice",
         DeviceName,
         SourceIP = RemoteIP,
         DestinationPort = LocalPort,
         ActionType,
         ProcessName = InitiatingProcessFileName,
         TIDescription,
         TITags;
// Firewall/CommonSecurityLog events from TI-matched IPs
let FWFromTI = CommonSecurityLog
| where TimeGenerated > ago(24h)
| where isnotempty(SourceIP)
| join kind=inner ThreatIntelIPs on $left.SourceIP == $right.NetworkIP
| project TimeGenerated,
         EventType = "FirewallEvent_From_CompromisedNetworkDevice",
         DeviceName = DeviceName,
         SourceIP,
         DestinationPort,
         DestinationIP,
         DeviceAction,
         ApplicationProtocol,
         TIDescription,
         TITags;
union AuthFromTI, NetFromTI, FWFromTI
| sort by TimeGenerated desc
high severity low confidence

Data Sources

Network Traffic: Network Traffic Flow Network Traffic: Network Connection Creation User Account: User Account Authentication Microsoft Sentinel Threat Intelligence Firewall: Network Connection

Required Tables

ThreatIntelligenceIndicator SigninLogs DeviceNetworkEvents CommonSecurityLog

False Positives

  • Legitimate remote workers on residential ISP connections where the home IP has been historically flagged as SOHO infrastructure — IP reassignment by ISPs means previously-compromised device IPs are routinely reassigned to clean users
  • Commercial VPN providers and residential proxy services that route traffic through the same IP ranges as compromised SOHO devices, particularly if the VPN uses residential ISP IP space
  • Threat intelligence staleness — indicators for SOHO infrastructure are frequently stale within weeks as adversaries rotate through devices; matches on expired or low-confidence indicators produce significant noise
  • Volt Typhoon specifically selects compromised devices geographically co-located near the victim to defeat geo-anomaly detection, meaning flagged IPs may appear to be legitimate local traffic from expected residential ranges
  • Security researchers and red teams using SOHO lab environments or intentionally routing through residential proxy infrastructure during authorized engagements

Unlock Pro Content

Get the full detection package for T1584.008 including response playbook, investigation guide, and atomic red team tests.

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections