# 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)*