T1072

Software Deployment Tools

Execution Lateral Movement Last updated:

Adversaries may gain access to and use centralized software suites installed within an enterprise to execute commands and move laterally through the network. Configuration management and software deployment applications — including Microsoft SCCM/ConfigMgr, HCL BigFix, PDQ Deploy, Symantec Altiris, Microsoft Intune, Azure Arc, AWS Systems Manager (SSM), and RAdmin — are widely deployed for enterprise endpoint management. Adversaries who compromise or abuse these platforms gain the ability to execute arbitrary commands across all enrolled systems simultaneously, often running as SYSTEM or with elevated privileges. Real-world abuse includes APT32 compromising McAfee ePO for malware distribution, Sandworm Team using RemoteExec for agentless lateral movement, Medusa Group deploying ransomware payloads via BigFix and PDQ Deploy, and Threat Group-1314 abusing Altiris for network-wide propagation.

What is T1072 Software Deployment Tools?

Software Deployment Tools (T1072) maps to the Execution and Lateral Movement tactics — the adversary is trying to run malicious code in MITRE ATT&CK.

This page provides production-ready detection logic for Software Deployment Tools, covering the data sources and telemetry it touches: Process: Process Creation, Command: Command Execution, Microsoft Defender for Endpoint. The queries below are rated high severity at medium confidence, and ship for 7 SIEM platforms — KQL, SPL, Elastic, QRadar, Sumo, YARA-L, LogScale.

MITRE ATT&CK

Tactic
Execution Lateral Movement
Technique
T1072 Software Deployment Tools
Canonical reference
https://attack.mitre.org/techniques/T1072/
Microsoft Sentinel / Defender
kusto
let DeploymentAgents = dynamic([
    "ccmexec.exe",
    "ccmsetup.exe",
    "besclient.exe",
    "besservice.exe",
    "PDQDeployRunner.exe",
    "PDQDeploy.exe",
    "AeXNSAgent.exe",
    "AeXSWDSvc.exe",
    "IntuneManagementExtension.exe",
    "amazon-ssm-agent.exe",
    "RemoteExec.exe",
    "radmin.exe",
    "r_server.exe"
]);
let SuspiciousChildren = dynamic([
    "cmd.exe", "powershell.exe", "pwsh.exe", "wscript.exe", "cscript.exe",
    "mshta.exe", "regsvr32.exe", "rundll32.exe", "certutil.exe", "bitsadmin.exe",
    "wmic.exe", "net.exe", "net1.exe", "sc.exe", "schtasks.exe",
    "reg.exe", "whoami.exe", "nltest.exe", "at.exe"
]);
DeviceProcessEvents
| where Timestamp > ago(24h)
| where InitiatingProcessFileName has_any (DeploymentAgents)
| where FileName has_any (SuspiciousChildren)
| extend CredentialAccess = ProcessCommandLine has_any ("lsass", "procdump", "mimikatz", "sekurlsa", "comsvcs", "ntds.dit", "MiniDump")
| extend LateralMovement = ProcessCommandLine has_any ("psexec", "wmic /node", "net use", "xcopy", "robocopy", "Enter-PSSession")
| extend PersistenceAttempt = ProcessCommandLine has_any ("schtasks /create", "sc create", "reg add", "localgroup administrators", "CurrentVersion\\Run", "startup")
| extend DownloadAttempt = ProcessCommandLine has_any ("downloadstring", "downloadfile", "invoke-webrequest", "iwr ", "certutil -urlcache", "bitsadmin /transfer", "net.webclient", "Start-BitsTransfer")
| extend EncodedCmd = ProcessCommandLine has_any ("-EncodedCommand", "-enc ", "-e ", "-ec ")
| extend ReconActivity = ProcessCommandLine has_any ("whoami", "net user", "net group", "nltest", "ipconfig", "systeminfo", "netstat", "tasklist", "net localgroup")
| extend HiddenExec = ProcessCommandLine has_any ("-WindowStyle Hidden", "-w hidden", "-nop ", "-noni ")
| where CredentialAccess or LateralMovement or PersistenceAttempt or DownloadAttempt or EncodedCmd or (ReconActivity and HiddenExec)
| project Timestamp, DeviceName, AccountName,
          FileName, ProcessCommandLine,
          InitiatingProcessFileName, InitiatingProcessCommandLine,
          InitiatingProcessParentFileName,
          CredentialAccess, LateralMovement, PersistenceAttempt,
          DownloadAttempt, EncodedCmd, ReconActivity, HiddenExec
