T1127.003
JamPlus
Adversaries may abuse the JamPlus build utility to proxy the execution of malicious scripts or binaries. JamPlus is a cross-platform build system that uses Jamfiles to describe build processes and dependencies. By embedding arbitrary shell commands within a specially crafted .jam file's Actions blocks, adversaries can execute payloads through a trusted developer tool. Because jam.exe carries a legitimate code-signing reputation, this technique is specifically used to bypass Smart App Control (SAC) and similar reputation-based application control mechanisms that would otherwise block unsigned or unknown executables.
Microsoft Sentinel / Defender
kusto
let SuspiciousChildProcesses = dynamic([
"cmd.exe", "powershell.exe", "pwsh.exe", "wscript.exe", "cscript.exe",
"mshta.exe", "rundll32.exe", "regsvr32.exe", "certutil.exe", "bitsadmin.exe",
"msiexec.exe", "wmic.exe", "net.exe", "netsh.exe", "sc.exe",
"schtasks.exe", "curl.exe", "wget.exe", "ftp.exe", "whoami.exe",
"net1.exe", "nltest.exe", "dsquery.exe"
]);
let SuspiciousParents = dynamic([
"winword.exe", "excel.exe", "powerpnt.exe", "outlook.exe", "onenote.exe",
"wscript.exe", "cscript.exe", "mshta.exe", "explorer.exe",
"powershell.exe", "pwsh.exe", "cmd.exe"
]);
let SuspiciousPaths = dynamic([
"\\temp\\", "\\tmp\\", "\\appdata\\local\\temp\\",
"\\downloads\\", "\\desktop\\", "\\public\\", "\\users\\public\\"
]);
// Branch 1: JamPlus spawning suspicious child processes (RiskScore 90)
DeviceProcessEvents
| where Timestamp > ago(24h)
| where InitiatingProcessFileName =~ "jam.exe" or InitiatingProcessFileName =~ "jamplus.exe"
| where FileName in~ (SuspiciousChildProcesses)
| extend RiskScore = 90
| extend DetectionBranch = "SuspiciousChildProcess"
| union (
// Branch 2: JamPlus spawned by non-development parent processes (RiskScore 85)
DeviceProcessEvents
| where Timestamp > ago(24h)
| where FileName =~ "jam.exe" or FileName =~ "jamplus.exe"
| where InitiatingProcessFileName in~ (SuspiciousParents)
| extend RiskScore = 85
| extend DetectionBranch = "SuspiciousParentProcess"
)
| union (
// Branch 3: JamPlus binary executing from user-writable or temp paths (RiskScore 75)
DeviceProcessEvents
| where Timestamp > ago(24h)
| where FileName =~ "jam.exe" or FileName =~ "jamplus.exe"
| where FolderPath has_any (SuspiciousPaths)
| extend RiskScore = 75
| extend DetectionBranch = "SuspiciousExecutionPath"
)
| union (
// Branch 4: JamPlus loading a Jamfile from a suspicious path via -f flag (RiskScore 70)
DeviceProcessEvents
| where Timestamp > ago(24h)
| where FileName =~ "jam.exe" or FileName =~ "jamplus.exe"
| where ProcessCommandLine has "-f"
| where ProcessCommandLine has_any (SuspiciousPaths)
| extend RiskScore = 70
| extend DetectionBranch = "SuspiciousJamfilePath"
)
| project Timestamp, DeviceName, AccountName, FileName, ProcessCommandLine,
FolderPath, InitiatingProcessFileName, InitiatingProcessCommandLine,
RiskScore, DetectionBranch
| sort by Timestamp desc high severity
medium confidence
Data Sources
Process: Process Creation Command: Command Execution Microsoft Defender for Endpoint
Required Tables
DeviceProcessEvents
False Positives
- Legitimate software development workflows where JamPlus is used as a primary build system and legitimately invokes cmd.exe or scripting engines as part of build steps — baseline known developer workstations and build servers
- Automated CI/CD pipelines (Jenkins, TeamCity, Azure DevOps self-hosted agents) running JamPlus builds that may execute from agent working directories or invoke shell utilities
- Developer IDEs or terminal emulators (such as Visual Studio Code or Windows Terminal, which appear as explorer.exe children) that invoke jam.exe for build tasks — explorer.exe parent is common for GUI-launched terminals
Last updated: 2026-04-18 Research depth: deep
References (8)
- https://attack.mitre.org/techniques/T1127/003/
- https://cyble.com/blog/reputation-hijacking-with-jamplus-a-maneuver-to-bypass-smart-app-control-sac/
- https://www.elastic.co/security-labs/dismantling-smart-app-control
- https://jamplus.github.io/jamplus/quick_start.html
- https://learn.microsoft.com/en-us/defender-endpoint/advanced-hunting-deviceprocessevents-table
- https://learn.microsoft.com/en-us/windows/security/application-security/application-control/smart-app-control/
- https://learn.microsoft.com/en-us/sysinternals/downloads/sysmon
- https://github.com/SigmaHQ/sigma/tree/master/rules/windows/process_creation
Unlock Pro Content
Get the full detection package for T1127.003 including response playbook, investigation guide, and atomic red team tests.
Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance