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