| sort by Timestamp desc

Detects suspicious child processes spawned by known software deployment tool agents using Microsoft Defender for Endpoint DeviceProcessEvents. Identifies deployment agents (SCCM ccmexec.exe, BigFix besclient.exe, PDQ Deploy PDQDeployRunner.exe, Intune IntuneManagementExtension.exe, AWS SSM amazon-ssm-agent.exe, RAdmin radmin.exe, RemoteExec) launching living-off-the-land binaries with suspicious command patterns. Flags are categorized per attack phase — credential access, lateral movement, persistence, download cradles, encoded commands, and reconnaissance — to support analyst triage and prioritization.

high severity medium confidence

Data Sources

Process: Process Creation Command: Command Execution Microsoft Defender for Endpoint

Required Tables

DeviceProcessEvents

False Positives

  • SCCM/ConfigMgr routinely spawns PowerShell and cmd.exe to execute legitimate software deployment scripts, patch management, and compliance remediation — build an allowlist of authorized script names and package GUIDs from InitiatingProcessCommandLine
  • BigFix (HCL) and PDQ Deploy are frequently used for IT administration tasks including software installs, configuration changes, and script execution that legitimately trigger this detection during patch cycles
  • Intune Management Extension (IntuneManagementExtension.exe) executes PowerShell scripts deployed by administrators for device configuration, security baseline enforcement, and application installation
  • AWS Systems Manager Run Command legitimately executes shell commands on EC2 instances for patch management, inventory collection, and operational runbooks — tune by allowlisting known SSM document names
  • Automated patch management tools may use certutil or bitsadmin for downloading and verifying update packages from vendor CDNs
  • Monitoring and inventory agents (SCCM hardware inventory, BigFix relevance queries) run net.exe and systeminfo.exe on a schedule to collect asset data

Sigma rule & cross-platform mapping

The detection logic for Software Deployment Tools (T1072) above is provided in a vendor-neutral form so you can deploy it on any SIEM. The same logic is shipped here as native KQL (Microsoft Sentinel / Defender), SPL (Splunk), Elastic (Elastic Security (EQL)), QRadar (IBM QRadar (AQL)), Sumo (Sumo Logic CSE), YARA-L (Google Chronicle / SecOps), LogScale (CrowdStrike LogScale (CQL)) queries. In Sigma terms, this detection targets the following logsource:

logsource:
  category: process_creation
  product: windows

Browse the community-maintained Sigma rules for this technique:


Testing Methodology

Validate this detection against 5 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.

  1. Test 1Simulate Malicious Reconnaissance via Deployment Tool Child Process

    Expected signal: Sysmon Event ID 1: cmd.exe with CommandLine containing 'whoami /all', 'net user /domain', 'nltest /domain_trusts', and 'net localgroup administrators'. Security Event ID 4688 (with command line auditing enabled) showing the full command chain. Each net.exe/nltest.exe subprocess also generates its own Event ID 1.

  2. Test 2Simulate Hidden PowerShell Execution with Download Cradle via Deployment Context

    Expected signal: Sysmon Event ID 1: powershell.exe with CommandLine containing '-ExecutionPolicy Bypass', '-WindowStyle Hidden', '-NoProfile', '-NonInteractive', 'Net.WebClient', and 'DownloadString'. Sysmon Event ID 3: Network Connection attempt to 127.0.0.1:9999 (connection refused). PowerShell ScriptBlock Log Event ID 4104 with full script content.

  3. Test 3Simulate Credential Staging via Deployment Tool (comsvcs MiniDump)

    Expected signal: Sysmon Event ID 1: powershell.exe with CommandLine referencing 'comsvcs.dll' and 'MiniDump'. Sysmon Event ID 1 child: rundll32.exe with CommandLine 'comsvcs.dll, MiniDump <PID>'. Sysmon Event ID 10: Process Access event targeting lsass.exe with GrantedAccess 0x1FFFFF. Security Event ID 4656: Handle request to lsass.exe. EDR should generate a LSASS credential access alert independently.

  4. Test 4Simulate AWS SSM Run Command Abuse

    Expected signal: AWS CloudTrail: EventName=SendCommand, EventSource=ssm.amazonaws.com, with userIdentity.arn of the calling principal, sourceIPAddress of the attacker host, and requestParameters.documentName=AWS-RunShellScript. SSM agent log on target instance: /var/log/amazon/ssm/amazon-ssm-agent.log shows command receipt. CloudWatch Logs (if configured): command output stored at the configured S3 output bucket.

  5. Test 5Simulate Lateral Movement via Deployment Tool (Remote Service Installation)

    Expected signal: Sysmon Event ID 1: cmd.exe with CommandLine containing 'sc \\127.0.0.1 create' and service binary path. Security Event ID 7045 (System log): New service 'df00tech_test_svc' installed on the system. Security Event ID 4697: A service was installed in the system (if service installation auditing is enabled). Security Event ID 4624: Logon event for the remote connection authentication.


