# M1038 — Execution Prevention ## Visão Geral --- *Fonte: [MITRE ATT&CK — M1038](https://attack.mitre.org/mitigations/M1038)* ## Descrição Prevenir a execução de código não autorizado ou malicioso em sistemas por meio da implementação de controle de aplicações, bloqueio de scripts e outros mecanismos de prevenção de execução. ```mermaid graph TB A["📋 Definir Whitelist<br/>aplicações autorizadas<br/>assinadas e aprovadas"] --> B["🔒 AppLocker / WDAC<br/>bloquear binários<br/>não autorizados"] B --> C["📜 Script Blocking<br/>PowerShell Constrained<br/>Set-ExecutionPolicy AllSigned"] C --> D["🚫 Bloquear Dirs Suspeitos<br/>%TEMP% / %APPDATA%<br/>sem execução de .exe"] D --> E["🛡️ EDR Runtime<br/>análise comportamental<br/>bloqueio em tempo real"] ``` Isso garante que apenas código confiável e autorizado seja executado, reduzindo o risco de malware e ações não autorizadas. Esta mitigação pode ser implementada por meio das seguintes medidas: Controle de Aplicações: - Caso de uso: Utilizar ferramentas como AppLocker ou Windows Defender Application Control (WDAC) para criar whitelists de aplicações autorizadas e bloquear as não autorizadas. No Linux, utilizar ferramentas como SELinux ou AppArmor para definir políticas de controle de acesso mandatório para execução de aplicações. - Implementação: Permitir apenas aplicações assinadas digitalmente ou pré-aprovadas para execução em servidores e endpoints. (ex.: `New-AppLockerPolicy -PolicyType Enforced -FilePath "C:\Policies\AppLocker.xml"`) Bloqueio de Scripts: - Caso de uso: Utilizar mecanismos de controle de scripts para bloquear a execução não autorizada de scripts, como PowerShell ou JavaScript. Navegadores Web: Utilizar extensões ou configurações do navegador para bloquear a execução de JavaScript de fontes não confiáveis. - Implementação: Configurar PowerShell para aplicar Constrained Language Mode para usuários não-administradores. (ex.: `Set-ExecutionPolicy AllSigned`) Bloqueio de Executáveis: - Caso de uso: Prevenir a execução de binários de locais suspeitos, como diretórios `%TEMP%` ou `%APPDATA%`. - Implementação: Bloquear a execução de arquivos `.exe`, `.bat` ou `.ps1` de diretórios com permissão de escrita do usuário. Prevenção por Análise Dinâmica: - Caso de uso: Utilizar ferramentas de prevenção de execução baseadas em comportamento para identificar e bloquear atividades maliciosas em tempo real. - Implementação: Empregar soluções EDR que analisam o comportamento em tempo de execução e bloqueiam execução de código suspeito. ## Técnicas Mitigadas | ID | Técnica | |---|---------| | T1219.001 | [[t1219-001-ide-tunneling\|T1219.001 — IDE Tunneling]] | | T1216.002 | [[t1216-002-syncappvpublishingserver\|T1216.002 — SyncAppvPublishingServer]] | | T1553.003 | [[t1553-003-sip-and-trust-provider-hijacking\|T1553.003 — SIP and Trust Provider Hijacking]] | | T1059.010 | [[t1059-010-autohotkey-autoit\|T1059.010 — AutoHotKey & AutoIT]] | | T1036.005 | [[t1036-005-match-legitimate-resource-name-or-location\|T1036.005 — Match Legitimaté Resource Name or Location]] | | T1574.008 | [[t1574-008-path-interception-by-search-order-hijacking\|T1574.008 — Path Interception by Search Order Hijacking]] | | T1574.006 | [[t1574-006-dynamic-linker-hijacking\|T1574.006 — Dynamic Linker Hijacking]] | | T1546.002 | [[t1546-002-screensaver\|T1546.002 — Screensaver]] | | T1564.003 | [[t1564-003-hidden-window\|T1564.003 — Hidden Window]] | | T1553 | [[t1553-subvert-trust-controls\|T1553 — Subvert Trust Controls]] | | T1176.002 | [[t1176-002-ide-extensions\|T1176.002 — IDE Extensions]] | | T1218.005 | [[t1218-005-mshta\|T1218.005 — Mshta]] | | T1059.005 | [[t1059-005-visual-basic\|T1059.005 — Visual Basic]] | | T1218.004 | [[t1218-004-installutil\|T1218.004 — InstallUtil]] | | T1204 | [[t1204-user-execution\|T1204 — User Execution]] | | T1574.001 | [[t1574-001-dll\|T1574.001 — DLL]] | | T1204.004 | [[t1204-004-malicious-copy-and-paste\|T1204.004 — Malicious Copy and Paste]] | | T1129 | [[t1129-shared-modules\|T1129 — Shared Modules]] | | T1218.009 | [[t1218-009-regsvcsregasm\|T1218.009 — Regsvcs/Regasm]] | | T1548 | [[t1548-abuse-elevation-control-mechanism\|T1548 — Abuse Elevation Control Mechanism]] | | T1548.004 | [[t1548-004-elevated-execution-with-prompt\|T1548.004 — Elevated Execution with Prompt]] | | T1611 | [[t1611-escape-to-host\|T1611 — Escape to Host]] | | T1216.001 | [[t1216-001-pubprn\|T1216.001 — PubPrn]] | | T1547.009 | [[t1547-009-shortcut-modification\|T1547.009 — Shortcut Modification]] | | T1218.012 | [[t1218-012-verclsid\|T1218.012 — Verclsid]] | | T1106 | [[t1106-native-api\|T1106 — Native API]] | | T1127.003 | [[t1127-003-jámplus\|T1127.003 — JámPlus]] | | T1218.015 | [[t1218-015-electron-applications\|T1218.015 — Electron Applications]] | | T1562.011 | [[t1562-011-spoof-security-alerting\|T1562.011 — Spoof Security Alerting]] | | T1219 | [[t1219-remote-access-tools\|T1219 — Remote Access Tools]] | | T1216 | [[t1216-system-script-proxy-execution\|T1216 — System Script Proxy Execution]] | | T1047 | [[t1047-windows-management-instrumentation\|T1047 — Windows Management Instrumentation]] | | T1674 | [[t1674-input-injection\|T1674 — Input Injection]] | | T1059.007 | [[t1059-007-javascript\|T1059.007 — JavaScript]] | | T1204.002 | [[t1204-002-malicious-file\|T1204.002 — Malicious File]] | | T1546.010 | [[t1546-010-appinit-dlls\|T1546.010 — AppInit DLLs]] | | T1059.004 | [[t1059-004-unix-shell\|T1059.004 — Unix Shell]] | | T1574 | [[t1574-hijack-execution-flow\|T1574 — Hijack Execution Flow]] | | T1562.001 | [[t1562-001-disable-or-modify-tools\|T1562.001 — Disable or Modify Tools]] | | T1505.004 | [[t1505-004-iis-components\|T1505.004 — IIS Components]] | | T1547.004 | [[t1547-004-winlogon-helper-dll\|T1547.004 — Winlogon Helper DLL]] | | T1059.002 | [[t1059-002-applescript\|T1059.002 — AppleScript]] | | T1553.001 | [[t1553-001-gatekeeper-bypass\|T1553.001 — Gatekeeper Bypass]] | | T1036.008 | [[t1036-008-masquerade-file-type\|T1036.008 — Masquerade File Type]] | | T1218.008 | [[t1218-008-odbcconf\|T1218.008 — Odbcconf]] | | T1059 | [[t1059-command-and-scripting-interpreter\|T1059 — Command and Scripting Interpreter]] | | T1574.007 | [[t1574-007-path-interception-by-path-environment-variable\|T1574.007 — Path Interception by PATH Environment Variable]] | | T1127 | [[t1127-trusted-developer-utilities-proxy-execution\|T1127 — Trusted Developer Utilities Proxy Execution]] | | T1490 | [[t1490-inhibit-system-recovery\|T1490 — Inhibit System Recovery]] | | T1059.008 | [[t1059-008-network-device-cli\|T1059.008 — Network Device CLI]] | | T1562 | [[t1562-impair-defenses\|T1562 — Impair Defenses]] | | T1218 | [[t1218-system-binary-proxy-execution\|T1218 — System Binary Proxy Execution]] | | T1218.002 | [[t1218-002-control-panel\|T1218.002 — Control Panel]] | | T1059.003 | [[t1059-003-windows-command-shell\|T1059.003 — Windows Command Shell]] | | T1546.006 | [[t1546-006-lcloaddylib-addition\|T1546.006 — LC_LOAD_DYLIB Addition]] | | T1220 | [[t1220-xsl-script-processing\|T1220 — XSL Script Processing]] | | T1080 | [[t1080-taint-shared-content\|T1080 — Taint Shared Content]] | | T1059.009 | [[t1059-009-cloud-api\|T1059.009 — Cloud API]] | | T1547.006 | [[t1547-006-kernel-modules-and-extensions\|T1547.006 — Kernel Modules and Extensions]] | | T1574.009 | [[t1574-009-path-interception-by-unquoted-path\|T1574.009 — Path Interception by Unquoted Path]] | | T1059.006 | [[t1059-006-python\|T1059.006 — Python]] | | T1059.013 | [[t1059-013-container-cliapi\|T1059.013 — Container CLI/API]] | | T1059.011 | [[t1059-011-lua\|T1059.011 — Lua]] | | T1127.001 | [[t1127-001-msbuild\|T1127.001 — MSBuild]] | | T1574.012 | [[t1574-012-corprofiler\|T1574.012 — COR_PROFILER]] | | T1546.008 | [[t1546-008-accessibility-features\|T1546.008 — Accessibility Features]] | | T1546.009 | [[t1546-009-appcert-dlls\|T1546.009 — AppCert DLLs]] | | T1176 | [[t1176-software-extensions\|T1176 — Software Extensions]] | | T1068 | [[t1068-exploitation-for-privilege-escalation\|T1068 — Exploitation for Privilege Escalation]] | | T1176.001 | [[t1176-001-browser-extensions\|T1176.001 — Browser Extensions]] | | T1553.005 | [[t1553-005-mark-of-the-web-bypass\|T1553.005 — Mark-of-the-Web Bypass]] | | T1218.003 | [[t1218-003-cmstp\|T1218.003 — CMSTP]] | | T1219.002 | [[t1219-002-remote-desktop-software\|T1219.002 — Remote Desktop Software]] | | T1036 | [[t1036-masquerading\|T1036 — Masquerading]] | | T1218.014 | [[t1218-014-mmc\|T1218.014 — MMC]] | | T1218.001 | [[t1218-001-compiled-html-file\|T1218.001 — Compiled HTML File]] | | T1218.013 | [[t1218-013-mavinject\|T1218.013 — Mavinject]] | | T1564.006 | [[t1564-006-run-virtual-instance\|T1564.006 — Run Virtual Instance]] | | T1609 | [[t1609-container-administration-command\|T1609 — Container Administration Command]] | | T1059.001 | [[t1059-001-powershell\|T1059.001 — PowerShell]] | ## Contexto LATAM > [!globe] Relevância Regional > Execution Prevention é altamente relevante no Brasil dada a prevalência de ataques via scripts PowerShell e VBScript em campanhas de phishing direcionadas ao setor financeiro. Grupos de ameaças financeiras brasileiros como [[s0531-grandoreiro]] e operadores de RATs como [[s1087-asyncrat]] abusam extensivamente de LOLBins e scripts para evasão de antivírus tradicionais presentes na maioria dos endpoints corporativos nacionais. > - Adoção em SOCs brasileiros: médio — AppLocker e WDAC adotados em bancos e grandes corporações; ausente em ~80% das PMEs que ainda dependem apenas de antivírus baseado em assinatura > - Regulamentações relevantes: BACEN 4893/2021 (controle de execução de código em sistemas financeiros), Febraban CERT (recomendações para prevenção de malware bancário), CISA Best Practices adaptadas para contexto nacional > - Desafios regionais: conflito de AppLocker com software legado empresarial brasileiro, licenciamento de Windows Enterprise necessário para WDAC em PMEs, resistência de times de TI ao bloqueio de ferramentas de administração