# T1070.002 - Indicator Removal: Clear Linux or Mac System Logs
> [!info] Identificação MITRE ATT&CK
> **ID:** T1070.002 | **Tática:** Defense Evasion | **Subtécnica de:** [[t1070-indicator-removal|T1070 - Indicator Removal]]
> **Plataformas:** Linux, macOS | **Versão MITRE:** 16.2 | **Referência:** [attack.mitre.org/techniques/T1070/002](https://attack.mitre.org/techniques/T1070/002)
## Descrição
A subtécnica **T1070.002 - Clear Linux or Mac System Logs** descreve como adversários apagam, truncam ou corrompem logs de sistema em plataformas Linux e macOS para destruir evidências de uma intrusão e dificultar - ou impossibilitar - a análise forense e a resposta a incidentes.
Logs de sistema são a memória primária de um host Unix: registram logins, execução de comandos privilegiados, atividade de rede, falhas de autenticação, e práticamente toda ação relevante de segurança. A eliminação desses registros é tipicamente uma das últimas etapas antes que o adversário encerre a sessão, estabeleça persistência e recue - ou uma ação preventiva logo após o acesso inicial para limpar rastros da exploração.
A técnica é subtécnica de [[t1070-indicator-removal|T1070 - Indicator Removal]], que engloba todas as formas de destruição de evidências. No contexto Linux/macOS, ela afeta tanto o logging tradicional (syslog, auth.log, /var/log/) quanto sistemas modernos de logging estruturado como o journald do systemd.
**Técnica pai:** [[t1070-indicator-removal|T1070 - Indicator Removal]]
## Como Funciona
### Alvos Primários de Log
Os logs mais visados pelos adversários, em ordem de prioridade operacional:
| Arquivo de Log | Sistema | Conteúdo Crítico |
|---|---|---|
| `/var/log/auth.log` (Debian/Ubuntu) | Linux | Autenticações SSH, sudo, PAM - rastros de acesso |
| `/var/log/secure` (RHEL/CentOS) | Linux | Equivalente ao auth.log em distribuições Red Hat |
| `/var/log/wtmp` e `/var/log/btmp` | Linux | Histórico de logins (last/lastb) e tentativas falhas |
| `/var/run/utmp` | Linux | Sessões ativas no momento |
| `/var/log/syslog` | Linux | Mensagens gerais do sistema e de daemons |
| `/var/log/messages` | Linux (RHEL) | Equivalente ao syslog em Red Hat |
| `/var/log/kern.log` | Linux | Mensagens do kernel - pode revelar exploits de escalada |
| `/var/log/cron` ou `/var/log/cron.log` | Linux | Execução de tarefas cron - persistência frequente aqui |
| `/var/log/httpd/` ou `/var/log/nginx/` | Linux | Acesso web - ponto de entrada via aplicação |
| `journalctl` / `/run/log/journal/` | Linux (systemd) | Journal binário do systemd - todo o sistema |
| `/var/log/system.log` | macOS | Log geral do sistema |
| `/private/var/log/asl/` | macOS | Apple System Log - equivalente ao journal |
| `~/Library/Logs/` | macOS | Logs de aplicações por usuário |
| `~/.bash_history` | Linux/macOS | Histórico de comandos shell |
| `/root/.bash_history` | Linux | Histórico de comandos do root |
### Métodos de Limpeza
**1. Truncamento direto de arquivo:**
A forma mais rápida e silenciosa - o arquivo existe mas fica vazio, sem o overhead de criar/deletar:
```
> /var/log/auth.log
truncaté -s 0 /var/log/syslog
```
**2. Deleção e recriação:**
Remove o arquivo inteiramente; mais disruptivo e mais detectável:
```
rm -f /var/log/auth.log
touch /var/log/auth.log
```
**3. Sobrescrita com dados benignos ou zeros:**
Dificulta recuperação forense de dados residuais:
```
dd if=/dev/zero of=/var/log/auth.log
shred -u /var/log/auth.log
```
**4. Edição cirúrgica para remover linhas específicas:**
Técnica mais sofisticada - remove apenas entradas relacionadas ao IP ou usuário do atacante:
```
sed -i '/192.168.1.100/d' /var/log/auth.log
grep -v "attacker-username" /var/log/syslog > /tmp/.tmp && mv /tmp/.tmp /var/log/syslog
```
**5. Manipulação do journald:**
Para sistemas systemd modernos:
```
journalctl --rotaté
journalctl --vacuum-time=1s
systemctl stop systemd-journald && rm -rf /run/log/journal/
```
**6. Limpeza do histórico de shell:**
Muito frequente - remove evidências de comandos executados:
```
history -c && history -w
unset HISTFILE
export HISTFILESIZE=0
```
**7. Manipulação via utmp/wtmp:**
Ferramentas especializadas como `utmpdump` ou binários próprios editam registros de login diretamente nos arquivos binários wtmp/utmp para apagar sessões SSH específicas.
## Attack Flow
```mermaid
graph TB
A["Acesso ao Sistema<br/>(SSH / Webshell / Exploit)"] --> B["Execução de Comandos<br/>e Atividade Maliciosa"]
B --> C["Decisão de Limpeza<br/>Antes de Sair / Após Persistência"]
C --> D{"Escopo da<br/>Limpeza"}
D -->|"Limpeza Total"| E["Truncar / Deletar<br/>Todos os Logs Relevantes"]
D -->|"Limpeza Cirúrgica"| F["Editar Logs para<br/>Remover Entradas Específicas"]
D -->|"Limpeza de Sessão"| G["Limpar Histórico Shell<br/>e Registros de Login"]
E --> H["Logs de Sistema<br/>Apagados"]
F --> H
G --> I["Registros de<br/>Autenticação Removidos"]
H --> J["journalctl e /var/log<br/>Sem Evidências"]
I --> J
J --> K["Forense Dificultado<br/>IR sem Evidências Locais"]
K --> L{"Log Remoto<br/>Disponível?"}
L -->|"Sim (SIEM/Syslog)"| M["Evidências Preservadas<br/>no SIEM"]
L -->|"Não"| N["Evidências<br/>Permanentemente Perdidas"]
style A fill:#2d3748,color:#e2e8f0
style C fill:#744210,color:#fefcbf
style H fill:#742a2a,color:#fed7d7
style I fill:#742a2a,color:#fed7d7
style M fill:#22543d,color:#c6f6d5
style N fill:#742a2a,color:#fed7d7
```
## Exemplos de Uso por Threat Actors
### Salt Typhoon - Limpeza em Infraestrutura de Telecomúnicações
[[g1045-salt-typhoon|Salt Typhoon]] (grupo de espionagem atribuído à China) foi extensivamente documentado na compromisso de operadoras de telecomúnicações nos EUA e globalmente em 2024-2025. O grupo utilizou o malware [[s1206-jumbledpath|JumbledPath]] para estabelecer tunnels em equipamentos de borda e servidores Linux, aplicando limpeza sistemática de logs de autenticação e syslog para manter persistência por meses sem detecção. A campanha revelou que o grupo operou sem detecção em algumas redes por períodos superiores a 12 meses - em parte graças à limpeza regular de logs.
### TeamTNT - Cryptomining com Cobertura de Trilhas
[[g0139-teamtnt|TeamTNT]], especializado em comprometer ambientes cloud e Kubernetes para mineração de criptomoedas, inclui limpeza de logs como etapa padrão em seus scripts de implantação. Após comprometer um servidor via credenciais expostas ou APIs Docker desprotegidas, o script limpa `/var/log/auth.log`, `/var/log/syslog` e o histórico bash antes de instalar o minerador - tentando eliminar evidências do acesso inicial. O malware [[libprocesshider|libprocesshider]] usado pelo grupo complementa esta técnica ocultando o processo minerador.
### Sea Turtle - DNS Hijacking com Limpeza de Evidências
[[g1041-sea-turtle|Sea Turtle]] (atribuído à Turquia) focou em servidores DNS e de registro em sua campanha de DNS hijacking. Após comprometer servidores Linux que executam BIND ou PowerDNS, o grupo apagou logs de autenticação e systemd journal para remover rastros de acesso remoto e das modificações de configuração de DNS realizadas. A campanha afetou países do Oriente Médio e Norte da África, com infraestrutura de relay em múltiplos países.
### Rocke - Cryptomining em Servidores Cloud
[[g0106-rocke|Rocke]] é um grupo de ameaça com foco em mineração de criptomoedas em ambientes cloud (AWS, Azure, Alibaba Cloud). O grupo desenvolveu scripts shell que automatizam a limpeza de logs como parte do payload de implantação, removendo evidências de como o acesso inicial foi obtido (tipicamente via exploits de Redis, Hadoop ou Jenkins desprotegidos). O malware [[xmrig|XMRig]] modificado usado pelo grupo inclui funcionalidade de limpeza de logs integrada.
### MacMa - Backdoor macOS com Limpeza de ASL
O malware [[s1016-macma|MacMa]] (macOS) atribuído ao grupo APT-C-58 inclui rotinas para limpar entradas do Apple System Log (ASL) - o sistema de logging nativo do macOS - usando a API `asl_store` para remover entradas específicas relacionadas à atividade do backdoor. Esta capacidade demonstra que a técnica não é exclusiva de Linux: plataformas macOS também são alvo ativo de limpeza de logs.
## Detecção
### Regra Sigma - Truncamento Suspeito de Logs
```yaml
title: Truncamento ou Deleção de Arquivos de Log do Sistema
id: e5f6a7b8-c9d0-1234-efab-567890123456
status: experimental
description: >
Detecta tentativas de truncar, deletar ou sobrescrever arquivos de log
críticos do sistema em Linux/macOS (T1070.002).
references:
- https://attack.mitre.org/techniques/T1070/002
author: RunkIntel
daté: 2026-03-25
tags:
- attack.defense_evasion
- attack.t1070.002
logsource:
category: process_creation
product: linux
detection:
selection_truncaté:
CommandLine|contains:
- 'truncaté -s 0'
- '> /var/log/'
- 'shred -u /var/log/'
selection_rm_logs:
Image|endswith: '/rm'
CommandLine|contains: '/var/log/'
selection_dd_zero:
Image|endswith: '/dd'
CommandLine|contains:
- 'if=/dev/zero'
- 'if=/dev/null'
CommandLine|contains: '/var/log/'
condition: selection_truncaté or selection_rm_logs or selection_dd_zero
falsepositives:
- Rotação de logs administrativa (logrotaté)
- Scripts de manutenção de sistema com limpeza programada
level: high
fields:
- CommandLine
- User
- ParentImage
```
### Regra Sigma - Limpeza de journald
```yaml
title: Limpeza Agressiva do systemd Journal
id: f6a7b8c9-d0e1-2345-fabc-678901234567
status: experimental
description: >
Detecta uso de journalctl com flags de limpeza --vacuum-time ou --vacuum-size
com valores extremamente pequenos, indicando tentativa de apagar todo o journal.
references:
- https://attack.mitre.org/techniques/T1070/002
author: RunkIntel
daté: 2026-03-25
tags:
- attack.defense_evasion
- attack.t1070.002
logsource:
category: process_creation
product: linux
detection:
selection_vacuum:
Image|endswith: '/journalctl'
CommandLine|contains:
- '--vacuum-time=1s'
- '--vacuum-time=1m'
- '--vacuum-size=1'
- '--rotaté'
selection_stop_journal:
Image|endswith:
- '/systemctl'
CommandLine|contains: 'systemd-journald'
CommandLine|contains: 'stop'
condition: selection_vacuum or selection_stop_journal
falsepositives:
- Administradores gerenciando espaço em disco via journald
level: medium
```
### Regra Sigma - Remoção de Histórico de Shell
```yaml
title: Remoção de Histórico de Comandos Shell
id: a7b8c9d0-e1f2-3456-abcd-789012345678
status: experimental
description: >
Detecta tentativas de apagar o histórico de comandos shell,
frequentemente parte da fase de limpeza de uma intrusão (T1070.002).
references:
- https://attack.mitre.org/techniques/T1070/002
author: RunkIntel
daté: 2026-03-25
tags:
- attack.defense_evasion
- attack.t1070.002
logsource:
category: process_creation
product: linux
detection:
selection_history_clear:
CommandLine|contains:
- 'history -c'
- 'HISTFILE=/dev/null'
- 'HISTFILESIZE=0'
- 'unset HISTFILE'
selection_rm_history:
Image|endswith: '/rm'
CommandLine|contains:
- '.bash_history'
- '.zsh_history'
- '.sh_history'
condition: selection_history_clear or selection_rm_history
falsepositives:
- Usuários que gerenciam privacidade de histórico intencionalmente
- Ambientes efêmeros (containers, CI/CD) que limpam histórico por design
level: medium
fields:
- CommandLine
- User
- ParentImage
```
## Mitigação
| ID | Mitigação | Descrição | Eficácia |
|---|---|---|---|
| M1029 | [[m1029-remote-data-storage\|M1029 - Remote Data Storage]] | Encaminhar logs para um SIEM ou servidor syslog remoto em tempo real (syslog-ng, rsyslog, Fluentd). Logs remotos são inacessíveis ao adversário que comprometeu apenas o host local. | **Alta - Principal Controle** |
| M1022 | [[m1022-restrict-file-and-directory-permissions\|M1022 - Restrict File and Directory Permissions]] | Restringir permissões de escrita em `/var/log/` para root e grupo específico. Usar atributos imutáveis (`chattr +a` para append-only) nos arquivos de log críticos. | Média-Alta |
| M1041 | [[m1041-encrypt-sensitive-information\|M1041 - Encrypt Sensitive Information]] | Assinar logs criptograficamente ao serem gerados (ex: syslog com TLS + assinatura). Alterações retroativas em logs assinados são detectáveis mesmo que o arquivo original sejá comprometido. | Média |
| - | **Auditd com Regras de Integridade** | Configurar auditd para monitorar abertura de `/var/log/` em modo de escrita/truncamento por processos não-autorizados (logrotaté). Gera alertas antes da limpeza ser completada. | Alta |
| - | **Atributo append-only (chattr +a)** | `chattr +a /var/log/auth.log` impede truncamento e deleção - apenas append é permitido. Requer root para remover o atributo, adicionando uma barreira. | Alta |
| - | **WORM Logging (Write Once Read Many)** | Soluções de armazenamento WORM para logs em ambientes de alta criticidade garantem imutabilidade de longo prazo. | Muito Alta |
## Contexto Brasil/LATAM
### Regulatório: Obrigação de Retenção de Logs
A legislação e regulamentação brasileira impõe requisitos específicos de retenção de logs que tornam a limpeza de logs por adversários diretamente relevante ao contexto de compliance:
- **Marco Civil da Internet (Lei 12.965/2014):** Provedores de aplicação devem reter logs de acesso por 6 meses
- **Resolução CMN 4.893/2021 (BACEN):** Instituições financeiras devem manter logs de acesso e transações por período mínimo de 5 anos
- **LGPD (Lei 13.709/2018):** Logs relacionados ao tratamento de dados pessoais devem ser preservados para fins de accountability
- **Resolução CD/ANPD 15/2024:** Estabelece requisitos de segurança para controladores, incluindo manutenção de registros de acesso
A limpeza de logs por um adversário, portanto, pode constituir evidência adicional de violação regulatória por parte da organização afetada, caso não existam logs remotos que demonstrem os controles de segurança implementados.
### Campanha Salt Typhoon - Impacto em Telecomúnicações LATAM
A campanha [[g1045-salt-typhoon|Salt Typhoon]] documentada em 2024-2025, que comprometeu múltiplas operadoras de telecomúnicações, tem potencial impacto na LATAM dado que redes de telecomúnicações são globalmente interconectadas. Operadoras com peering internacional ou infraestrutura de trânsito que passe por países afetados (EUA, Europa) podem ter sido expostas a técnicas incluindo T1070.002. Operadoras brasileiras reguladas pela **Anatel** têm obrigação de notificar incidentes ao CERT.br e, em casos de impacto à prestação de serviço, à própria Anatel.
### Desafio de SOC: Ausência de Log Remoto
Uma das principais lacunas de segurança identificadas em organizações brasileiras de médio porte é a ausência de centralização de logs. Sem um SIEM ou servidor syslog remoto, a eficácia de T1070.002 é máxima: não há evidência forense recuperável após a limpeza. A implementação de [[m1029-remote-data-storage|M1029 - Remote Data Storage]] via solução de SIEM (Splunk, Elastic SIEM, Microsoft Sentinel) ou mesmo syslog simples para servidor dedicado é a mitigação de maior impacto e menor custo para endereçar esta técnica.
### Grupos com Atividade Regional
- [[g0139-teamtnt|TeamTNT]] comprometeu instâncias cloud de empresas brasileiras com servidores mal configurados - a técnica de limpeza de logs foi observada nestes ataques
- [[g0106-rocke|Rocke]] tem histórico de alvos de cloud em toda a América Latina, especialmente em provedores que hospedam ambientes de big data (Hadoop, Spark)
- Grupos de crime organizado financeiro que operam trojans bancários no Brasil frequentemente incluem scripts de limpeza de logs em seus payloads quando instalam backdoors em servidores comprometidos
## Referências
- [MITRE ATT&CK - T1070.002](https://attack.mitre.org/techniques/T1070/002)
- [CERT.br - Gestão de Logs](https://www.cert.br/docs/whitepapers/gestao-logs/)
- [BACEN - Resolução CMN 4.893/2021](https://www.bcb.gov.br/estabilidadefinanceira/resolução4893)
- [Mandiant - Salt Typhoon Telco Campaign](https://www.mandiant.com/)
- [Linux Auditd - Monitoring Log Tampering](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/security_guide/sec-understanding_audit_log_files)
**Técnicas Relacionadas:** [[t1070-indicator-removal|T1070]], [[t1070-003-clear-command-history|T1070.003]], [[t1562-001-disable-or-modify-tools|T1562.001]], [[t1564-013-bind-mounts|T1564.013]], [[t1005-data-from-local-system|T1005]], [[t1119-automated-collection|T1119]]
**Mitigações:** [[m1029-remote-data-storage|M1029]], [[m1022-restrict-file-and-directory-permissions|M1022]], [[m1041-encrypt-sensitive-information|M1041]]
**Threat Actors:** [[g1041-sea-turtle|Sea Turtle]], [[g0139-teamtnt|TeamTNT]], [[g1045-salt-typhoon|Salt Typhoon]], [[g0106-rocke|Rocke]]
**Malware Associado:** [[s1164-upstyle|UPSTYLE]], [[s1206-jumbledpath|JumbledPath]], [[s1016-macma|MacMa]], [[s0279-proton|Proton]]
---
*Fonte: [MITRE ATT&CK - T1070.002](https://attack.mitre.org/techniques/T1070/002)*