# T1053.002 - At (Agendamento de Tarefas via `at`)
## Técnica Pai
Esta é uma sub-técnica de [[Job]].
## Descrição
O utilitário `at` é uma ferramenta nativa presente em sistemas Windows, Linux e macOS que permite agendar a execução de comandos em um horário específico. Embora sejá amplamente conhecido como recurso legítimo de administração de sistemas, adversários exploram esse mecanismo para garantir a execução persistente ou pontual de código malicioso sem precisar de um processo interativo ativo.
No Windows, o `at` opera como uma interface de linha de comando para o Serviço de Agendador de Tarefas e exige que o usuário sejá membro do grupo local de Administradores. Apesar de técnicamente substituído pelo comando `schtasks` em versões mais recentes do Windows, o `at` ainda funciona em ambientes onde o serviço de agendamento está ativo. Além da execução direta, adversários podem acionar tarefas agendadas via `at` aproveitando a classe WMI `Win32_ScheduledJob`, o que torna a detecção mais difícil por mascarar a origem da chamada.
Em sistemas Linux e macOS, o comportamento é controlado pelos arquivos `at.allow` e `at.deny`. Se nenhum dos dois existir - condição comum em instalações padrão - apenas o superusuário pode usar o utilitário. Quando o `at.allow` está presente, somente usuários listados têm acesso; quando o `at.deny` está vazio, qualquer usuário pode agendar tarefas. Essa lógica de controle de acesso, quando mal configurada, abre espaço para escalonamento de privilégios.
A técnica é normalmente usada em conjunto com outras táticas do framework MITRE ATT&CK: para [[ta0003-persistence|Persistência]], agendando execuções recorrentes após o reinício do sistema; para [[ta0008-lateral-movement|Movimentação Lateral]], disparando comandos remotos em hosts comprometidos; e para [[ta0004-privilege-escalation|Escalonamento de Privilégios]], especialmente em Linux quando o binário `at` possui permissão de execução como superusuário via `sudo`.
**Contexto Brasil/LATAM:** Organizações brasileiras dos setores financeiro e de governo - alvos históricos de grupos como [[g0026-apt18|APT18]] e [[g0027-threat-group-3390|Threat Group-3390]] - frequentemente deixam o serviço de Agendador de Tarefas ativo em estações de trabalho sem monitoramento adequado. A combinação de ambientes Windows com controles de auditoria insuficientes torna o abuso do `at` via [[t1047-windows-management-instrumentation|WMI]] especialmente silencioso e difícil de identificar sem coleta de logs específicos de agendamento.
## Attack Flow
```mermaid
graph TB
A[Acesso Inicial / Credencial] --> B[Execução via at]
B --> C[Persistência Agendada]
C --> D[Movimentação Lateral]
D --> E[Execução de Payload]
```
## Como Funciona
**1. Preparação**
O adversário obtém acesso a uma conta com privilégios de administrador local (Windows) ou root/at.allow (Linux/macOS). Ele prepara o payload - um script, executável ou comando que desejá executar posteriormente.
**2. Execução**
O atacante agenda a tarefa usando o utilitário `at` diretamente ou, no Windows, via chamada WMI à classe `Win32_ScheduledJob` para dificultar a atribuição. A tarefa é configurada para rodar imediatamente, em horário específico, ou de forma recorrente.
**3. Pós-execução**
A tarefa é executada automaticamente pelo sistema operacional no horário definido, sem necessidade de interação ativa do atacante. Ferramentas como [[s0488-crackmapexec|CrackMapExec]] e malwares como [[s0233-murkytop|MURKYTOP]] utilizam esse mecanismo para persistência e execução remota.
**Exemplo - artefato de detecção:**
```bash
# Windows: tarefa agendada criada via linha de comando
at 23:00 /every:M,T,W,Th,F C:\Windows\Temp\payload.bat
# Windows Event Log: ID 4698 (tarefa criada), ID 4702 (tarefa modificada)
# Processo: svchost.exe > taskeng.exe ou taskhostw.exe
# Caminho suspeito: %TEMP%, %APPDATA%, pastas de usuário não-admin
```
## Detecção
**Fontes de dados:** Windows Event IDs 4698, 4699, 4702 (Task Scheduler); Sysmon Event ID 1 (Process Creaté); logs de auditoria Linux (`/var/log/syslog`, `/var/spool/at/`); monitoramento de chamadas WMI.
```yaml
title: Abuso do Utilitário at para Agendamento Malicioso
id: a3f2c1d0-7e84-4b29-9f11-cc2d3a5e8b70
status: experimental
description: Detecta uso do utilitário at para agendamento de tarefas fora de contexto administrativo padrão
logsource:
category: process_creation
product: windows
detection:
selection:
Image|endswith: '\at.exe'
CommandLine|contains:
- 'cmd'
- 'powershell'
- 'wscript'
- 'cscript'
- '\Temp\'
- '\AppData\'
condition: selection
falsepositives:
- Uso legítimo por administradores de sistemas em jánelas de manutenção
- Scripts de automação corporativa que utilizam at para scheduling
level: medium
tags:
- attack.execution
- attack.persistence
- attack.t1053.002
```
## Mitigação
| Mitigação | Recomendação Prática |
|-----------|---------------------|
| [[m1028-operating-system-configuration\|M1028 - Configuração do SO]] | Desabilitar o serviço `Task Scheduler` em estações que não necessitem de agendamento; restringir uso do `at` via GPO em ambientes Windows |
| [[m1047-audit\|M1047 - Auditoria]] | Habilitar auditoria de criação e modificação de tarefas agendadas (Event IDs 4698, 4699, 4702); revisar periodicamente tarefas agendadas em todos os hosts |
| [[m1018-user-account-management\|M1018 - Gerenciamento de Contas]] | Restringir o grupo local de Administradores; remover usuários desnecessários com permissão de agendar tarefas |
| [[m1026-privileged-account-management\|M1026 - Gerenciamento de Contas Privilegiadas]] | Aplicar princípio do menor privilégio; monitorar uso de `sudo at` em Linux e escalonamento via WMI no Windows |
## Threat Actors que Usam
- [[g0027-threat-group-3390|Threat Group-3390]]
- [[g0026-apt18|APT18]]
- [[g0060-bronze-butler|BRONZE BUTLER]]
## Software Associado
- [[s0488-crackmapexec|CrackMapExec]] - ferramenta de pós-exploração que automatiza agendamento via `at`
- [[s0233-murkytop|MURKYTOP]] - malware associado ao Threat Group-3390 que usa agendamento para persistência
---
*Fonte: [MITRE ATT&CK - T1053.002](https://attack.mitre.org/techniques/T1053/002)*