Response Playbook

Triage

  1. Identify which deployment tool agent spawned the suspicious process — is this an authorized and known platform (SCCM, Intune, BigFix) or an unusual/unauthorized tool (RemoteExec, RAdmin, unknown PDQ installation)? Check the full path of the parent image against expected installation directories.
  2. Cross-reference with the deployment tool's administrative console for a corresponding authorized job matching the timestamp: SCCM — Software Center > Deployment Status, or query WMI SMS_ClientOperations; BigFix — Fixlet/Task history in BigFix console; PDQ Deploy — Deployment log in PDQ console; Intune — Azure portal > Devices > Configuration profiles > Assignment status.
  3. Determine the blast radius — how many devices show this same parent-child chain? Query: summarize UniqueDevices=dcount(DeviceName) by ProcessCommandLine over the incident window. A single-host execution may indicate targeted compromise; identical execution across 10+ hosts simultaneously indicates mass deployment attack or ransomware pre-positioning.
  4. Review the AccountName and InitiatingProcessAccountName — is the deployment agent running as SYSTEM, NT AUTHORITY\NETWORK SERVICE, or an unexpected named account? Deployment agents running recon commands as SYSTEM with no corresponding change ticket are highly suspicious.
  5. Decode and analyze the full command line if encoded. For Base64 PowerShell: [System.Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('<payload>')); for certutil-decoded content: certutil -decode <encoded_file> <output_file>.
  6. Check DeviceNetworkEvents for concurrent outbound connections from the suspicious child process PID — connections from cmd.exe or PowerShell to public IPs immediately after spawning from a deployment agent indicate active C2 communication.
  7. Review the InitiatingProcessCommandLine for a deployment job identifier (SCCM Program GUID, BigFix Fixlet ID, PDQ package name). Cross-reference this identifier with the deployment platform's job history to determine if the job was authorized and who created it.

Containment

  1. If unauthorized activity confirmed: immediately suspend all active deployment jobs in the compromised platform — SCCM: disable the affected deployment collection and revoke the Software Distribution point assignment; BigFix: stop the active Fixlet action; PDQ Deploy: cancel the active deployment and revoke package; Intune: remove the PowerShell script assignment from all device groups.
  2. Revoke and rotate all service account credentials used by the deployment platform — SCCM Network Access Account, SCCM service account, BigFix relay credentials, PDQ service account — as these may have been extracted by the attacker to enable the compromise.
  3. Isolate the deployment management server itself from the network using EDR isolation or an emergency firewall rule if the server shows signs of compromise (unauthorized logins, new jobs created outside business hours, admin credentials used from unknown IPs). This prevents further command distribution to enrolled endpoints.
  4. For mass deployment scenarios impacting more than 10 hosts: implement emergency ACLs blocking lateral SMB/RPC communication between endpoints; engage incident response team immediately for large-scale containment; do not attempt individual host isolation for >50 hosts — network-level segmentation is more effective.
  5. Revoke admin shares (net share ADMIN$ /delete) on affected endpoints if lateral movement via UNC paths was observed in command line arguments. Reset KRBTGT password twice if domain controller access is suspected.
  6. For AWS SSM abuse: revoke the IAM role or instance profile granting ssm:SendCommand permissions; review and terminate active SSM Session Manager sessions via aws ssm describe-sessions --state Active; audit and tighten IAM policies on all instance profiles that include SSM permissions.

