[PT-BR] T1055 - Process Injection

Plataformas: Linux, macOS, Windows Criado em: 2025-06-04

Descrição

Adversários podem injetar código em processos para evadir defesas baseadas em processo e possivelmente elevar privilégios. Process Injection é um método de execução de código arbitrário no espaço de memória de um processo ativo separado. Executar código no contexto de outro processo pode permitir acesso à memória desse processo, recursos de sistema/rede e, potencialmente, privilégios elevados. A execução via process injection também pode evadir detecção por produtos de segurança, uma vez que a execução fica mascarada sob um processo legítimo.

Existem diversas formas de injetar código em um processo, muitas das quais abusam de funcionalidades legítimas. Essas implementações existem para todos os sistemas operacionais principais, mas são tipicamente específicas para cada plataforma.

Amostras mais sofisticadas podem realizar múltiplas process injections para segmentar módulos e evadir ainda mais a detecção, utilizando named pipes ou outros mecanismos de comunicação entre processos (IPC) como canal de comunicação.

Ver na MITRE ATT&CK

Detalhes

Categoria
Detalhes

Táticas Relacionadas

defense-evasion, privilege-escalation

Fontes de Dados

Process: Process Access, Process: Process Modification, File: File Modification, Process: Process Metadata, File: File Metadata, Process: OS API Execution, Module: Module Load

Sub-técnicas

T1055.013, T1055.012, T1055.009, T1055.015, T1055.014, T1055.005, T1055.011, T1055.001, T1055.003, T1055.008, T1055.004, T1055.002

Mitigações Recomendadas

M1026 - Privileged Account Management

Privileged Account Management

Privileged Account Management foca em implementar políticas, controles e ferramentas para gerenciar de forma segura contas privilegiadas (ex.: SYSTEM, root ou contas administrativas). Isso inclui restringir acessos, limitar escopo de permissões, monitorar o uso de contas privilegiadas e garantir rastreabilidade via logs e auditorias. Essa mitigação pode ser implementada pelas seguintes medidas:

Permissões e Funções de Conta:

  • Implementar RBAC e princípio de menor privilégio para alocar permissões de forma segura.

  • Utilizar ferramentas como Active Directory Group Policies para aplicar restrições de acesso.

Segurança de Credenciais:

  • Empregar ferramentas de cofre de senhas como CyberArk, HashiCorp Vault ou KeePass para armazenamento e rotação segura de credenciais.

  • Enforce políticas de senha para complexidade, unicidade e expiração usando Microsoft Group Policy Objects (GPO).

Autenticação Multifator (MFA):

  • Exigir MFA para todas as contas privilegiadas usando Duo Security, Okta ou Microsoft Azure AD MFA.

Privileged Access Management (PAM):

  • Utilizar soluções PAM como CyberArk, BeyondTrust ou Thycotic para gerenciar, monitorar e auditar acessos privilegiados.

Auditoria e Monitoramento:

  • Integrar o monitoramento de atividades ao SIEM (ex.: Splunk ou QRadar) para detectar e alertar sobre uso anômalo de contas privilegiadas.

Just-In-Time Access:

  • Implementar soluções de JIT como Azure Privileged Identity Management (PIM) ou configurar roles efêmeras em AWS e GCP para conceder permissões elevadas temporárias.

Ferramentas para Implementação

Privileged Access Management (PAM):

  • CyberArk, BeyondTrust, Thycotic, HashiCorp Vault.

Gerenciamento de Credenciais:

  • Microsoft LAPS, Password Safe, HashiCorp Vault, KeePass.

Autenticação Multifator:

  • Duo Security, Okta, Microsoft Azure MFA, Google Authenticator.

Linux Privilege Management:

  • Configuração de sudo, SELinux, AppArmor.

Just-In-Time Access:

  • Azure PIM, AWS IAM Roles com restrições de sessão, GCP Identity-Aware Proxy.

Ver mitigação na MITRE ATT&CK

M1040 - Behavior Prevention on Endpoint

Behavior Prevention on Endpoint

Behavior Prevention on Endpoint refere-se ao uso de tecnologias e estratégias para detectar e bloquear atividades potencialmente maliciosas analisando o comportamento de processos, arquivos, chamadas de API e outros eventos no endpoint. Em vez de depender apenas de assinaturas conhecidas, essa abordagem usa heurísticas, machine learning e monitoramento em tempo real para identificar padrões anômalos indicativos de ataque. Pode ser implementada da seguinte forma:

Comportamento Suspeito de Processos:

  • Implementação: Utilizar EDRs para monitorar e bloquear processos que exibam comportamentos anômalos, como tentativas de privilege escalation.

  • Exemplo: Um atacante usa uma vulnerabilidade conhecida para spawnar um processo privilegiado a partir de uma aplicação user-level. A ferramenta de endpoint detecta a relação anormal entre os processos pai-filho e bloqueia a ação.

Acesso Não Autorizado a Arquivos:

  • Implementação: Utilizar DLPs ou ferramentas de endpoint para bloquear processos que tentem acessar arquivos sensíveis sem a devida autorização.

  • Exemplo: Um processo tenta ler ou modificar um arquivo sensível, como /etc/shadow no Linux ou a hive SAM no Windows. A ferramenta de endpoint identifica esse comportamento anômalo e bloqueia a ação.

Chamadas Anômalas de API:

  • Implementação: Empregar ferramentas de análise em tempo de execução para monitorar chamadas de API e bloquear aquelas associadas a atividades maliciosas.

  • Exemplo: Um processo injeta-se dinamicamente em outro para sequestrar sua execução. O endpoint detecta o uso anômalo de APIs como OpenProcess e WriteProcessMemory e encerra o processo ofensivo.

Prevenção de Exploits:

  • Implementação: Utilizar ferramentas de exploit prevention baseadas em comportamento para detectar e bloquear exploits que tentem obter acesso não autorizado.

  • Exemplo: Um buffer overflow é disparado contra uma aplicação vulnerável. O endpoint detecta a operação de escrita anômala na memória e encerra o processo.

Ver mitigação na MITRE ATT&CK

Detecção

Monitorar chamadas de API do Windows indicativas dos diversos tipos de code injection pode gerar uma grande quantidade de dados e pode não ser imediatamente útil para defesa, a menos que coletadas em circunstâncias específicas para sequências conhecidas de chamadas maliciosas, já que o uso benigno dessas APIs é comum e difícil de distinguir de comportamento malicioso. Chamadas de API como CreateRemoteThread, SuspendThread/SetThreadContext/ResumeThread, QueueUserAPC/NtQueueApcThread, e aquelas que modificam memória em outro processo, como VirtualAllocEx e WriteProcessMemory, podem ser utilizadas para essa técnica. (Citation: Elastic Process Injection July 2017)

Monitorar eventos de arquivos DLL/PE, especialmente a criação desses arquivos binários e o carregamento de DLLs em processos. Buscar DLLs não reconhecidas ou não normalmente carregadas em processos.

Monitoramento de chamadas específicas no Linux, como a syscall ptrace, não deve gerar grandes volumes de dados devido à sua natureza especializada e pode ser um método muito eficaz para detectar técnicas comuns de process injection. (Citation: ArtOfMemoryForensics) (Citation: GNU Acct) (Citation: RHEL auditd) (Citation: Chokepoint preload rootkits)

Monitorar a criação e conexão de named pipes (Event IDs 17 e 18) para possíveis indicadores de processos infectados com módulos externos. (Citation: Microsoft Sysmon v6 May 2017)

Analisar o comportamento de processos para identificar se um processo está executando ações que normalmente não executaria, como abrir conexões de rede, ler arquivos ou outras ações suspeitas que possam indicar comportamento pós-comprometimento.

Procedimentos de Resposta

Personalize estes procedimentos para a sua organização:

  1. Detecção:

    • Adicionar seus métodos de detecção aqui.

  2. Confinamento:

    • Definir os passos de containment.

  3. Erradicação:

    • Especificar ações de erradicação.

  4. Recuperação:

    • Documentar os procedimentos de recuperação.

Referências

  • GNU Acct - GNU. (2010, February 5). The GNU Accounting Utilities. Acessado em 20 de dezembro de 2017.

  • Elastic Process Injection July 2017 - Hosseini, A. (2017, July 18). Ten Process Injection Techniques: A Technical Survey Of Common And Trending Process Injection Techniques. Acessado em 7 de dezembro de 2017.

  • RHEL auditd - Jahoda, M. et al.. (2017, March 14). redhat Security Guide - Chapter 7 - System Auditing. Acessado em 20 de dezembro de 2017.

  • Microsoft Sysmon v6 May 2017 - Russinovich, M. & Garnier, T. (2017, May 22). Sysmon v6.20. Acessado em 13 de dezembro de 2017.

  • Chokepoint preload rootkits - stderr. (2014, February 14). Detecting Userland Preload Rootkits. Acessado em 20 de dezembro de 2017.

Isto foi útil?