Loading page content
Loading...
Cybersecurity. Redefined.
Loading articles...
Learn how our MXDR service identified and stopped an APT group moving laterally through a client's network using legitimate tools.

Advanced Persistent Threat (APT) groups are among the most dangerous adversaries organizations face. They are patient, resourceful, and skilled at hiding within legitimate network traffic. In this article, we detail how Apsispoint's MXDR service detected and stopped APT29 (Cozy Bear) as they moved laterally through a client's network using living-off-the-land techniques.
| Detail | Value | |---|---| | Client | Global Healthcare Technology Provider | | Threat Actor | APT29 (Cozy Bear) | | Initial Access | Compromised third-party vendor credentials | | Primary Techniques | Living off the Land, Pass-the-Hash | | Dwell Time Before Detection | 4 hours | | Endpoints Compromised | 3 (contained before further spread) | | Data Exfiltrated | 0 bytes |
Key Insight: APT29 used exclusively legitimate Windows tools (PowerShell, WMI, PsExec, RDP) to move through the network, making traditional signature-based detection nearly impossible.
At 11:15 PM EST, the threat actor authenticated to the client's VPN using credentials compromised from a third-party IT vendor. The credentials were likely obtained through a separate supply chain compromise. The initial login appeared legitimate -- the vendor regularly accessed the network for maintenance tasks.
The attacker connected from a VPS hosted in a data center that was geographically consistent with the vendor's known locations, further reducing suspicion.
Once inside the network, the attacker began systematic reconnaissance using built-in Windows tools:
# Active Directory enumeration
net group "Domain Admins" /domain
nltest /dclist:HEALTHCARE-CORP
dsquery computer -limit 0
# Network share discovery
net view \\fileserver01 /all
dir \\fileserver01\shares$ /s
# Service account enumeration
setspn -T HEALTHCARE-CORP -Q */*
The attacker then used Mimikatz (loaded into memory, never written to disk) to extract cached credentials from the initial endpoint:
mimikatz # sekurlsa::logonpasswords
mimikatz # sekurlsa::pth /user:svc_backup /domain:HEALTHCARE-CORP /ntlm:a4f49c406510bdca...
With harvested credentials, the attacker began lateral movement to high-value targets:
Each hop used legitimate Windows tools and valid credentials, producing network traffic indistinguishable from normal administrative activity.
At 3:12 AM EST, our MXDR platform's behavioral analytics correlated multiple weak signals into a high-confidence alert. No single event was suspicious on its own, but the pattern was unmistakable.
Our behavioral analytics engine tracked the following anomalous patterns:
Three ML models contributed to the detection:
Our threat hunting team had recently published a hypothesis about APT29 targeting healthcare organizations through vendor access. The MXDR platform automatically correlated the observed TTPs with this hypothesis, increasing the alert priority.
The hunting team's first priority was to determine the full scope of the compromise. They executed targeted queries across the environment:
// Identify all systems accessed by the compromised vendor account
IdentityLogonEvents
| where Timestamp > ago(24h)
| where AccountName == "vendor_maint_01"
| summarize
LoginCount = count(),
UniqueTargets = dcount(TargetDeviceName),
Targets = make_set(TargetDeviceName)
by AccountName, LogonType
| order by LoginCount desc
// Detect Pass-the-Hash activity
DeviceLogonEvents
| where Timestamp > ago(24h)
| where LogonType == "Network"
| where IsLocalAdmin == true
| where ActionType == "LogonSuccess"
| summarize
AttemptCount = count(),
UniqueDevices = dcount(DeviceName),
Devices = make_set(DeviceName)
by AccountName, RemoteIP
| where UniqueDevices > 3
| order by UniqueDevices desc
The team assessed which credentials had been compromised and where they were being used:
// Identify Mimikatz-style credential access
DeviceEvents
| where Timestamp > ago(24h)
| where ActionType in ("LsassAccess", "SensitiveCredentialAccess")
| project Timestamp, DeviceName, InitiatingProcessFileName,
InitiatingProcessCommandLine, ActionType
| order by Timestamp asc
// Track service account anomalous usage
IdentityLogonEvents
| where Timestamp > ago(7d)
| where AccountName == "svc_backup"
| summarize
DailyLogins = count(),
UniqueTargets = dcount(TargetDeviceName)
by bin(Timestamp, 1d)
| render timechart
With the full scope identified, the team executed a coordinated eradication plan:
During the investigation, the team also checked for Kerberoasting activity, a common APT29 technique:
// Detect potential Kerberoasting
IdentityQueryEvents
| where Timestamp > ago(24h)
| where ActionType == "LDAP query"
| where QueryTarget has "servicePrincipalName"
| project Timestamp, AccountName, DeviceName, QueryTarget
| summarize QueryCount = count() by AccountName, DeviceName
| where QueryCount > 10
| order by QueryCount desc
The team validated the Pass-the-Hash technique using the following detection query:
// Advanced PtH detection
DeviceLogonEvents
| where Timestamp > ago(24h)
| where LogonType == "Network"
| where Protocol == "NTLM"
| where ActionType == "LogonSuccess"
| join kind=inner (
DeviceLogonEvents
| where LogonType == "Interactive"
| where ActionType == "LogonSuccess"
| distinct AccountName, DeviceName
) on AccountName
| where DeviceName != DeviceName1
| summarize NTLMHops = count() by AccountName, bin(Timestamp, 1h)
| where NTLMHops > 5
Based on this incident, the following security enhancements were implemented:
Zero Trust for Vendor Access: All third-party vendors now access the network through a dedicated jump server with session recording and just-in-time access provisioning
Enhanced NTLM Monitoring: Additional detection rules were deployed to identify NTLM authentication anomalies, particularly for service accounts
Credential Guard Deployment: Windows Credential Guard was enabled on all endpoints to prevent credential extraction from LSASS memory
Network Microsegmentation: Critical systems were placed in isolated network segments with explicit allow-list firewall rules
Service Account Hardening: All service accounts were migrated to Group Managed Service Accounts (gMSAs) with automatic password rotation
Vendor Access Reviews: Quarterly reviews of all third-party vendor access permissions were instituted, with automatic deprovisioning for inactive accounts
Protect your organization from advanced threats. Contact Apsispoint to learn how our MXDR service combines behavioral analytics, machine learning, and expert threat hunting to detect attacks that evade traditional security tools.
Continue Reading
Discover how Apsispoint's MXDR team detected and neutralized a ransomware attack within minutes, preventing encryption of critical business data.

Explore how Apsispoint's behavioral analytics and machine learning detected and mitigated a zero-day exploit before patches were available.

Learn how Windows Defender's advanced detection capabilities identify and neutralize sophisticated malware like Emotet. Comprehensive analysis of detection techniques and response strategies.

Our team of cybersecurity experts is ready to help.