Evidence Collection

  1. Deployment tool database/logs — SCCM: query WMI class SMS_ClientOperations and SMS_StatusMessage on site server (\\<site_server>\root\ccm); execmgr.log on affected clients (C:\Windows\CCM\Logs\execmgr.log); BigFix: query BigFix database for recent fixlet executions by affected client; PDQ Deploy: export C:\ProgramData\Admin Arsenal\PDQ Deploy\Database.db (SQLite) for full deployment history.
  2. Process creation events — Sysmon Event ID 1 in Microsoft-Windows-Sysmon/Operational showing the complete parent-child process chain from the deployment agent through all spawned processes, including the full CommandLine and MD5/SHA256 hash of each binary.
  3. Command line arguments via Security audit — Security Event ID 4688 (requires 'Include command line in process creation events' audit policy enabled) for all processes created during the incident window; provides an independent data source corroborating Sysmon telemetry.
  4. Network connections — Sysmon Event ID 3 for all outbound connections made by processes spawned from deployment agents; correlate remote IPs against known-good vendor update servers vs. unrecognized infrastructure. Pull NetFlow/firewall logs for the management server showing connections to all enrolled endpoints.
  5. File creation events — Sysmon Event ID 11 for executables, DLLs, scripts, or archives written to disk by deployment agent child processes; focus on TEMP (C:\Windows\Temp, %APPDATA%\Local\Temp), ProgramData, and AppData directories as staging locations.
  6. PowerShell transcript and script block logs — Event ID 4104 in Microsoft-Windows-PowerShell/Operational for deobfuscated script content executed through the deployment platform; Event ID 4103 for pipeline execution details.
  7. AWS SSM audit trail — CloudTrail events for ssm:SendCommand, ssm:StartSession, ssm:GetCommandInvocation API calls; include source IP, IAM principal (UserIdentity.arn), command document name, and output S3 bucket location where command results were stored.
  8. Intune audit logs — Azure Active Directory > Audit logs filtered for Microsoft Intune service; specifically 'Run device action' and 'Create deviceManagementScript' events in the incident timeframe with actor identity and script content hash.

Escalation Criteria

  • ! Mass deployment confirmed — the same suspicious command or binary executed across 10 or more hosts within a 60-minute window, indicating automated network-wide propagation consistent with ransomware pre-deployment (Medusa Group pattern using BigFix/PDQ).
  • ! Credential access detected — deployment tool child process accessing LSASS memory, procdump output files created, or command lines containing mimikatz, sekurlsa, or comsvcs MiniDump patterns. Treat as confirmed breach requiring immediate IR escalation.
  • ! Deployment management server compromised — evidence of unauthorized console logins, new unauthorized deployment jobs created (especially outside business hours), admin credentials used from geographic locations inconsistent with your workforce, or new operator/admin accounts created in the deployment platform.
  • ! Persistence established at scale — new scheduled tasks, Windows services, or HKLM registry Run keys created via the deployment platform across multiple endpoints, indicating the attacker is attempting to maintain access beyond the deployment tool itself.
  • ! Data exfiltration indicators — deployment agent child processes making outbound connections to non-corporate public IPs on ports 443 or 80 with sustained data transfer, particularly from file servers or data repositories.
  • ! Lateral movement to critical assets — deployment commands specifically targeting domain controllers, Active Directory, financial systems, backup servers, or security tools (EDR servers, SIEM), indicating targeted attack beyond opportunistic ransomware.
  • ! Cloud deployment tool abuse with IAM compromise — SSM, Azure Arc, or GCP Deployment Manager used from an IAM/Azure AD identity with anomalous login behavior (impossible travel, unfamiliar device, MFA push fatigue indicators) against production infrastructure.

Investigation Guide

