# T1564.011 - Ignore Process Interrupts > [!warning] Técnica de Evasão Silenciosa > **Tática:** Defense Evasion | **Plataformas:** Linux, macOS, Windows | **Versão MITRE:** 16.2 > Permite que malware sobreviva a tentativas de resposta a incidentes, logoffs de usuários e desconexões de C2 - sem estabelecer persistência formal. ## Técnica Pai Esta é uma sub-técnica de [[t1564-hide-artifacts|T1564 - T1564 - Hide Artifacts]]. ## Descrição **Ignore Process Interrupts** é uma técnica onde adversários configuram processos maliciosos para ignorar sinais de interrupção do sistema operacional, tornando-os imunes a mecanismos convencionais de terminação utilizados durante a resposta a incidentes. Sistemas operacionais Unix/Linux e Windows utilizam sinais para comúnicar eventos aos processos em execução. Quando um analista de segurança ou ferramenta de EDR tenta encerrar um processo suspeito via `kill`, `CTRL+C`, `SIGTERM` ou `SIGINT`, um processo configurado para ignorar esses sinais simplesmente continua sua execução. Da mesma forma, quando um usuário encerra sua sessão SSH (gerando `SIGHUP`), comandos maliciosos iniciados com `nohup` ou `disown` continuam rodando em background sem interrupção. Esta técnica é frequentemente empregada por [[g1048-unc3886|UNC3886]] e [[g1041-sea-turtle|Sea Turtle]] em operações de espionagem contra infraestrutura de telecomúnicações e redes de virtualização. Malwares como [[s1184-boldmove|BOLDMOVE]], [[s1161-bpfdoor|BPFDoor]] e [[s0588-goldmax|GoldMax]] incorporam mecanismos nativos de ignoring de sinais para garantir execução contínua. Diferentemente de [[t1546-005-trap|Trap (T1546.005)]], que usa o comando `trap` para capturar e redirecionar sinais (estabelecendo persistência por re-execução), o Ignore Process Interrupts **não reinicia o processo após terminação real** - ele apenas garante que o processo não sejá interrompido prematuramente. ## Como Funciona ### Mecanismos por Plataforma **Linux / macOS - `nohup`:** O comando `nohup` (No Hang UP) executa um processo imune ao sinal `SIGHUP`, que é enviado quando a sessão do terminal pai é encerrada. A saída padrão é redirecionada para `nohup.out` por padrão. ``` nohup ./malware_payload & nohup python3 c2_agent.py > /dev/null 2>&1 & ``` **Linux - `disown` (shell built-in):** Remove o processo do job control da shell, impedindo que receba `SIGHUP` ao fechar o terminal. ``` ./backdoor & disown -h %1 ``` **Linux - Manipulação direta de sinais via código:** Malwares sofisticados como [[s1161-bpfdoor|BPFDoor]] chamam `signal(SIGTERM, SIG_IGN)` e `signal(SIGINT, SIG_IGN)` diretamente no código C, tornando-se imunes a múltiplos sinais simultaneamente. **Windows - PowerShell `-ErrorAction SilentlyContinue`:** Embora não sejá um sinal de processo, a flag `-ErrorAction SilentlyContinue` faz o PowerShell ignorar erros e continuar a execução do script, impedindo que exceções interrompam pipelines maliciosos. ```powershell Start-Process -WindowStyle Hidden malware.exe -ErrorAction SilentlyContinue Invoke-Expression $payload -ErrorAction SilentlyContinue ``` **Windows - Processos como Serviço / Job Objects:** Adversários registram processos como serviços Windows com `RecoveryOptions` configurado para reiniciar automaticamente após falha, ou usam Job Objects para proteger processos filhos de terminação. ### Sinais Comumente Ignorados | Sinal | Número | Causa | Impacto se Ignorado | |-------|--------|-------|-------------------| | SIGHUP | 1 | Fechamento do terminal/sessão | Processo sobrevive ao logoff | | SIGINT | 2 | CTRL+C pelo usuário | Processo não responde a interrupção manual | | SIGTERM | 15 | `kill PID` padrão | Processo resiste a encerramento "gentil" | | SIGQUIT | 3 | CTRL+\ (dump + quit) | Sem geração de core dump | > [!info] SIGKILL não pode ser ignorado > O sinal `SIGKILL` (9) é tratado diretamente pelo kernel e **não pode ser ignorado** por nenhum processo em espaço de usuário. `kill -9 PID` sempre funciona, mas requer identificação correta do PID - o que pode ser dificultado se o processo ocultou seu nome via [[t1036-masquerading|Masquerading]]. ## Attack Flow ```mermaid graph TB A["Acesso Inicial<br/>(shell reversa / exploit)"] --> B["Estabelecer Foothold<br/>(backdoor / implante)"] B --> C{"Plataforma Alvo"} C --> D["Linux / macOS<br/>nohup / disown / signal()"] C --> E["Windows<br/>-ErrorAction / serviço / Job Object"] D --> F["Processo Imune a<br/>SIGHUP, SIGINT, SIGTERM"] E --> G["Script/Processo Imune<br/>a Erros e Terminação"] F --> H["Sobrevive a Eventos<br/>de Terminação"] G --> H H --> I{"Evento de Terminação"} I --> J["Logoff de Usuário<br/>(SIGHUP)"] I --> K["Analista tenta kill<br/>(SIGTERM/SIGINT)"] I --> L["Perda de conexão C2<br/>(socket timeout)"] I --> M["Ferramenta de IR<br/>tenta encerrar processo"] J --> N["Processo CONTINUA<br/>em execução"] K --> N L --> N M --> N N --> O["Operação Não Interrompida<br/>(exfiltração / espionagem)"] style A fill:#c0392b,color:#fff style F fill:#8e44ad,color:#fff style G fill:#8e44ad,color:#fff style N fill:#e67e22,color:#fff style O fill:#2c3e50,color:#fff ``` ## Exemplos de Uso ### UNC3886 - Espionagem em Infraestrutura VMware O [[g1048-unc3886|UNC3886]], grupo de espionagem atribuído à China com foco em infraestrutura de virtualização, utilizou esta técnica extensivamente em campanhas documentadas pela Mandiant em 2023-2024. O grupo implantou o malware [[s1184-boldmove|BOLDMOVE]] - um backdoor Linux customizado para sistemas VMware ESXi - com configuração explícita de ignoring de `SIGTERM` e `SIGINT`. Isso permitiu que o BOLDMOVE continuasse operacional mesmo quando administradores tentavam encerrar processos suspeitos durante investigações preliminares, dando ao grupo tempo adicional para exfiltrar dados e apagar rastros. **Técnica específica do BOLDMOVE:** O implante usa `signal(SIGTERM, SIG_IGN)` e faz daemon de si mesmo via duplo `fork()`, tornando-se filho do processo init (PID 1) e sobrevivendo ao encerramento do processo pai. ### Sea Turtle - Campanhas de DNS Hijacking O [[g1041-sea-turtle|Sea Turtle]], grupo APT turco especializado em ataques de infraestrutura DNS, implantou webshells e backdoors em servidores Linux de registrars e provedores DNS usando `nohup` para garantir a persistência dos implantes entre sessões administrativas. Em campanhas documentadas contra provedores de telecomúnicações no Oriente Médio e LATAM, o grupo usou scripts com `nohup` encadeados a `cron jobs` ocultos como camada dupla de resiliência. ### BPFDoor - Backdoor Linux Sofisticado O [[s1161-bpfdoor|BPFDoor]] é um backdoor Linux que usa Berkeley Packet Filters (BPF) para monitorar tráfego de rede sem abrir portas, combinado com ignoramento explícito de sinais no código fonte. O malware chama `signal(SIGTERM, SIG_IGN)`, `signal(SIGINT, SIG_IGN)` e `signal(SIGHUP, SIG_IGN)`, além de remover-se do filesystem após inicialização (`unlink(argv[0])`), tornando-se extremamente difícil de detectar e encerrar por meios convencionais. Atribuído ao grupo [[red-menshen|Red Menshen]], foi encontrado em empresas de telecomúnicações, governos e provedores de internet em múltiplos continentes. ### GoldMax - Backdoor do APT29 O [[s0588-goldmax|GoldMax]], backdoor Go desenvolvido pelo [[g0016-apt29|APT29]] (também conhecido como Sunshuttle), foi descoberto em 2021 como parte do ecosistema de ferramentas pós-comprometimento usado no ataque à cadeia de suprimentos da SolarWinds. O GoldMax usa rotinas de inicialização que incluem `nohup`-equivalentes em Go para garantir execução continuada mesmo após eventos de sistema que normalmente encerrariam processos background. ### OSX/Shlayer - Adware macOS com Evasão O [[Shlayer]] é um dropper macOS que usa `nohup` extensivamente para executar payloads de segundo estágio em background, sobrevivendo ao fechamento do terminal do instalador malicioso. A técnica garante que o payload de adware/spyware continue sua instalação mesmo que o usuário feche o terminal que iniciou o processo malicioso. ## Detecção ### Indicadores de Comprometimento - Processos iniciados com prefixo `nohup` em horários incomuns ou por usuários não-admin - Processos sem terminal controlador (`TTY`) associado que deveriam tê-lo (verificar `/proc/PID/status`) - Handlers de sinal configurados como `SIG_IGN` em processos suspeitos (visível via `strace -e signal`) - Processos filhos do init/systemd (PID 1) sem correspondente serviço registrado - Scripts PowerShell com `-ErrorAction SilentlyContinue` em pipelines não autorizados ### Regra Sigma - Uso Suspeito de nohup ```yaml title: Suspicious nohup Usage for Process Signal Evasion id: a7b3c9d2-4e5f-6g7h-8i9j-0k1l2m3n4o5p status: stable description: > Detecta uso de nohup ou disown para executar processos imunes a sinais de interrupção - técnica usada por malware para sobreviver a logoffs e tentativas de terminação por equipes de IR. author: RunkIntel daté: 2026-03-25 tags: - attack.defense_evasion - attack.t1564.011 logsource: category: process_creation product: linux detection: selection_nohup: CommandLine|contains: - 'nohup ' - ' nohup' selection_suspicious_targets: CommandLine|contains: - '/tmp/' - '/dev/shm/' - '/var/tmp/' - '.sh' - 'curl ' - 'wget ' - 'python' - 'perl' - 'bash -c' filter_legit: User|contains: - 'root' ParentCommandLine|contains: - 'cron' - 'systemd' - 'init' condition: selection_nohup and selection_suspicious_targets and not filter_legit falsepositives: - Scripts de manutenção legítimos executados manualmente por admins - Jobs de backup e monitoramento que usam nohup level: medium fields: - User - CommandLine - ParentCommandLine - CurrentDirectory ``` ### Regra Sigma - PowerShell SilentlyContinue Abuse ```yaml title: PowerShell ErrorAction SilentlyContinue in Suspicious Context id: b8c4d0e1-5f6g-7h8i-9j0k-1l2m3n4o5p6q status: experimental description: > Detecta uso de -ErrorAction SilentlyContinue em comandos PowerShell executados em contextos suspeitos (encoded commands, temp dirs, etc.) author: RunkIntel daté: 2026-03-25 tags: - attack.defense_evasion - attack.t1564.011 logsource: product: windows service: powershell definition: 'Script Block Logging habilitado (Event ID 4104)' detection: selection: EventID: 4104 ScriptBlockText|contains|all: - 'SilentlyContinue' - 'Invoke-Expression' selection_encoded: EventID: 4104 ScriptBlockText|contains|all: - 'SilentlyContinue' - '-EncodedCommand' condition: selection or selection_encoded falsepositives: - Scripts de administração legítimos com tratamento de erros - Ferramentas de gerenciamento de configuração (Ansible, DSC) level: medium ``` ## Mitigação | Controle | Implementação | Cobertura | |---------|--------------|----------| | Monitoramento de Processos | Habilitar auditoria de criação de processos com argumentos completos (`auditd` com regra `-a always,exit -F arch=b64 -S execve`) | Linux/macOS | | Restrição de `nohup` | Implementar wrapper para `nohup` que logue execuções via `auditd` ou SIEM; alertar em uso por usuários não-admin | Linux | | Endpoint Detection & Response | EDR com monitoramento de chamadas de sistema (`signal()`, `sigaction()`) pode detectar processos registrando handlers `SIG_IGN` | Todas | | PowerShell Logging | Habilitar Script Block Logging (GPO: `Computer Configuration > Administrative Templates > Windows Components > Windows PowerShell`) | Windows | | Least Privilege | Processos sem privilégios não podem usar `kill -9` em processos de outros usuários; isolamento de containers limita impacto | Linux | | Análise de Processos Órfãos | Monitorar processos filhos de PID 1 (init/systemd) que não correspondam a serviços registrados - indicativo de double-fork de malware | Linux | > [!note] Ausência de Mitigações Oficiais MITRE > O MITRE ATT&CK não lista mitigações específicas para T1564.011, indicando que a técnica é difícil de prevenir sem impacto operacional. O foco deve ser em **detecção** e **contenção** - usar `kill -9` ao identificar processos suspeitos e implementar monitoramento de syscalls. ## Contexto Brasil/LATAM ### Relevância Regional A técnica Ignore Process Interrupts é especialmente relevante no contexto brasileiro e latino-americano pelos seguintes fatores: **Servidores Linux em infraestrutura crítica:** O Brasil possui alta penetração de Linux em servidores de telecomúnicações, utilities (energia elétrica, saneamento) e setor financeiro - todos alvos prioritários de grupos como [[g1048-unc3886|UNC3886]] e [[g1041-sea-turtle|Sea Turtle]], que documentaram interesse em infraestrutura LATAM. **Capacidade limitada de monitoramento:** Muitas empresas brasileiras de médio porte - especialmente ISPs regionais e prestadoras de serviços públicos - carecem de soluções de EDR para Linux, dependendo exclusivamente de logs de sistema para detecção. O `nohup` não gera eventos de segurança nativamente no Linux sem configuração explícita de `auditd`. **Campanhas de ransomware em servidores Linux:** Grupos como [[lockbit|LockBit Green]] (variante Linux) e [[blackcat|BlackCat]] usam técnicas de ignoring de sinais em seus encryptors Linux para garantir que a cifragem complete mesmo se um administrador tentar interromper o processo ao perceber atividade anômala. **Casos documentados no Brasil:** Equipes de IR brasileiras relataram encontrar processos `nohup python3 beacon.py &` em servidores comprometidos de empresas do setor de energia e telecomúnicações, onde os operadores de ameaça garantiram que seus agentes C2 sobrevivessem a reinicios de sessão SSH durante operações de resposta a incidentes. ### Recomendações para Defenders Brasileiros 1. **Configurar `auditd`** para registrar todas as chamadas `execve` com argumentos - padrão mínimo em qualquer servidor Linux exposto 2. **SIEM com regras para `nohup`** em pastas sensíveis (`/tmp`, `/dev/shm`, `/var/tmp`) - alertar imediatamente 3. **Inventário de processos** sem TTY associado fora de serviços conhecidos - verificar periodicamente com `ps aux | grep -v tty` 4. **Exercícios de Threat Hunting**: Usar [[playbook-threat-hunting-linux|Playbook de Threat Hunting Linux]] para mapear processos persistentes em servidores críticos ## Referências - [MITRE ATT&CK - T1564.011](https://attack.mitre.org/techniques/T1564/011) - [Mandiant - UNC3886 VMware ESXi Zero-Day](https://www.mandiant.com/resources/blog/unc3886-vmware-esxi-zero-day) - [Trend Micro - BPFDoor Analysis](https://www.trendmicro.com/en_us/research/22/e/bpfdoor-an-active-chinese-global-surveillance-tool.html) - [Microsoft - GoldMax/GoldFinder/Sibot Analysis](https://www.microsoft.com/en-us/security/blog/2021/03/04/goldmax-goldfinder-sibot-analyzing-nobelium-malware/) - [[s1161-bpfdoor|BPFDoor]] - Backdoor Linux com signal ignoring nativo - [[s1184-boldmove|BOLDMOVE]] - Backdoor ESXi do UNC3886 - [[s0588-goldmax|GoldMax]] - Backdoor Go do APT29 - [[t1546-005-trap|T1546.005 - Trap]] - Técnica relacionada que usa sinais para persistência - [[t1036-masquerading|T1036 - Masquerading]] - Frequentemente combinado para ocultar o processo - [[g1048-unc3886|UNC3886]] - Principal usuário documentado desta técnica - [[g1041-sea-turtle|Sea Turtle]] - Grupo APT com uso documentado em LATAM --- *Fonte: [MITRE ATT&CK - T1564.011](https://attack.mitre.org/techniques/T1564/011)*