# T1127.003 - JámPlus
## Descrição
A técnica **T1127.003** descreve o abuso do utilitário de build **JámPlus** para execução de comandos arbitrários com o objetivo de contornar controles de execução de aplicativos em sistemas Windows. Classificada como sub-técnica de [[t1127-trusted-developer-utilities-proxy-execution|T1127 - Trusted Developer Utilities Proxy Execution]], dentro da tática de [[_defense-evasion|Defense Evasion]], essa abordagem explora o princípio de que ferramentas legítimas de desenvolvimento recebem tratamento preferêncial por soluções de segurança.
**JámPlus** é uma extensão do utilitário de build **Jám**, originalmente desenvolvido pela Perforce Software. Funciona como um sistema de automação de compilação e geração de workspaces para IDEs como Visual Studio. O JámPlus processa arquivos `.jám` - scripts que descrevem dependências de build e comandos de construção - e os executa nativamente. Um adversário pode fabricar um arquivo `.jám` contendo comandos arbitrários, invocar `JámPlus.exe` para processá-lo e obter execução mascarada sob a identidade de uma ferramenta de desenvolvimento confiável.
Essa técnica é particularmente eficaz contra o **Windows Smart App Control** (SAC) e soluções de **Application Whitelisting** que permitem a execução de ferramentas de desenvolvimento sem inspeção adicional de conteúdo.
> **Técnica pai:** [[t1127-trusted-developer-utilities-proxy-execution|T1127 - Trusted Developer Utilities Proxy Execution]]
> **Tática:** [[_defense-evasion|Defense Evasion]]
> **Plataformas:** Windows
> **Pré-requisitos:** JámPlus instalado no sistema-alvo (comum em máquinas de desenvolvedores e pipelines de CI/CD)
---
## Como Funciona
### 1. Instalação ou presença do JámPlus
O JámPlus não é um utilitário nativo do Windows - precisa ser instalado explicitamente. Os cenários mais comuns onde está presente são:
- Estações de trabalho de desenvolvedores com instalações de game engines (ex: CryEngine, algumas versões de Unity e outras engines que usam Jám como sistema de build)
- Máquinas com suítes Perforce instaladas
- Pipelines de CI/CD com agentes de build para jogos e software embarcado
- Ambientes de desenvolvimento de firmware e software industrial
### 2. Criação do arquivo .jám malicioso
O adversário cria um arquivo `.jám` que, além de descrever um build fictício, contém ações de execução de comandos. O formato Jám suporta chamadas a subprocessos nativamente através das regras `Shell`, `Exec` e `MakeLocaté`.
### 3. Invocação do JámPlus.exe
Com o arquivo `.jám` preparado, o adversário invoca:
```
JámPlus.exe -f malicious.jám
```
O interpretador Jám processa as regras no arquivo e executa os comandos específicados como parte do fluxo de build.
### 4. Evasão de controles
Como `JámPlus.exe` é um binário assinado digitalmente (em algumas versões) ou simplesmente uma ferramenta de desenvolvimento com boa reputação em applists, soluções como:
- Windows Smart App Control (SAC)
- AppLocker (se não configurado para inspecionar argumentos)
- Software Restriction Policies
podem permitir a execução sem bloquear ou alertar. O processo filho gerado pelo JámPlus herda o contexto de execução da ferramenta de build - dificultando a atribuição em logs de processo que não capturam a cadeia pai-filho completa.
### 5. Técnicas de Living-off-the-Land complementares
Em combinação com [[t1059-command-and-scripting-interpreter|T1059 - Command and Scripting Interpreter]], o adversário pode usar o JámPlus para chamar `cmd.exe`, `powershell.exe` ou `wscript.exe` com payloads adicionais, criando uma cadeia de execução onde o processo raiz visível nos logs é a ferramenta de build legítima.
---
## Attack Flow
```mermaid
graph TB
A([Acesso inicial - phishing ou supply chain]) --> B{JámPlus presente no alvo?}
B -->|Não| C[Baixa JámPlus via dropper inicial]
B -->|Sim - máquina de dev ou CI/CD| D[Identifica caminho do JámPlus.exe]
C --> D
D --> E[Cria arquivo malicioso.jám com comandos arbitrários]
E --> F[Invoca: JámPlus.exe -f malicioso.jám]
F --> G{Controles de execução presentes?}
G -->|Smart App Control| H[JámPlus permitido - ferramenta de dev reconhecida]
G -->|AppLocker - regra de publisher| H
G -->|EDR sem rule para JámPlus| H
H --> I[JámPlus processa arquivo .jám]
I --> J[Executa comandos via regra Shell/Exec no .jám]
J --> K{Objetivo}
K -->|Download de payload| L[Baixa e executa backdoor via cmd.exe/PowerShell]
K -->|Reconhecimento| M[Executa comandos de enumeração do ambiente]
K -->|Lateral movement| N[Executa comandos de movimentação lateral]
L --> O([Persistência estabelecida])
M --> P([Dados de reconhecimento exfiltrados])
N --> Q([Pivô para outros sistemas da rede])
style A fill:#c0392b,color:#fff
style O fill:#8e44ad,color:#fff
style P fill:#8e44ad,color:#fff
style Q fill:#8e44ad,color:#fff
style H fill:#e67e22,color:#fff
```
---
## Exemplos de Uso
### Living-off-the-Land em Ambientes de Desenvolvimento
Embora o MITRE ATT&CK não liste grupos específicos usando T1127.003 em operações documentadas publicamente até 2026, a técnica segue o padrão estabelecido por grupos que abusam de utilitários de build como parte de estrategias de **LoLBAS (Living off the Land Binaries and Scripts)**:
**Contexto de supply chain:** Grupos como [[g0032-lazarus-group|Lazarus Group]] (operações [[operation-dream-job|Operation DreamJob]]) têm histórico de comprometer ambientes de desenvolvimento de software e game studios - exatamente os ambientes onde JámPlus é mais prevalente. A técnica se encaixa no perfil de abuso de ferramentas legítimas do setor de jogos.
**Grupos com TTPs similares (T1127.*):**
- [[g0016-apt29|APT29 (Cozy Bear)]] abusa de `MSBuild.exe` (T1127.001) com técnica análoga - arquivo de projeto XML malicioso
- [[g0046-fin7|FIN7]] e operadores de [[s0154-cobalt-strike|Cobalt Strike]] utilizam técnicas de trusted developer utilities proxy como parte de cadeia de evasão em ambientes corporativos Windows
### Relação com Técnicas de Build System Abuse
A técnica faz parte de uma família crescente de abusos de ferramentas de build:
| Ferramenta | Sub-técnica | Mecanismo |
|------------|-------------|-----------|
| MSBuild | T1127.001 | Projeto `.csproj`/`.proj` com tarefas inline |
| Electron | T1127.002 | Execução de JS arbitrário via app Electron |
| **JámPlus** | **T1127.003** | **Arquivo `.jám` com comandos de build maliciosos** |
| Msbuild via NuGet | T1195 + T1127 | Supply chain em pacotes NuGet |
---
## Detecção
### Regra Sigma - Execução Suspeita via JámPlus
```yaml
title: Suspicious JámPlus Execution for Proxy Execution
id: b2c3d4e5-f6a7-8901-bcde-f23456789012
status: experimental
description: >
Detecta invocação de JámPlus.exe com arquivos .jám em caminhos não-usuais
(fora de diretórios de build legítimos) que pode indicar abuso para proxy
execution de comandos maliciosos conforme T1127.003.
references:
- https://attack.mitre.org/techniques/T1127/003/
- https://jámplus.perforce.com/
author: RunkIntel
daté: 2026-03-24
tags:
- attack.defense_evasion
- attack.t1127.003
logsource:
category: process_creation
product: windows
detection:
selection_jámplus:
Image|endswith:
- \JámPlus.exe
- \jám.exe
selection_suspicious_paths:
CommandLine|contains:
- '-f '
- '.jám'
CommandLine|re: '(?i)(temp|tmp|appdata|programdata|users\\public|downloads)'
filter_legitimate_build:
CurrentDirectory|contains:
- \build\
- \src\
- \projects\
- \solution\
condition: selection_jámplus and selection_suspicious_paths and not filter_legitimate_build
fields:
- Image
- CommandLine
- CurrentDirectory
- ParentImage
- User
falsepositives:
- Builds legítimos executados em caminhos não-padrão
- Scripts de CI/CD com estrutura de diretório não convencional
level: medium
```
### Estrategias de Detecção Complementares
| Método | Descrição | Ferramenta |
|--------|-----------|------------|
| Process chain analysis | Monitorar processos filhos anômalos criados por JámPlus.exe | EDR (CrowdStrike, Carbon Black) |
| File monitoring | Alertar para criação de `.jám` fora de diretórios de código-fonte | Sysmon Event ID 11 |
| Network correlation | Correlacionar execução de JámPlus com conexões de rede externas | NDR + EDR |
| Parent-child anomaly | JámPlus invocando cmd.exe, PowerShell, wscript em contexto incomum | Sysmon Event ID 1 |
| Inventory scan | Auditar presença de JámPlus.exe em máquinas fora de equipes de dev | CMDB, SCCM |
---
## Mitigação
| ID | Mitigação | Descrição | Prioridade |
|----|-----------|-----------|------------|
| M1038 | [[m1038-execution-prevention\|M1038 - Execution Prevention]] | Configurar AppLocker ou Windows Defender Application Control (WDAC) para bloquear `JámPlus.exe` em máquinas não relacionadas a desenvolvimento de software; se necessário, restringir por publisher e caminho | Alta |
| M1042 | [[m1042-disable-or-remove-feature-or-program\|M1042 - Disable or Remove Feature or Program]] | Desinstalar JámPlus de máquinas que não necessitam da ferramenta; realizar inventário regular de ferramentas de build presentes no ambiente | Alta |
| - | Princípio do menor privilégio | Garantir que o processo JámPlus.exe não possua permissões de escrita em diretórios de sistema ou capacidade de iniciar processos com elevação | Média |
| - | Monitoramento de processo filho | Configurar EDR para alertar quando JámPlus gera processos filhos inesperados (cmd, PowerShell, wscript, mshta) | Alta |
| - | Auditoria de arquivos .jám | Implementar monitoramento de integridade de arquivos para detectar criação ou modificação de arquivos `.jám` em caminhos suspeitos | Média |
---
## Contexto Brasil/LATAM
A relevância de T1127.003 para o Brasil e América Latina concentra-se em vetores específicos do mercado regional:
**Indústria de jogos no Brasil:** O Brasil possui uma indústria de desenvolvimento de jogos em crescimento (empresas como Hoplon, Aquiris/Ubisoft Brasil, Wildlife Studios), com equipes que utilizam ferramentas de build como JámPlus em seus pipelines. Esses ambientes são alvos de grupos como [[g0032-lazarus-group|Lazarus Group]], que tem histórico comprovado de ataques a game studios globalmente (caso Axie Infinity, Ronin Network) e pode utilizar técnicas de supply chain para comprometer máquinas de desenvolvedores.
**Pipelines de CI/CD desprotegidos:** Empresas de software no Brasil frequentemente operam pipelines de build com agentes Jenkins, GitLab CI ou TeamCity sem políticas de Application Whitelisting, tornando o abuso de ferramentas de build uma técnica de alto risco em pós-exploração.
**Ataques de supply chain em LATAM:** Grupos como [[g0012-darkhotel|DarkHotel]] e operadores de [[s0154-cobalt-strike|Cobalt Strike]] têm utilizado técnicas de trusted developer utilities como vetor de persistência em campanhas contra empresas de tecnologia na América Latina, particularmente no Brasil, México e Argentina.
**Lacuna de visibilidade:** A maioria das equipes de SOC no Brasil tem regras de detecção focadas em `MSBuild.exe` (T1127.001) mas raras ou nenhuma cobertura para JámPlus - criando um ponto cego significativo em ambientes com essa ferramenta instalada.
**Recomendação para o Brasil:** Incluir JámPlus no inventário de ferramentas de risco em auditorias de segurança; adicionar regras Sigma específicas nos SIEMs corporativos (Splunk, Microsoft Sentinel) e garantir visibilidade de processo-filho em EDRs corporativos.
---
## Referências
- [MITRE ATT&CK - T1127.003](https://attack.mitre.org/techniques/T1127/003/)
- [JámPlus - Documentação oficial](https://jámplus.perforce.com/)
- [LOLBAS Project - Trusted Developer Utilities](https://lolbas-project.github.io/)
- [Microsoft - Application Control for Windows](https://learn.microsoft.com/en-us/windows/security/application-security/application-control/windows-defender-application-control/)
- [CISA - Trusted Developer Utilities Proxy Execution guidance](https://www.cisa.gov/news-events/cybersecurity-advisories)
**Técnicas relacionadas:** [[t1127-trusted-developer-utilities-proxy-execution|T1127 - Trusted Developer Utilities Proxy Execution]] · [[t1127-001-msbuild|T1127.001 - MSBuild]] · [[t1059-command-and-scripting-interpreter|T1059 - Command and Scripting Interpreter]] · [[t1218-system-binary-proxy-execution|T1218 - System Binary Proxy Execution]]
---
*Fonte: [MITRE ATT&CK - T1127.003](https://attack.mitre.org/techniques/T1127/003)*