Forensic Artifacts

  • > SCCM client: C:\Windows\CCM\Logs\execmgr.log — program execution history with package IDs, execution status, and timestamps; C:\Windows\CCM\Logs\CcmExec.log — agent activity; WMI root\ccm\clientsdk:CCM_SoftwareBase for installed software history
  • > BigFix client: C:\Program Files (x86)\BigFix Enterprise\BES Client\__BESData\ — local fixlet cache and download history; Windows Event Log: BigFix-BESClient entries in Application log with fixlet IDs and execution results
  • > PDQ Deploy: %ProgramData%\Admin Arsenal\PDQ Deploy\Database.db — SQLite database with complete deployment history, command output, and target computer lists; exportable via PDQ console or sqlite3 CLI
  • > Intune: C:\ProgramData\Microsoft\IntuneManagementExtension\Logs\IntuneManagementExtension.log — PowerShell script execution log with script name, execution result, and output; Azure AD Audit Logs for deviceManagementScript events
  • > AWS SSM: C:\ProgramData\Amazon\SSM\Logs\amazon-ssm-agent.log (Windows) or /var/log/amazon/ssm/amazon-ssm-agent.log (Linux) — command receipt and execution; CloudTrail S3 bucket for ssm:SendCommand events; output stored in S3 at s3://<OutputS3BucketName>/ssm-output/
  • > RAdmin: Windows Event Log Application events from Famatech RAdmin service; HKLM\SYSTEM\CurrentControlSet\Services\RServer3 registry key for service configuration and authorized IPs; C:\Windows\SysWOW64\rserver30\ for server binary and config files
  • > Process creation: Sysmon Event ID 1 (parent-child chain), Sysmon Event ID 8 (CreateRemoteThread if process injection occurred from deployment agent context), Sysmon Event ID 10 (ProcessAccess if LSASS was targeted)
  • > Prefetch: C:\Windows\Prefetch\CCMEXEC.EXE-*.pf, BESCLIENT.EXE-*.pf, INTUNEMANAGEMENTEXTENSION.EXE-*.pf — execution timestamps and loaded DLLs for deployment agents; enumerate using WinPrefetchView or strings on raw .pf files
  • > Network: NetFlow or firewall logs showing connections FROM the management server to all enrolled endpoints (identifying initial command distribution) and FROM endpoints to external IPs (identifying C2 or exfiltration destinations)

Tuning Guidance

The core tuning challenge for T1072 is the high legitimate activity volume from deployment tools. Start by profiling your environment's baseline: for SCCM, extract all active deployment Program GUIDs and script names from the site database — authorized programs appear in ccmexec.exe command lines as known GUIDs; create a watchlist lookup and exclude matching GUIDs. For BigFix, document the Fixlet IDs used by your operations team and exclude these from the detection. For PDQ Deploy, allowlist by deployment package name appearing in PDQDeployRunner.exe command lines. Build command-line allowlists for recurring legitimate patterns such as SCCM software inventory scans, BigFix compliance checks, and Intune hardware inventory collection — these generate high-volume false positives on a schedule. For the mass deployment hunting query, calibrate the UniqueDevices threshold against your smallest authorized deployment collection: if your smallest ring is 8 devices, set the threshold to 10. Enforce zero-tolerance for credential access patterns (lsass, procdump, mimikatz) and DownloadAttempt patterns from deployment agents — these should never occur in authorized deployments and are reliable high-fidelity indicators. For cloud environments, implement AWS SCPs or Azure Policy restricting which SSM command documents can be run (e.g., block AWS-RunShellScript and only allow curated, approved documents), and enable CloudTrail alerting on ssm:SendCommand from any identity other than approved IAM roles. Consider deploying SCCM script approval workflows and BigFix operator permission levels to reduce blast radius if a deployment credential is compromised.


Hunting Queries

Hunt for identical commands deployed by deployment tool agents across 5 or more distinct devices — a primary indicator differentiating mass malicious deployment from single-host compromise. Legitimate admin deployments follow controlled rollout schedules; adversary deployments push to all enrolled endpoints simultaneously. Tune the UniqueDevices threshold based on your smallest authorized deployment ring size.

Hunting — KQL
kql
DeviceProcessEvents
| where Timestamp > ago(7d)
| where InitiatingProcessFileName has_any ("ccmexec.exe", "besclient.exe", "PDQDeployRunner.exe", "AeXNSAgent.exe", "IntuneManagementExtension.exe", "amazon-ssm-agent.exe", "RemoteExec.exe", "radmin.exe")
| where FileName has_any ("cmd.exe", "powershell.exe", "pwsh.exe", "wscript.exe", "cscript.exe")
| summarize
    CommandCount = count(),
    UniqueDevices = dcount(DeviceName),
    FirstSeen = min(Timestamp),
    LastSeen = max(Timestamp),
    SampleCommands = make_set(ProcessCommandLine, 5)
    by InitiatingProcessFileName, ProcessCommandLine
| where UniqueDevices >= 5
| sort by UniqueDevices desc
Hunting — SPL
spl
index=wineventlog sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" EventCode=1
    (ParentImage="*\\ccmexec.exe" OR ParentImage="*\\besclient.exe" OR ParentImage="*\\PDQDeployRunner.exe"
     OR ParentImage="*\\AeXNSAgent.exe" OR ParentImage="*\\IntuneManagementExtension.exe"
     OR ParentImage="*\\amazon-ssm-agent.exe" OR ParentImage="*\\RemoteExec.exe" OR ParentImage="*\\radmin.exe")
    (Image="*\\cmd.exe" OR Image="*\\powershell.exe" OR Image="*\\wscript.exe" OR Image="*\\cscript.exe")
| stats count as CommandCount, dc(host) as UniqueDevices, earliest(_time) as FirstSeen, latest(_time) as LastSeen, values(CommandLine) as SampleCommands by ParentImage, CommandLine
| where UniqueDevices >= 5
| sort - UniqueDevices

Hunt for deployment agents writing executables or scripts to temporary and user-writable directories. Legitimate deployment tools install software to standard program directories (Program Files, ProgramData vendor subdirectories). Adversaries staging payloads through compromised deployment platforms typically drop binaries to TEMP or Windows\Temp directories to avoid detection. Submit SHA256 hashes to threat intelligence platforms.

Hunting — KQL
kql
DeviceFileEvents
| where Timestamp > ago(7d)
| where InitiatingProcessFileName has_any ("ccmexec.exe", "besclient.exe", "PDQDeployRunner.exe", "IntuneManagementExtension.exe", "amazon-ssm-agent.exe", "RemoteExec.exe")
| where ActionType == "FileCreated"
| where FolderPath has_any ("\\temp\\", "\\tmp\\", "\\programdata\\", "\\appdata\\local\\temp\\", "\\windows\\temp\\")
| where FileName endswith ".exe"
    or FileName endswith ".dll"
    or FileName endswith ".ps1"
    or FileName endswith ".bat"
    or FileName endswith ".vbs"
    or FileName endswith ".hta"
| project Timestamp, DeviceName, AccountName, FileName, FolderPath, SHA256,
          InitiatingProcessFileName, InitiatingProcessCommandLine
| sort by Timestamp desc
Hunting — SPL
spl
index=wineventlog sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" EventCode=11
    (Image="*\\ccmexec.exe" OR Image="*\\besclient.exe" OR Image="*\\PDQDeployRunner.exe"
     OR Image="*\\IntuneManagementExtension.exe" OR Image="*\\amazon-ssm-agent.exe" OR Image="*\\RemoteExec.exe")
    (TargetFilename="*\\temp\\*" OR TargetFilename="*\\tmp\\*" OR TargetFilename="*\\programdata\\*" OR TargetFilename="*\\appdata\\local\\temp\\*")
    (TargetFilename="*.exe" OR TargetFilename="*.dll" OR TargetFilename="*.ps1" OR TargetFilename="*.bat" OR TargetFilename="*.vbs" OR TargetFilename="*.hta")
| table _time, host, Image, TargetFilename, Hashes, CommandLine
| sort - _time

Hunt for deployment tool agents making outbound connections to unexpected public IPs or domains not associated with known vendor infrastructure. This catches the AWS SSM-as-RAT pattern (Mitiga advisory) where an abused SSM agent beacons to adversary-controlled infrastructure, and SCCM/BigFix agents that have been weaponized to communicate with C2 servers. Build and maintain an allowlist of vendor CDN and update server IPs specific to your environment.

Hunting — KQL
kql
DeviceNetworkEvents
| where Timestamp > ago(7d)
| where InitiatingProcessFileName has_any ("ccmexec.exe", "besclient.exe", "PDQDeployRunner.exe", "IntuneManagementExtension.exe", "amazon-ssm-agent.exe", "radmin.exe", "RemoteExec.exe")
| where RemoteIPType == "Public"
| where not (RemoteUrl has_any ("microsoft.com", "windowsupdate.com", "amazonaws.com", "bigfix.com", "hclsoftware.com", "pdq.com", "admin-arsenal.com", "symantec.com", "broadcom.com"))
| summarize
    Connections = count(),
    UniqueIPs = dcount(RemoteIP),
    Ports = make_set(RemotePort),
    Domains = make_set(RemoteUrl, 5)
    by DeviceName, InitiatingProcessFileName, RemoteIP
| sort by Connections desc
Hunting — SPL
spl
index=wineventlog sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" EventCode=3
    (Image="*\\ccmexec.exe" OR Image="*\\besclient.exe" OR Image="*\\PDQDeployRunner.exe"
     OR Image="*\\IntuneManagementExtension.exe" OR Image="*\\amazon-ssm-agent.exe"
     OR Image="*\\radmin.exe" OR Image="*\\RemoteExec.exe")
    NOT (DestinationHostname="*microsoft.com" OR DestinationHostname="*windowsupdate.com"
         OR DestinationHostname="*amazonaws.com" OR DestinationHostname="*bigfix.com"
         OR DestinationHostname="*pdq.com" OR DestinationHostname="*symantec.com")
    NOT (DestinationIp="10.*" OR DestinationIp="172.16.*" OR DestinationIp="172.17.*"
         OR DestinationIp="172.18.*" OR DestinationIp="172.19.*" OR DestinationIp="172.20.*"
         OR DestinationIp="172.21.*" OR DestinationIp="172.22.*" OR DestinationIp="172.23.*"
         OR DestinationIp="172.24.*" OR DestinationIp="172.25.*" OR DestinationIp="172.26.*"
         OR DestinationIp="172.27.*" OR DestinationIp="172.28.*" OR DestinationIp="172.29.*"
         OR DestinationIp="172.30.*" OR DestinationIp="172.31.*"
         OR DestinationIp="192.168.*" OR DestinationIp="127.*")
| stats count as Connections, dc(DestinationIp) as UniqueIPs, values(DestinationPort) as Ports, values(DestinationHostname) as Domains by host, Image, DestinationIp
| sort - Connections

Atomic Red Team Tests

Test 1 Simulate Malicious Reconnaissance via Deployment Tool Child Process
windows

Simulates the reconnaissance phase executed through a compromised deployment tool agent — the initial step observed in attacks like Threat Group-1314 (Altiris) and APT32 (McAfee ePO). Runs domain and privilege enumeration commands that would appear as suspicious child process activity from a deployment agent. In a real attack, the ParentImage would be ccmexec.exe or besclient.exe; this test generates equivalent command-line telemetry to validate detection logic.

Command

powershell
cmd.exe /c "whoami /all & net user /domain & net group \"Domain Admins\" /domain & nltest /domain_trusts & net localgroup administrators"

Expected Telemetry

Sysmon Event ID 1: cmd.exe with CommandLine containing 'whoami /all', 'net user /domain', 'nltest /domain_trusts', and 'net localgroup administrators'. Security Event ID 4688 (with command line auditing enabled) showing the full command chain. Each net.exe/nltest.exe subprocess also generates its own Event ID 1.

Expected Detection

KQL: ReconActivity=true. SPL: ReconActivity=1, RiskScore >= 1. For full parent-process fidelity, run this via a real SCCM script deployment or use Process Hacker (Tools > Create Process > specify ccmexec.exe as parent) to spoof the initiating process.

Test 2 Simulate Hidden PowerShell Execution with Download Cradle via Deployment Context
windows

Simulates a malicious PowerShell script deployed through a compromised deployment platform using the combined indicators observed in Medusa Group ransomware pre-positioning: hidden window, execution policy bypass, and a download cradle. The download target is localhost to keep the test safe — the connection will fail but all process creation telemetry fires normally. Exercises DownloadAttempt, EncodedCmd, and HiddenExec detection flags simultaneously.

Command

powershell
powershell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -NoProfile -NonInteractive -Command "$wc = New-Object Net.WebClient; try { $wc.DownloadString('http://127.0.0.1:9999/payload') } catch { Write-Output '[Test] Connection refused - expected in safe test environment' }"

Expected Telemetry

Sysmon Event ID 1: powershell.exe with CommandLine containing '-ExecutionPolicy Bypass', '-WindowStyle Hidden', '-NoProfile', '-NonInteractive', 'Net.WebClient', and 'DownloadString'. Sysmon Event ID 3: Network Connection attempt to 127.0.0.1:9999 (connection refused). PowerShell ScriptBlock Log Event ID 4104 with full script content.

Expected Detection

KQL: DownloadAttempt=true, HiddenExec=true. SPL: DownloadAttempt=1 + HiddenExec=1, RiskScore >= 5. Multiple high-weight indicators fire simultaneously, indicating high-confidence malicious deployment activity.

Test 3 Simulate Credential Staging via Deployment Tool (comsvcs MiniDump)
windows

Simulates an adversary using deployment tool access to dump LSASS memory via the built-in comsvcs.dll MiniDump technique — a fileless alternative to procdump observed in post-deployment credential harvesting. This technique requires no additional tooling beyond what is already present on Windows systems. Modern EDR will block the actual dump; the process creation telemetry and command pattern will still fire detection rules. Run in an isolated test environment only.

Command

powershell
powershell.exe -ExecutionPolicy Bypass -Command "$lsassPid = (Get-Process lsass).Id; rundll32.exe C:\Windows\System32\comsvcs.dll, MiniDump $lsassPid $env:TEMP\lsass_test.dmp full 2>&1; Write-Output \"[Test] MiniDump attempted - EDR should have blocked or flagged this\""

Cleanup

powershell
Remove-Item "$env:TEMP\lsass_test.dmp" -ErrorAction SilentlyContinue

Expected Telemetry

Sysmon Event ID 1: powershell.exe with CommandLine referencing 'comsvcs.dll' and 'MiniDump'. Sysmon Event ID 1 child: rundll32.exe with CommandLine 'comsvcs.dll, MiniDump <PID>'. Sysmon Event ID 10: Process Access event targeting lsass.exe with GrantedAccess 0x1FFFFF. Security Event ID 4656: Handle request to lsass.exe. EDR should generate a LSASS credential access alert independently.

Expected Detection

KQL: CredentialAccess=true (comsvcs + lsass pattern). SPL: CredentialAccess=1, RiskScore=5. Highest-priority alert category — escalate immediately regardless of other context.

Test 4 Simulate AWS SSM Run Command Abuse
linux

Simulates an adversary abusing AWS Systems Manager Run Command to execute reconnaissance commands on EC2 instances — the technique documented in the Mitiga security advisory on SSM Agent as Remote Access Trojan. Sends a benign command (hostname, id, uname) to instances tagged with 'Environment:test'. Requires AWS CLI configured with credentials holding ssm:SendCommand permission. Validates CloudTrail logging and any SIEM detections built on SSM API activity.

Command

bash
aws ssm send-command --document-name "AWS-RunShellScript" --parameters '{"commands":["hostname","id","uname -a","cat /etc/os-release"]}' --targets '[{"Key":"tag:Environment","Values":["test"]}]' --region us-east-1 --comment "df00tech-atomic-test-T1072" --output json

Expected Telemetry

AWS CloudTrail: EventName=SendCommand, EventSource=ssm.amazonaws.com, with userIdentity.arn of the calling principal, sourceIPAddress of the attacker host, and requestParameters.documentName=AWS-RunShellScript. SSM agent log on target instance: /var/log/amazon/ssm/amazon-ssm-agent.log shows command receipt. CloudWatch Logs (if configured): command output stored at the configured S3 output bucket.

Expected Detection

CloudTrail-based SIEM rule: alert on ssm:SendCommand from IAM principals not in an approved list or from unexpected source IPs. If MDE covers EC2 Linux: DeviceProcessEvents showing amazon-ssm-agent spawning /bin/sh with command content. The --comment field 'df00tech-atomic-test-T1072' appears in CloudTrail requestParameters.comment for test identification.

Test 5 Simulate Lateral Movement via Deployment Tool (Remote Service Installation)
windows

Simulates the lateral movement phase following deployment tool compromise — an adversary using sc.exe to install a malicious service on a remote host, a pattern observed after obtaining SYSTEM-level execution through deployment platforms. Uses localhost as the target to keep the test safe. Exercises the PersistenceAttempt detection flag and the sc create command pattern associated with ransomware pre-positioning.

Command

powershell
cmd.exe /c "sc \\\\127.0.0.1 create df00tech_test_svc binPath= \"C:\\Windows\\System32\\calc.exe\" DisplayName= \"Windows Test Service\" start= demand 2>&1 && sc \\\\127.0.0.1 delete df00tech_test_svc 2>&1"

Cleanup

powershell
sc \\127.0.0.1 delete df00tech_test_svc 2>nul

Expected Telemetry

Sysmon Event ID 1: cmd.exe with CommandLine containing 'sc \\127.0.0.1 create' and service binary path. Security Event ID 7045 (System log): New service 'df00tech_test_svc' installed on the system. Security Event ID 4697: A service was installed in the system (if service installation auditing is enabled). Security Event ID 4624: Logon event for the remote connection authentication.

Expected Detection

KQL: PersistenceAttempt=true ('sc create' pattern). SPL: PersistenceAttempt=1, RiskScore >= 4. Additional Windows Security log alert: Event ID 7045 for new service installation. This combination — deployment agent context + remote service creation — is a strong indicator of network-wide ransomware deployment preparation.

Related Detections